介绍
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」的原创投稿文章,转载请联系授权。
项⽬官⽹
项⽬托管
项⽬文档
在线体验
评论