代码之家  ›  专栏  ›  技术社区  ›  rm.rf.etc

从本地主机将docker映像构建并部署到Kubernetes?

  •  0
  • rm.rf.etc  · 技术社区  · 7 年前

    我看到了CI/CD系统,如GitLab CI/CD、BitBucket管道和CodeFresh CI/CD。这些看起来不错,但我想知道,为什么不在本地主机上构建我的容器映像(然后使用 rsync / scp )或者直接在集群上构建,然后通过kubectl部署?这将避免使用构建服务和容器注册表(我不想为此付费)。对于小团队来说,这似乎是可行的。我意识到它不如使用构建服务好,但除此之外,为什么不这样运行部署呢?

    1 回复  |  直到 7 年前
        1
  •  0
  •   David Maze    7 年前

    如果你使用标准的存储库设置,你不需要给人们ssh访问这些节点的权限,而且这些节点是相当可替换的:如果一个节点死了(甚至云托管的节点有时也需要被替换),如果它总是可以从Docker存储库中提取它的内容,那么你不需要做任何手动工作来启动一个新的存储库。

    以非常低的Id设置(或支付)Docker存储库(或托管服务:Docker Hub、quay.io、Google GCR、Amazons ECR,…)并编写一个构建脚本 docker build 是个图像, docker push 把它放在适当的地方,更新部署对象,然后 kubectl apply 是的。你不一定 需要 一个CI系统(但是你可能想要一个;同样你可以在云端购买一个)。

    在非技术层面上,如果您设计并构建一个部署序列,需要手动运行一系列命令,特别是在一个小公司中,这将成为一个可维护性问题(您个人将花费大量时间反复运行这些相同的命令,如果不起作用,则必须进行修复)。

    推荐文章