Car*_*den 14 deployment kubernetes
我希望找到一种很好的方法来自动化从kubernetes集群上的代码到已部署应用程序的过程.
为了构建和部署我的应用程序,我需要首先构建docker镜像,标记它,然后将其推送到ECR.然后,我需要使用docker镜像的新标签更新我的deployment.yaml,并使用kubectl apply -f deployment.yaml运行部署.
这将在kubernetes集群上执行滚动部署,将pod更新为容器映像的新版本,一旦此部署完成,我可能需要执行其他特定于应用程序的操作,例如运行数据库迁移或缓存清除/升温可能需要也可能不需要为给定部署运行.
我想我可以编写一个运行所有这些命令的shell脚本,并在我想要启动新部署时运行它,但我希望有一个更好/行业标准的方法来解决我错过的这些问题.
当我写这个问题时,我注意到stackoverflow推荐这个问题:Kubernetes Deployments.其中一个答案似乎暗示至少一些我正在寻找的东西即将推出kubernetes,但我想确保如果有一个更好的解决方案我现在可以使用,至少我知道它.
Bil*_*rin 21
我的同事有一篇关于这个主题的好博文:
http://blog.jonparrott.com/building-a-paas-on-kubernetes/
基本上,Kubernetes不是一个平台即服务,它是一个工具包,您可以在其上构建自己的平台即服务.设计并不是很自以为是,而是专注于解决调度,网络和协调容器等一些棘手的问题,并让您在其上层出您的意见.
自动化您正在描述的工作流的最简单方法之一是使用Makefile.
从此开始,您可以设计自己的微型PaaS,这是第一篇博文的作者在这里做的:
https://github.com/jonparrott/noel
或者,您可以参与更复杂的工作,在Kubernetes上构建开源PaaS,例如OpenShift:
或Deis,它正在Kubernetes上建立类似Heroku的平台:
或Redspread,正在构建"Git for Kubernetes集群":
还有许多其他人在Kubernetes之上构建PaaS的例子.但我认为,如果有一个"行业标准"方式部署到Kubernetes将是一段很长的时间,因为一半的目的是为不同的用例启用多个部署工作流程.
我想要注意的是,就构建容器图像而言,Google Cloud Container Builder可以是一个有用的工具,因为您可以在任何时候推送到可以部署的存储库时使用它来自动构建映像.另外,Jenkins是使用Kubernetes自动化CI/CD流程的流行方式.
| 归档时间: |
|
| 查看次数: |
2310 次 |
| 最近记录: |