Helm模板安装及使用

举报
fxinyu 发表于 2024/11/07 23:08:58 2024/11/07
【摘要】 安装Helm工具1)创建Kubernetes集群服务登录华为云网站,在华为云公有云平台上购买一个Kubernetes集群服务,购买单个master节点云服务器,给该云服务器绑定一个弹性公网EIP,设置防火墙的访问策略为允许访问所有,并在该Kubernetes集群服务中部署kubectl工具2)安装Helm工具使用CRT工具连接master节点的公网IP地址,通过用户名密码登录云服务器。接着使...

安装Helm工具

1)创建Kubernetes集群服务

登录华为云网站,在华为云公有云平台上购买一个Kubernetes集群服务,购买单个master节点云服务器,给该云服务器绑定一个弹性公网EIP,设置防火墙的访问策略为允许访问所有,并在该Kubernetes集群服务中部署kubectl工具

2.png

3.png

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的名字,进入集群的管理界面,选择左侧菜单栏“运维→模板管理”

4.png

单击“上传模板”按钮,在弹出的对话框中单击“添加文件”按钮,选择提供的模板文件mychart-0.1.0.tgz

5.png

选中之后,单击“上传”按钮,完成mychart模板上传,可以看到“我的模板”中有了mychart模板

6.png

2)安装模板实例mychart

单击模板mychart的“安装”按钮,在弹框中填入名称nginx,命名空间默认选择default,版本默认为0.1.0。并修改该模板的service服务为使用NodePort模式,对外开放端口随机获取。配置完成后单击“安装”按钮

7.png

3)查看模板实例

单击“模板实例”选项卡,查看已经安装的模板实例按钮,可以看到安装成功的nginx模板实例

8.png

单击进入左侧菜单栏中的“工作负载”,可以在“无状态负载”列表中看到nginx模板实例生成的nginx-mychart工作负载

9.png

4)验证nginx模板实例

单击nginx-mychart工作负载名字进入该工作负载详情页面,单击查看“访问方式”

10.png

可以看到,安装的nginx实例的随机节点端口为30845,打开Google浏览器新标签页,输入地址http://CCE集群节点外网IP:30845,访问Nginx服务

11.png

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工具创建的模板实例。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。