在Jenkins中定义Kubernetes副本集/部署和服务

时间:2018-05-05 05:07:52

标签: jenkins kubernetes

我正在尝试使用Kubernetes和Jenkins实现CI / CD管道。现在我正在使用Jenkins文件,使用Docker Hub的SVN存储库来探索CI部分。将Docker映像推入注册表docker hub后,我需要将其部署到具有3个集群主机和15个工作机器/节点的Kubernetes集群中。

当我阅读部署到Kubernetes集群时,我有几个疑问:

Jenkins中的每个部署定义都是使用shell脚本进行写入。如果我需要为这些部署创建部署和服务,我如何在Jenkins中定义?我可以在哪里为ReplicaSet,部署和服务创建YAML / YML文件?我需要为此使用shell脚本吗?或者用其他任何方法?

2 个答案:

答案 0 :(得分:2)

您可以使用Kubernetes Helm在名为Helm charts的参数化模块中定义您想要启动的内容。许多图表可用于常见软件,如nginx和postgresql。这允许"基础设施作为代码"工作方式 - 以声明方式指定您想要的内容,而不是使用脚本手动将群集从其当前所处的任何状态进入所需状态,只需依靠Helm为您执行此操作即可!这是Helm的一个很好的用例。

答案 1 :(得分:0)

我们正在开发名为Jenkins X的开源项目,该项目是Jenkins基金会的一个拟议子项目,旨在使用Jenkins管道和GitOps在Kubernetes上自动化CI / CD以促进跨环境的推广。

如果您想了解如何使用helm进行包管理,在Kubernetes上使用多个环境自动执行CI / CD,使用GitOps进行环境之间的促销和使用Pull请求预览环境,您可能需要查看my recent talk on Jenkins X at DevOxx UK我在哪里进行在GKE上进行现场演示。虽然Jenkins X适用于AWS, AKS and GKE and other kubernetes clusters too