
大家是如何解决公司内的容器化部署的?
用开源的部署系统么?还是自己开发一个?
1 raaaaaar Oct 20, 2020 via Android 这本来就是运维的任务啊,如果在公司你个开发来搞这些,那肯定有问题。不说该不该学的问题。 |
2 prof Oct 20, 2020 想写个测试商城部署到云上还需要学 command,发现会的还是太少。加油 |
3 GM Oct 20, 2020 docker swarm + portainer,这是我发现的最简单好用的容器化部署方案了。对大部分小公司来说,k8s 过于复杂了。 |
4 simon1991 Oct 20, 2020 大公司找运维 小公司上宝塔() |
5 chogath Oct 20, 2020 阿里 ACK |
7 lbp0200 Oct 20, 2020 你说的是全栈工程师 |
8 usdc Oct 20, 2020 公司有公司的 不用管 自己想要部署需要自己研究 |
9 RockShake Oct 20, 2020 小公司能接触到,大公司职能分配太清楚了 |
10 eaonHHH Oct 20, 2020 你说的是全干工程师 |
11 hereIsChen Oct 20, 2020 宝塔+1 |
12 matrix67 Oct 20, 2020  |
13 gengzi Oct 20, 2020 jenkins + docker |
14 zunceng Oct 20, 2020 k8s 很复杂吗?只是使用的话挺简单的呀 |
15 tandaly Oct 20, 2020 rancher |
16 opengps Oct 20, 2020 我相反,一直做得小公司入门性质的工作,大公司里待着写模板化的代码,真没意思 |
17 optional Oct 20, 2020 via iPhone 有了 docker 运维不是个事,干净的系统加容器就好。 |
19 fangcan Oct 20, 2020 这个你不会也正常,因为你不负责这块 想解决这个问题,就是自己弄个产品就可以了 |
20 clf Oct 20, 2020 公司里自己部署东西容易被运维打和甩锅。 |
21 lavvrence Oct 20, 2020 现在后端都在学 K8s,写写 yaml 就能上线咯。 |
22 weer0026 Oct 20, 2020 小项目我自己 docker 部署,大项目公司 k8s 集群。 |
23 blessyou Oct 20, 2020 不存在的。 k8s + 白嫖 github aciton + 白嫖阿里云容器服务镜像仓库 完全可以自己弄一套 ci/cd 流程。我自己的网站就是这个方案部署的, 改代码开开心心的 commit, 等着 IM 的 deploy 通知 。 |
24 whileFalse Oct 20, 2020 emmmmm……这个问题我可能有点发言权…… 我是运维,我司有 100 个左右的微服务,大部分在 k8s 里,少部分直接部署在虚拟机上的 Tomcat 环境。 我司有 7 个测试环境。各个测试环境会共享数据库,并且每个环境不是完整的,很多环境只能用于部分业务的测试。 我最近一段时间的工作: 1. 写一个单机部署脚本,一键创建单机 k8s 环境和无状态中间件 2. 写一个数据导入脚本,一键部署空的数据库,并从 s3 下载备份文件,导入到数据库中 3. 一个很简单的构建部署一体化程序,简单的几步操作就可以部署全部 k8s 服务 4. 正在做 Tomcat 服务转 k8s 服务的工作。 以上工作的主要目的就是能很简单的启动一个几乎完整的环境。当然还有一些不会包含的组件,比如镜像仓库、配置中心等等。这是不是 LZ 想要的? |
25 chenshun0 Oct 20, 2020 阿里云 ACK 贵不到哪里去,消耗量大能大到哪里去,8C64G 几台 3 年才这么点钱,人力可比这点钱贵多力. |
27 cszchen Oct 20, 2020 docker-compose,或者希望更爽用 rancher |
28 xuanbg Oct 20, 2020 jenkins 用起来很简单,docker 简单做个镜像也很简单,ECS 也几乎不需要设置什么,就这点,学会了就能部署项目了呀 |
29 wangyzj Oct 20, 2020 让你忘记怎么部署是趋势 |
31 pierreorz Oct 20, 2020 rancher 啊。跟公司大小无关。还是要接触接触的,可以自己搞事 |
32 ghjacky Oct 20, 2020 中小型企业,包括外包项目,容器化部署平台,rancher 最适合,也是用的最普遍的 |
33 locoz Oct 20, 2020 via Android 没发现…反而一般公司运维还没我懂… |
34 blessyou Oct 20, 2020 via Android @2won4u123 我这个没办法那么快讲完。 你可以采用 docker swarm + portainer + github action +阿里云容器仓库 的方案 也能达到差不多的效果 |
36 ryd994 Oct 20, 2020 via Android 一个容器就觉得难,那我这些写内核的怎么办?离了公司连源代码都没有 |
37 jerryrib Oct 20, 2020 写这段代码的时候,只有上帝和我知道它是干嘛的。现在,只有上帝知道。 |
39 buffzty Oct 20, 2020 我们一般都是单机应用 前端: 创建新 tag 提交到 github,webhook -> jenkins. docker 构建,将生成文件上传到 oss 并根据版本备份. 将 index.html 复制到 web 目录 后端 api: 创建新 tag 提交到 github,webhook -> jenkins. docker 构建 新镜像. 停掉 api 容器,用 docker-compose 启动新容器 删除之前版本容器和镜像. 先后启动 2 个 api 容器,接口无缝升级. 后端基础容器: nginx redis mysql phpmyadmin. 环境变量全部在 jenkins 中. 现在开发体验很好.程序员只需要创 tag 过一会就会收到邮件通知. 这东西就第一次麻烦 后面都简单 |
40 gochat Oct 20, 2020 @buffzty 停掉 api容器,用 docker-compose 启动新容器,你怎么保证停掉的容器中所有请求都处理完成了,也许是 ing 状态呢。 按理应该先上新容器,再向老的容器发送退出信号,容器接收到退出信号,先发给应用程序,应用程序接收退出信号处理完请求队列里的请求,应用程序退出,负载均衡上摘除对应容器,在容器接收到退出信号的同时,按理说上层 lb 就不能在把请求转发到要下线的容器了,你仔细想想你这个是不是真正意义上的做到了无缝升级。 |
41 buffzty Oct 20, 2020 @gochat 我 api 是用 go 写的,接收到停止信号会等待所有 api 处理完成.有 5 秒超时. 并不是立即停止. 跟 nginx -s stop 一样的处理逻辑. 1 停,3 启动,2 停,4 启动,永远保证有一个容器在运行 还有问题吗 杠精 |
42 CoderGeek Oct 20, 2020 我现在一直保持自己本地的 docker 镜像 我自己的环境搞一份 哈哈哈 |
43 Yoock Oct 20, 2020 不敢用宝塔 |
45 threeEggs123 Oct 20, 2020 via Android git merge master -> webhook -> Jenkins -> docker file -> image repo -> ECS (ELB,DNS …) -> Canary deploy ->Replace old -> IM tool(release email)。大概就这些,顺序好像有点乱 |
47 sampeng Oct 21, 2020 via iPhone 不会部署自己代码?连怎么运行的逻辑都不知道。这跟运维有什么关系?研发最低限度要知道怎么在 docker 里面工作的。docker 运行在哪可以不用关心。这是最低底线了。连运行环境都不知道,如果是 java 系,严重怀疑你可能对虚拟机的理解也是很薄弱 |
48 imycc Oct 21, 2020 不会不知道,因为我是运维 hhhh 但是换了公司确实需要熟悉一下环境。不同的公司有不同的发布流程和发布系统,操作上肯定是要改变的。 朴素一点想,运行代码需要考虑代码+合适的 OS+软件依赖+代码库依赖+数据库等配套,很多东西其实云厂商都提供了,直接用起来就是。再之后再考虑如何利用 CI/CD 优化发布流程。 |
49 594duck Oct 21, 2020 via iPhone |
50 594duck Oct 21, 2020 via iPhone 看了一些很厉害的 docker 爱好者。 原来都是 2,3 个包,1,2 个 ecs 环境呀。 太好了,我已经看到在生产环境吃瘪的一脸扭曲的样子了 |
51 way2explore2 Oct 21, 2020 难道不是 15minutes to 2 hours 就学会了吗?即使之前不 pipeling ci/cd |
52 ericgui Oct 21, 2020 via iPhone You are just a tiny part of the whole system. |
53 buffzty Oct 21, 2020 项目不基本都是 数据库 缓存 web 服务器 这 3 个主要的包吗? 大多数项目一两个服务器还不够. qps 上去了 就用云数据库 云缓层. 部署一个应用难道还要把 运维的那一套全给你列出来 你在那装什么呢 yyr |
54 CallMeReznov Oct 21, 2020 羡慕楼上,我现在快要接手运维的项目全是开发自己布置的,我现在光看就不想接手,看到 7-8 种系统的时候杀了他们的心都有 |
55 qiumaoyuan Oct 21, 2020 没有啊 |
56 yuananf Oct 21, 2020 via Android aws 上用 cdk,写好代码之后一个命令能把架构都搭好,其它云用 pulumi |
57 xyooyx Oct 21, 2020 via iPhone 多捣腾自己的东西,整个流程就都会了 |
58 Cbdy Oct 21, 2020 via Android 简单应用 systemd 加一堆 shell 脚本,复杂应用 k8s |
59 dayeye2006199 Oct 21, 2020 可以用 paas,heroku. Digitalocean 的 app |
60 alexzhu592 Oct 21, 2020 @viator42 php 的项目,宝塔爽到飞起 |
61 aino Oct 21, 2020 我和 33 楼一致的想法....不会大家真不会吧... |
62 cheng6563 Oct 21, 2020 docker swarm 功能还是太缺失了。上 k3s 吧 |
63 keepfun Oct 21, 2020 不管是 php 还是 golang 还是 lua 我基本都能部署的起来 但是项目的别的附属的生态链 就费劲(虽然本地折腾过,但是和线上的还是有区别的)了 比如 elk grafada 的画图 |
64 kiddingU Oct 21, 2020 jenkins + k8s 完成部署,同时用 rancher |
65 jzphx Oct 21, 2020 阿里云 flow 打包+执行脚本,机器上把可执行 jar 包配置成 service |
66 lululau Oct 21, 2020 学那么多技术有个鸟用,技术再好 35 岁一样被淘汰,不如学点吹牛逼拍马屁的真本事 |
67 KuroNekoFan Oct 21, 2020 之前我碰到过有同事尝试用 tar 命令来解压 zip 文件的 |
68 zypy333 Oct 21, 2020 @Illusionary 公司新招的前端同事不知道怎么配置 IP,这正不正常 |
69 tairan2006 Oct 21, 2020 小公司自己部署不用 docker 不就是写几个脚本么 |
70 yaphets666 Oct 21, 2020 @zypy333 配置什么 IP? webpack-dev-server 的 IP? |
71 xiaoDevil Oct 21, 2020 @yaphets666 我猜测是配电脑的 IP 吧 |
72 arloor Oct 21, 2020 via iPad 那是你菜 |
73 wangbudong Oct 21, 2020 完了,我会,看来是我菜了 |
75 woodensail Oct 21, 2020 有没有发现写了好几年代码,如果离开公司连如何建设机房都不会? |
76 defunct9 Oct 21, 2020 @woodensail 一年换个机房 ,年年搬家 |
77 ReinerShir Oct 21, 2020 @blessyou 这一套和 k8s 有啥区别?哪个简单点? |
78 zypy333 Oct 22, 2020 @yaphets666 就他自己 win10 本上的 ip...说以前都是直接连上 wifi 就自动有网了 |
79 yaphets666 Oct 22, 2020 @zypy333 可能培训班出来的 不过问题不大 能干活就行 |