V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Jony4Fun
V2EX  ›  程序员

后端转去做运维了,求提高效率的工具和技巧!

  •  
  •   Jony4Fun · 2 天前 · 5508 次点击

    情况

    • 公司有测试环境、staging 环境、生产环境(国内)、生产环境( AWS )
    • CICD 我一个人负责,现在只在测试环境上部署了
    • 大部分软件都是用 docker-compose + 挂载 jar 包/前端静态文件 的方式启动
    • 后端很多中间件连接之类的都是一长串写在配置文件里的,没有把中间件的 host 、port 等单独作为环境变量的形式暴露

    诉求

    鄙人属于差生文具多的类型,工具和技巧多多益善

    58 条回复    2025-06-06 09:39:01 +08:00
    hancai2
        1
    hancai2  
       2 天前
    既然定位差生文具多了, 那就 k8s 一把梭吧。
    defunct9
        2
    defunct9  
       2 天前
    你会死得很难看,因为 aws 的 eks 环境跟别家的不太一样。
    hancai2
        3
    hancai2  
       2 天前
    像我们公司很多私有化交互的项目, 也就 3-5 服务,也是 k8s 来一套,用了几年了,也没发现什么问题。
    有个银行客户,不让用 k8s ,我搞了个 docker-compose , 现在更新维护,感觉麻烦得一逼。
    loushizan
        4
    loushizan  
       2 天前
    按环境分配置文件,写脚本工具按不同环境生成 docker-compose 文件,挂载不同环境的配置文件
    datoujiejie221
        5
    datoujiejie221  
       2 天前
    配置文件可以用 apollo 统一管理,k8s ,promethues ,elk 都整起来
    cheng6563
        6
    cheng6563  
       2 天前
    windsurf ,是能用 vscode remote 连远程服务器的。此时 agent 跑的命令也是从服务器上跑,懂了吧...
    geekvcn
        7
    geekvcn  
       2 天前   ❤️ 1
    首先机房能不能用网,配置文件和日志有没有保密需求,没有保密需求能用网现在的 AI+日志能解决 90%的问题,没网有保密需求买个 AI MAX395 128GB 笔记本本地部署个模型,剩下 10%的问题就要靠经验了。AI 最先提高的就是计算机行业和绘画行业的生产效率,而且是辅助性不是直接替代的。

    因为 AI 本身就是基于广泛数据训练出来的经验公式,不能保证准确率但是能作为参考提供思路
    idblife
        8
    idblife  
       2 天前
    @defunct9
    没啥区别吧
    guanzhangzhang
        9
    guanzhangzhang  
       2 天前
    先看有数据备份没,有备份看看有恢复脚本没。没有就要做好
    然后再把每天关于运维的事情记录下来,后面看看怎么优化掉
    geekvcn
        10
    geekvcn  
       2 天前   ❤️ 1
    主要 AI 写运维脚本也很方便,以前写半天,现在几行需求文本给出去生成完稍微改下就行了,脚本个人私用不怕漏洞没运行效率的特性用 AI 再适合不过了
    defunct9
        11
    defunct9  
       2 天前
    @idblife 谁用谁知道
    linuxsir2020
        12
    linuxsir2020  
       2 天前
    倒反天罡啊。。。运维都想出坑了。。。
    wangxin3
        13
    wangxin3  
       2 天前
    用 docker compose 的话,你们多机器是怎么处理的,是不是还是要上 docker swarm
    TracyMagic
        14
    TracyMagic  
       2 天前
    @defunct9 #2 有什么不一样,说说看
    bronyakaka
        15
    bronyakaka  
       2 天前   ❤️ 2
    既然如此,推荐一下我写的 kafka 和 es 工具:

    https://github.com/Bronya0/Kafka-King

    https://github.com/Bronya0/ES-King
    defunct9
        16
    defunct9  
       2 天前
    @TracyMagic eks 的 alt lb 是很独特的,缺省设置不支持多个 ns 的 ingress 汇聚到一起,你敢改,立刻把 LB 给销毁重建了,导致你 DNS 记录失效。这还是简单的,valkey 不支持 wait ,redis-oss 只有 0 一个库。alertmanager 不支持 webhook ,其它还有很多...
    mightybruce
        17
    mightybruce  
       2 天前
    纯运维没有意思,现在运维都要求会开发,基本都是运维开发岗
    当你们说出 docker compose 这些 什么手动搞配置文件和 apollo 的时候,你们已经落后太多了。
    dropdatabase
        18
    dropdatabase  
       2 天前
    @defunct9 大佬每项细说下?
    idblife
        19
    idblife  
       2 天前
    @defunct9
    难怪我没遇到,你这些用法说实话有点前期规划失职了
    NewYear
        20
    NewYear  
       2 天前   ❤️ 1
    运维属于鄙视链底端了。

    薪酬也上不去,别转这个方向啊。
    Smilencer
        21
    Smilencer  
       2 天前 via iPhone
    运维比开发稳吧?开发动不动财源广进
    defunct9
        22
    defunct9  
       2 天前   ❤️ 1
    详细说的话,那不成了血泪控诉会了。最可怕的就是问 chatgpt ,它会根据 aws 的旧文档和网上大多数的文档,给你推导一个一本正经胡说八道的答案。
    dropdatabase
        23
    dropdatabase  
       2 天前
    @defunct9 哎 相同的经历....
    TracyMagic
        24
    TracyMagic  
       2 天前
    @defunct9 #16 用 nginx ingress 替代 ALB ,redis 用 elasticcache ,能用托管尽量用托管。看你的评论大多数是兼容性问题。
    defunct9
        25
    defunct9  
       2 天前
    几百条 alb 的规则呢,你一条一条去捋?用的都是托管。最正经的答案就是只用 ec2 ,其它全手搓。
    perfectlife
        26
    perfectlife  
       2 天前
    遇到过用容器然后挂载 jar 包启动的公司,只能说这种方式烂的一笔,挂载 jar 包还干嘛用容器
    vincentWdp
        27
    vincentWdp  
       2 天前
    chatgpt o3 is all you need
    Jony4Fun
        28
    Jony4Fun  
    OP
       2 天前   ❤️ 1
    @perfectlife 开发连容器都搞不明白,躲在自己舒适区里只会打 jar 包呢( DOGE )
    perfectlife
        29
    perfectlife  
       2 天前
    @Jony4Fun 打 jar 包 也不该开发搞啊,cicd 打包构建,最终生成镜像,更新也更新镜像 tag ,而不是每次替换挂载的 jar 包
    bbao
        30
    bbao  
       2 天前
    k8s configmap 可以解决你的配置问题;测试环境随便他们玩,线上环境配置文件 运维维护,上线主要内容覆盖或者 service-ext.conf 读取覆盖,一个是需要架构支持,一个是动态更新,一个是文件覆盖。线上配置文件运维维护.
    sunwei0325
        31
    sunwei0325  
       2 天前
    CICD 不要跟我说什么 jenkins, 问就是 codebuild + helm + eks + ingress controller + alb + cloudfront + route53 + ECR + SSM + RDS + ElasticCache 一把梭. 监控不要跟我说什么 prometheus, alertmanager, loki, ELK, 问就是 Cloudwatch + SNS 一把梭
    struggle001
        32
    struggle001  
       2 天前
    @NewYear 上个班 鄙视这 鄙视那 累不累呢?没错我就是运维,打杂的,啥都干。啥都懂。啥都不精 哈哈哈
    adminhf
        33
    adminhf  
       2 天前
    aws 真的只能用 ec2 ,真的相当离谱
    spritecn
        34
    spritecn  
       2 天前
    @Jony4Fun 让开发搞明白了容器还要运维干啥
    NewYear
        35
    NewYear  
       2 天前   ❤️ 1
    @struggle001 #32

    我并没有鄙视运维。
    只是运维这岗位,学的东西多,做得杂,随时救急,然后又不可能为公司创收(持续且比较直观的创收)。

    也就是说你比程序员还博学,又要 24 小时待命,关键还要不断学新东西,出问题大家都觉得是你的锅。
    在大众的认知中,地位也不行。

    各方面对比下来,完全和开发没得比。
    linuxsir2020
        36
    linuxsir2020  
       2 天前
    @NewYear 运维都是花钱的。。。花的还不少,老板们基本都不喜欢 :)
    lanisle
        37
    lanisle  
       2 天前
    @NewYear 还是软化下气氛吧,属实不该提“鄙视链”。
    NewYear
        38
    NewYear  
       2 天前
    @struggle001 #32

    “啥都干。啥都懂。啥都不精 哈哈哈”
    再加一个,日常和各种大人物小人物对接工作。

    综合起来就是:很有当领导的潜质!哦也!
    NewYear
        39
    NewYear  
       2 天前
    @linuxsir2020 #36

    这样想不好。
    其实你只是花老板的钱,解决老板的问题,老板不喜欢花钱,甚至也不喜欢各部门的人,但是他想要运维,也需要大家。
    mightybruce
        40
    mightybruce  
       2 天前
    运维没几个能做到 SRE ,devops 运维开发就不用多说了,起码在这个 v 站上没几个人懂。
    wangyzj
        41
    wangyzj  
       2 天前   ❤️ 1
    纯运维不值钱
    就算时刻 devops+运维+sre 现在谁敢保证是稳的
    只能说运维这个行业需要经验,需要规划,需要管理,年龄小情绪不稳定,我一般都招 30 左右或者超上的
    技术其实只占 50%
    就开发能力来说要求不比纯开发要求低,还要求多样性
    对于广度和深度的持续更新还有高要求
    加油吧
    mightybruce
        42
    mightybruce  
       2 天前   ❤️ 1
    @NewYear 你对运维相关的岗位误解太多了吧,我猜你是业务为导向的公司。
    属于眼界太狭窄了,根本不知道基础设施运维的重要性
    专门的运维开发是基础设施岗,包含 k8s 源码级开发,各种运维平台,你可以去看看是什么样的要求,工资和地位都不低。
    维持的都是整个平台所有业务,出了问题都是 P0 事故,不是什么几十台服务器的小公司。
    NewYear
        43
    NewYear  
       2 天前
    重新仔细看了一下,我会错意了,理解错了主题,抱歉了,以上我的回复请当做我放屁。
    NewYear
        44
    NewYear  
       2 天前
    @mightybruce #42

    尊敬的网友,你的观点很棒,我非常认同。
    liuliancao
        45
    liuliancao  
       2 天前
    多问 deepseek 线上的事情多做 ab 方案 谨慎
    levelworm
        46
    levelworm  
       2 天前 via Android   ❤️ 2
    @NewYear #35
    运维我觉得有个重要优点是不用直接面对业务,这点我觉得比什么都好。
    struggle001
        47
    struggle001  
       1 天前
    Int100
        48
    Int100  
       1 天前 via iPhone
    @mightybruce 可怜的网络工程师在哪里,哈哈哈
    wangyzj
        49
    wangyzj  
       1 天前
    @mightybruce #42 哈哈哈,你说的都是对的
    不过实际上重视的老板确实不多
    所谓不出问题你是多余,出了问题是你的锅,你也多余
    giantreaper0
        50
    giantreaper0  
       1 天前
    argocd
    giantreaper0
        51
    giantreaper0  
       1 天前
    CI/CD 负责打镜像,然后使用 kustomize 修改 deployment.yml 的镜像版本号,最后 git 提交,发版的时候在 argocd 上点一下同步发布
    smilingsun
        52
    smilingsun  
       1 天前 via Android
    代码继续写起来,IaC 选项:Terraform ,AWS CDK ,Pulumi 等等。
    abolast
        53
    abolast  
       1 天前
    @NewYear 我可不认为运维不是程序员,至少我作为运维,能用于写程序的语言有 3 门,能了解并修改 bug 的语言两只手数不过来。programmer 里面的程序啥意思知道吧,就是跟程序打交道的都是程序 er 。
    程序员的基本素养就是快速学会一门新的 cs 技术并解决当前问题,只有符合这一点才能算一个合格的程序员,并不是根据什么方向来的。我见过测试也写代码的,运维写代码也同样不奇怪
    hancai2
        54
    hancai2  
       1 天前
    @giantreaper0 一直像用 argocd ,但是看着 jenkins 上面 2000+流水线,懒得动了
    lyuanxiang20
        55
    lyuanxiang20  
       1 天前
    看怎么互联,aws 海外可以聊聊
    COW
        56
    COW  
       1 天前
    说实话,国内现在做运维比开发难多了,没个几年实战经验搞不定的,要是只搞个 cicd 和 docker ,建议还是继续开发好了。现在的运维,要会 shell 、python 、golang 三种语言,要会 AWS 、阿里云,要懂架构、懂网络,里面坑多的是,搞得不专业不如不搞。要是让一个新人运维或者高级开发来搞都是一样的,不是胆子太大,就是胆子太小,就别说 prod 环境了,staging 环境估计都不敢让他动,。
    giantreaper0
        57
    giantreaper0  
       20 小时 49 分钟前
    @hancai2 jelinks 或者 gitlab ci 只是 CI ,跟 argoCD 的 CD 没有冲突
    nananqujava
        58
    nananqujava  
       10 小时 18 分钟前   ❤️ 1
    @levelworm #46 确实 我最不喜欢业务
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2633 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:57 · PVG 19:57 · LAX 04:57 · JFK 07:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.