我看到CI/CD系统,如GitLab CI/CD、BitBucket管道和CodeFresh CI/CD。这些看起来不错,但我想知道,为什么不在本地主机(然后使用rsync/scp上传映像)或者直接构建集群上构建容器映像,然后通过kubectl进行部署呢?这将避免使用构建服务和容器注册(我不想为此付费)。对于小团队来说,这似乎是可行的。我意识到它不像使用构建服务那么好,但除此之外,为什么不以这种方式运行部署呢?
发布于 2018-08-01 14:00:32
如果使用标准存储库设置,则不需要授予用户对节点的ssh访问权限,并且节点是相当可替换的:如果节点死亡(甚至云托管的节点有时也需要替换),如果它总是可以从Docker存储库中提取其内容,那么您就不需要做任何手工工作就可以启动新的节点。
至少我会设置(或支付)一个Docker存储库(或托管服务: Docker,quay.io,Google的GCR,Amazon的ECR,.)并编写一个构建脚本,其中docker build是映像,docker push是适当的地方,更新部署对象,kubectl apply是它。您不一定需要一个CI系统(但您可能想要一个;同样,您可以在云中购买一个)。
在非技术层面上,如果您设计并构建了一个涉及手动运行一系列命令的部署序列,特别是在一家小公司中,这将成为一个可维护性问题(您本人将花费大量时间反复运行这些命令,如果这些命令不能工作,您将不得不修复它)。
https://stackoverflow.com/questions/51632522
复制相似问题