谁能告诉我使用Jenkins在Kubernetes或EKS集群上部署应用程序的部署流程。如何根据docker镜像的更改更新部署文件。如果我们有多个部署文件,并且我们为其中任何一个更改了任何映像。他们都被重新部署了吗?
发布于 2020-11-15 00:09:02
确保您的Jenkins实例具有IAM角色并更新了kubeconfig,以便它可以访问Kubernetes集群。如果您考虑在Kubernetes集群上运行管道,那么Jenkins X或Tekton Pipelines可能是为Kubernetes设计的更好的替代方案。
如何根据docker镜像的更改更新部署文件。
将部署清单保存在版本控制中也是一个很好的做法,例如Git。这可以在同一个存储库中,也可以在单独的存储库中。若要在构建新镜像后更新镜像,请考虑使用yq。更新部署清单中的映像的示例yq
命令(一行):
yq write --inplace deployment.yaml 'spec.template.spec.containers(name==<myapp>).image' \
<my-registy-host>/<my-image-repository>/<my-image-name>:<my-tag-name>
如果我们有多个部署文件,并且我们为其中任何一个更改了任何映像,则使用
。他们都被重新部署了吗?
不,Kubernetes Yaml是声明性的,所以它“理解”更改了什么,并且只“驱动”必要的部署到它的“期望状态”--因为其他部署已经处于它的“期望状态”。
https://stackoverflow.com/questions/64810350
复制