Helm模板安装及使用
安装Helm工具
1)创建Kubernetes集群服务
登录华为云网站,在华为云公有云平台上购买一个Kubernetes集群服务,购买单个master节点云服务器,给该云服务器绑定一个弹性公网EIP,设置防火墙的访问策略为允许访问所有,并在该Kubernetes集群服务中部署kubectl工具
2)安装Helm工具
使用CRT工具连接master节点的公网IP地址,通过用户名密码登录云服务器。接着使用连接工具将提供的Helm工具软件包上传到master节点/root目录,并解压。
[root@k8s-chinaskill-node1 ~]# ls
helm-v3.3.0-linux-amd64.tar.gz
[root@k8s-chinaskill-node1 ~]# tar -zxf helm-v3.3.0-linux-amd64.tar.gz
[root@k8s-chinaskill-node1 ~]# ls
helm-v3.3.0-linux-amd64.tar.gz linux-amd64
将解压出的Helm程序文件移动到master节点的系统目录/usr/bin/,这样就可以将Helm当作系统命令来使用。移动完成后,查询Helm工具版本信息。
[root@k8s-chinaskill-node1 ~]# mv /root/linux-amd64/helm /usr/bin/
[root@k8s-chinaskill-node1 ~]# helm version
version.BuildInfo{Version:"v3.3.0", GitCommit:"8a4aeec08d67a7b84472007529e8097ec3742105", GitTreeState:"dirty", GoVersion:"go1.14.7"}
3. 模板市场部署Nginx
1)上传模板
单击CCE集群K8S-chinaskill的名字,进入集群的管理界面,选择左侧菜单栏“运维→模板管理”
单击“上传模板”按钮,在弹出的对话框中单击“添加文件”按钮,选择提供的模板文件mychart-0.1.0.tgz
选中之后,单击“上传”按钮,完成mychart模板上传,可以看到“我的模板”中有了mychart模板
2)安装模板实例mychart
单击模板mychart的“安装”按钮,在弹框中填入名称nginx,命名空间默认选择default,版本默认为0.1.0。并修改该模板的service服务为使用NodePort模式,对外开放端口随机获取。配置完成后单击“安装”按钮
3)查看模板实例
单击“模板实例”选项卡,查看已经安装的模板实例按钮,可以看到安装成功的nginx模板实例
单击进入左侧菜单栏中的“工作负载”,可以在“无状态负载”列表中看到nginx模板实例生成的nginx-mychart工作负载
4)验证nginx模板实例
单击nginx-mychart工作负载名字进入该工作负载详情页面,单击查看“访问方式”
可以看到,安装的nginx实例的随机节点端口为30845,打开Google浏览器新标签页,输入地址http://CCE集群节点外网IP:30845,访问Nginx服务
4. Helm部署MariaDB集群服务
1)解压模板chart文件
使用CRT工具连接master节点,将提供的Helm模板chart包mariadb-7.3.14.tgz上传到master节点/root目录,并解压该chart包。
[root@k8s-chinaskill-node1 ~]# tar zxf mariadb-7.3.14.tgz
[root@k8s-chinaskill-node1 ~]# ls /root/mariadb
Chart.yaml files OWNERS README.md templates values-production.yaml values.schema.json values.yaml
2)配置MariaDB集群服务模板
使用vi命令编辑MariaDB模板文件values.yaml,在service的设置中,配置使用NodePort模式对MariaDB数据库服务进行访问,设置外部访问端口为32334。
[root@k8s-chinaskill-node1 ~]# vi /root/mariadb/values.yaml
… …
service:
## Kubernetes service type, ClusterIP and NodePort are supported at present
type: NodePort #修改端口属性为NodePort模式
# clusterIp:
# master: xx.xx.xx.xx
# slave: xx.xx.xx.xx
po rt: 3306
# 在下面添加NodePort配置
nodePort:
master: 32334
… …
继续设置MariaDB数据库root用户密码为chinaskill。
… …
rootUser:
## MariaDB admin password
## ref: https://github.com/bitnami/bitnami-docker-mariadb#setting-the-root-password-on-first-run
##
password: "chinaskill" # 配置密码为chinaskill
… …
继续设置该模板的MariaDB数据库集群中master节点和slave节点都仅使用空白文件目录,而不是PVC卷。
… …
master: # 找到master节点配置
… …
persistence:
## If true, use a Persistent Volume Claim, If false, use emptyDir
## enabled: false # 修改状态为false关闭的
… …
slave: # 找到slave节点配置
… …
persistence:
## If true, use a Persistent Volume Claim, If false, use emptyDir
## enabled: false # 修改状态为false关闭的
… …
设置完成后保存values.yaml文件并退出
3)创建MariaDB数据库服务
先检查修改后的Helm模板文件格式是否正确。
[root@k8s-master-node1 ~]# helm lint /root/mariadb/
==> Linting mariadb
1 chart(s) linted, 0 chart(s) failed
使用Helm工具通过模板文件创建MariaDB数据库集群服务,模板实例名称为mydb,默认在default命名空间部署。
[root@k8s-chinaskill-node1 ~]# helm install mydb /root/mariadb/
WARNING: This chart is deprecated
NAME: mydb
LAST DEPLOYED: Mon Oct 10 15:44:46 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
This Helm chart is deprecated
… …
4)查看MariaDB数据库集群服务
使用helm命令查看刚刚创建的模板实例mydb。
[root@k8s-chinaskill-node1 ~]# helm list
使用kubrctl管理命令查看mydb模板实例的Pod服务和SVC服务详情。
[root@k8s-chinaskill-node1 ~]# kubectl get pod
[root@k8s-chinaskill-node1 ~]# kubectl get svc
可以看到mydb模板实例数据库集群的主从节点都启动正常,也将主节点的数据库服务端口通过NodePort模式暴露。
5)验证MariaDB数据库集群服务
使用kubectl命令进入Pod服务mydb-mariadb-master-0中,在该容器中使用mysql命令查看数据库列表。
[root@k8s-chinaskill-node1 ~]# kubectl exec -it mydb-mariadb-master-0 /bin/bash
其中-h后为k8s-chinaskill-node1节点地址,端口号为配置的32334,root用户的密码为chinaskill。
可以看到数据库列表中有数据库my_database存在,说明该数据库集群确实是刚刚使用Helm工具创建的模板实例。
- 点赞
- 收藏
- 关注作者
评论(0)