使用 Kubernetes 和滴滴云 Docker 仓库构建 CI/CD 流水线

写在前面:《Kubernetes Tutorials》 系列文章旨在帮助您从入门到高阶逐步了解并掌握kubernetes技术栈的实操、理论和最佳实践。主题将包括 Docker 基础与实操Kubernetes 基础与实操基于 Kubernetes 的应用部署(工作负载版与集群版)基于 Kubernetes 的 CI/CDKubernetes 集群与应用监控Kubernetes 运维与最佳生产实践等,因为平时工作比较忙碌,尽量确保每周 1~3 篇相关文章,主题可能会比较随机,待全系列完成后再系统整理,尽情期待~ 天才都会三个神操作 Watching & Star & Fork

介绍

本文主要讲述使用 Rancher 构建好 Kubernetes 集群后,如何在 Kebernetes 集群中快速构全自动的 CI/CD 流水, 包括自动签出代码、执行代码、构建 Docker 镜像、将 Docker 镜像发布到仓库、从 Docker 仓库拉取镜像并部署到集群等。

为完成构建流水线本文还会用到以下组件:

  • Jenkins:管道的构建引擎。
  • Docker Registry:开箱即用,构建发布步骤的默认目标是内部 Docker 仓库。但是,您可以进行配置以推送到远程仓库。内部 Docker Registry 只能从群集节点访问,用户无法直接访问。镜像不会在管道的生命周期之后持久存在,并且只应在管道运行中使用。如果您需要在管道运行之外访问您的镜像,请推送到外部仓库。
  • Minio:Minio 存储用于存储管道执行的日志。

托管的 Jenkins 实例无状态地工作,因此不要担心其数据持久性。默认情况下,Docker Registry 和 Minio 实例使用临时卷,这对大多数用例来说都很好。如果要确保管道日志可以在节点故障中继续存在,则可以为它们配置持久卷。

目标

使用 Kubernetes 容器集群构建 CI/CD 自动流水线,包括自动签出代码、执行代码、构建镜像、发布到仓库、将应用部署到集群等。

本文中容器集群包含以下资源:

  • 1 个 Rancher Server 节点:用于部署 Rancher Server,通过该节点可以实现可视化多集群、跨云管理 Kubernetes 集群
  • 2 个 Etcd 节点:存储主控制节点和工作节点之间的任务调度等数据信息
  • 2 个控制 ( Controller ) 节点:部署 Kunbernetes 集群主控制节点,用于管理和监控 Kubernetes 其它的工作节点和存在状态信息。
  • 2 个工作 ( Worker ) 节点:部署 Kubernetes 集群的工作节点,用于运行容器化的应用。

注意:Etcd、Controller 和 Worker 节点均选择至少两台是为了模拟高可用控制节点和工作节点。配置推荐至少 2 核 CPU、4GB 内存、40GB 存储、2M 带宽,系统均为 Ubuntu 16.04 LTS。为达到更好的效果,本文创建的 5 台云服务器配置均为 4 核 CPU、8GB 内存、200GB 存储、5M 带宽,系统选择 Ubuntu 16.04 LTS。

为完成 CI/CD 流水间自动构建与部署的操作,您还需要一个示例代码库和用于存放 Docker 镜像的仓库:

您也可以使用 Docker 官方仓库Quay 或自建的私有仓库,

第一步:搭建 Kubernetes 集群

开始之前请确保已按上述目标中的资源要求准备好了服务器资源,可以是物理机、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值