代码之家  ›  专栏  ›  技术社区  ›  Jacob

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

  •  2
  • Jacob  · 技术社区  · 6 年前

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

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

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

    2 回复  |  直到 6 年前
        1
  •  2
  •   Robin Green    6 年前

    您可以使用 Kubernetes Helm 在称为舵图的可参数化模块中定义要加速的内容。对于nginx和postgresql等常见软件,有许多图表可用。这允许一种“基础架构即代码”的工作方式——以声明的方式指定您想要的内容,而不是使用脚本手动将集群从当前的任何状态转换到所需的状态,只需依靠Helm来为您做到这一点!这是一个很好的Helm用例。

        2
  •  0
  •   James Strachan    6 年前

    我们正在进行一个名为 Jenkins X 这是Jenkins基金会提议的一个子项目,旨在使用Jenkins管道和GitOps在Kubernetes上实现CI/CD的自动化,以跨环境进行推广。

    如果您想了解如何在Kubernetes上使用helm进行包管理,使用GitOps在环境之间进行升级,以及在Pull请求上预览环境,从而自动化多个环境中的CI/CD,您可能需要查看 my recent talk on Jenkins X at DevOxx UK 我在GKE上做了一个现场演示。虽然Jenkins X在 AWS, AKS and GKE and other kubernetes clusters too