如何用建木CI部署k8s资源"/>
如何用建木CI部署k8s资源
介绍
kubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的秘密武器----Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。
kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。目的是实现资源管理的自动化,如今建木CI也支持使用节点来给k8s部署资源啦!!
定义资源文件
使用声明式配置方式往k8s上部署资源,首先我们的有一个资源文件,这里我们往名称为hx的namespace中配置pod控制器Deployment,用此Deployment启动三台nginx
apiVersion: apps/v1
kind: Deployment
metadata:name: pc-deploymentnamespace: hx
spec:replicas: 3selector:matchLabels:app: nginx-podtemplate:metadata:labels:app: nginx-podspec:containers:- name: nginximage: nginx:1.17.1
使用kubectl-deploy节点
查看宿主机资源状态
可以看到,目前的hx的namespace中空无一物
定义pipeline文件
使用kubectl-deploy节点在k8s上部署资源,节点官方地址在kubectl-deploy
使用pipeline定义kubectl-deploy节点的部署资源流程: 我们使用git clone节点将资源文件拉取下来,然后使用kubectl-deploy部署这个资源文件,具体配置如下:
name: k8s-deploy-resources
description: k8s-deploy-resources的测试pip
pipeline:
git_clone:type: "git_clone:1.2.0"param:remote_url: .gitusername: xxxxxxpassword: 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」的原创投稿文章,转载请联系授权。
项⽬官⽹:
项⽬托管:
项⽬文档:
在线体验:
更多推荐
如何用建木CI部署k8s资源
发布评论