写点什么

如何用建木 CI 部署 k8s 资源

作者:Jianmu
  • 2022 年 1 月 07 日
  • 本文字数:1177 字

    阅读完需:约 4 分钟

如何用建木CI部署k8s资源

介绍

kubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的秘密武器----Borg 系统的一个开源版本,于 2014 年 9 月发布第一个版本,2015 年 7 月发布第一个正式版本。


kubernetes 的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,如今建木 CI 也支持使用节点来给 k8s 部署资源啦!!



定义资源文件

使用声明式配置方式往 k8s 上部署资源,首先我们的有一个资源文件,这里我们往名称为 hx 的 namespace 中配置 pod 控制器 Deployment,用此 Deployment 启动三台 nginx

apiVersion: apps/v1kind: Deploymentmetadata:name: pc-deploymentnamespace: hxspec:replicas: 3selector:  matchLabels:    app: nginx-podtemplate:  metadata:    labels:      app: nginx-pod  spec:    containers:    - name: nginx      image: nginx:1.17.1
复制代码

使用 kubectl-deploy 节点

查看宿主机资源状态

可以看到,目前的 hx 的 namespace 中空无一物

定义 pipeline 文件

使用 kubectl-deploy 节点在 k8s 上部署资源,节点官方地址在kubectl-deploy

使用 pipeline 定义 kubectl-deploy 节点的部署资源流程: 我们使用 git clone 节点将资源文件拉取下来,然后使用 kubectl-deploy 部署这个资源文件,具体配置如下:

name: k8s-deploy-resourcesdescription: k8s-deploy-resources的测试pip
pipeline: git_clone: type: "git_clone:1.2.0" param: remote_url: https://gitee.com/canon_xi/test.git username: xxxxxx password: xxxxxx k8s-deploy-resources: type: "kubectl_deploy:1.0.0" param: # k8s指令 command: apply # 资源文件路径 resource_file_path: ${git_clone.git_path}/nginx.yaml # 用于服务端证书认证的自签名CA根证书(对应kubeconfig文件的clusters.cluster.certificate-authority-data项) certificate_authority_data: ((k8s.certificate_authority_data)) # api-server的地址(对应kubeconfig文件的clusters.cluster.server项) server: ((k8s.server)) # base64加密后的客户端证书(对应kubeconfig文件的users.user.client-certificate-data项) client_certificate_data: ((k8s.client_certificate_data)) # base64加密后的客户端证书私钥(对应kubeconfig文件的users.user.client-key-data项) client_key_data: ((k8s.client_key_data))
复制代码

将节点跑起来

将 pipeline 配置到建木 CI 中,节点都准备好了,直接跑起来!



不多会就可以看见节点都跑完了



查看日志消息可知,资源已成功部署



再次查看宿主机资源状态

三台 nginx 已成功部署




本文为建木博主「Freedom」的原创投稿文章,转载请联系授权。


项⽬官⽹

项⽬托管

项⽬文档

在线体验

发布于: 刚刚阅读数: 2
用户头像

Jianmu

关注

国产开源CI/CD产品 2020.08.10 加入

建木持续集成平台基于建木,致力于为国内开发者与DevOps人员提供极致用户体验,提升开发、上线、运维的效率,让软件用户专注于提供业务价值。

评论

发布
暂无评论
如何用建木CI部署k8s资源