如何用建木CI部署k8s资源
2022-01-06 Freedom
如何用建木CI部署k8s资源
作者:Freedom 发布时间:2022-01-06 16:00:00

介绍

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

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

草莓果酱 ox 双手点赞_果酱_点赞_ox表情-发表情

定义资源文件

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
apiVersion: apps/v1
kind: Deployment
metadata:
name: pc-deployment
namespace: hx
spec:
replicas: 3
selector:
matchLabels:
app: nginx-pod
template:
metadata:
labels:
app: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.17.1

狗勾踩住小鸡脚脚动图表情包_踩住_脚动表情-发表情

使用kubectl-deploy节点

查看宿主机资源状态

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

image-20220105173815010

定义pipeline文件

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
name: k8s-deploy-resources
description: 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: https://ip:port
# 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中,节点都准备好了,直接跑起来!

image-20220105174305380

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

image-20220105174318839

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

image-20220105172705712

再次查看宿主机资源状态

三台nginx已成功部署

image-20220105172940592

滑稽动图 - 滑稽动图表情包_滑稽_斗图表情-发表情