HELM的安装与使用

摘要:
描述:HELM官方网站:https://helm.sh/文档可以切换为中文。在Helm2中,Tiller主要用于管理Kubernetes集群中各种应用程序发布的版本。在Helm3中,Tiller被移除,版本相关数据直接存储在Kubernetes中。

说明:

  1. HELM的官方网站:https://helm.sh/,文档可以切换为中文
  2. 在Helm2中Tiller 主要用于在 Kubernetes 集群中管理各种应用发布的版本,在 Helm 3 中移除了 Tiller, 版本相关的数据直接存储在了 Kubernetes 中。所以在Helm中没有helm init的命令

以下为正文:

根据官网网站,ubuntu下安装的方式为:

curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
sudo apt-get install apt-transport-https --yes
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm

可以通过helm和helm version查看命令

再执行下面脚本让helm支持命令补全功能(输入完命令后按Tab键就会自动补全)

echo "source <(helm completion bash)" >>  ~/.bash_profile
#先添加常用的chart源
helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com  
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add aliyuncs https://apphub.aliyuncs.com

#查看chart列表
[root@master nginx]# helm repo list
NAME        URL                                                       
stable      https://kubernetes-charts.storage.googleapis.com          
incubator   https://kubernetes-charts-incubator.storage.googleapis.com
bitnami     https://charts.bitnami.com/bitnami                        
aliyuncs    https://apphub.aliyuncs.com 

 查找mysql的chart

helm search repo mysql
NAME                                    CHART VERSION   APP VERSION     DESCRIPTION
aliyuncs/mysql                          6.8.0           8.0.19          Chart to create a Highly available MySQL cluster
aliyuncs/mysqldump                      2.6.0           2.4.1           A Helm chart to help backup MySQL databases usi...
aliyuncs/mysqlha                        1.0.0           5.7.13          MySQL cluster with a single master and zero or ...
aliyuncs/prometheus-mysql-exporter      0.5.2           v0.11.0         A Helm chart for prometheus mysql exporter with...
bitnami/mysql                           8.8.12          8.0.27          Chart to create a Highly available MySQL cluster
aliyuncs/percona                        1.2.0           5.7.17          free, fully compatible, enhanced, open source d...
aliyuncs/percona-xtradb-cluster         1.0.3           5.7.19          free, fully compatible, enhanced, open source d...
aliyuncs/phpmyadmin                     4.2.12          5.0.1           phpMyAdmin is an mysql administration frontend
bitnami/phpmyadmin                      8.2.18          5.1.1           phpMyAdmin is an mysql administration frontend
aliyuncs/mariadb                        7.3.9           10.3.22         Fast, reliable, scalable, and easy to use open-...
aliyuncs/mariadb-galera                 0.8.1           10.4.12         MariaDB Galera is a multi-master database clust...
bitnami/mariadb                         9.7.0           10.5.12         Fast, reliable, scalable, and easy to use open-...
bitnami/mariadb-cluster                 1.0.2           10.2.14         DEPRECATED Chart to create a Highly available M...
bitnami/mariadb-galera                  6.0.3           10.6.4          MariaDB Galera is a multi-master database clust...

 下载mysql的chart到本地看看

$ helm pull aliyuncs/mysql --untar
$ tree mysql
locales-launch: Data of en_US locale not found, generating, please wait...
mysql
├── Chart.yaml
├── ci
│   └── values-production.yaml
├── files
│   └── docker-entrypoint-initdb.d
│       └── README.md
├── README.md
├── templates
│   ├── _helpers.tpl
│   ├── initialization-configmap.yaml
│   ├── master-configmap.yaml
│   ├── master-statefulset.yaml
│   ├── master-svc.yaml
│   ├── NOTES.txt
│   ├── secrets.yaml
│   ├── servicemonitor.yaml
│   ├── slave-configmap.yaml
│   ├── slave-statefulset.yaml
│   └── slave-svc.yaml
├── values-production.yaml
└── values.yaml

 安装mysql

$ helm install aliyuncs/mysql --generate-name
NAME: mysql-1635754710        # release的名字
LAST DEPLOYED: Mon Nov  1 08:18:30 2021
NAMESPACE: default            # namespace默认为default
STATUS: deployed              # 已经将chart部署到集群
REVISION: 1
TEST SUITE: None
NOTES:                        # NOTES显示的是release的使用方法
Please be patient while the chart is being deployed

Tip:

  Watch the deployment status using the command: kubectl get pods -w --namespace default

Services:

  echo Master: mysql-1635754710.default.svc.cluster.local:3306
  echo Slave:  mysql-1635754710-slave.default.svc.cluster.local:3306

Administrator credentials:    # 这里告诉你如何获取mysql的用户名和密码

  echo Username: root
  echo Password : $(kubectl get secret --namespace default mysql-1635754710 -o jsonpath="{.data.mysql-root-password}" | base64 --decode)

To connect to your database:  # 这里告诉你如何连接数据库

  1. Run a pod that you can use as a client:

      kubectl run mysql-1635754710-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.19-debian-10-r0 --namespace default --command -- bash

  2. To connect to master service (read/write):

      mysql -h mysql-1635754710.default.svc.cluster.local -uroot -p my_database

  3. To connect to slave service (read-only):

      mysql -h mysql-1635754710-slave.default.svc.cluster.local -uroot -p my_database

To upgrade this helm chart:  # 这里告诉你如何修改chart的默认配置

  1. Obtain the password as described on the 'Administrator credentials' section and set the 'root.password' parameter as shown below:

      ROOT_PASSWORD=$(kubectl get secret --namespace default mysql-1635754710 -o jsonpath="{.data.mysql-root-password}" | base64 --decode)
      helm upgrade mysql-1635754710 bitnami/mysql --set root.password=$ROOT_PASSWORD

在 Helm 3 中,则必须主动指定名称,或者增加 --generate-name 的参数

 查看执行结果

kubectl get pods
NAME                        READY   STATUS    RESTARTS   AGE
mysql-1635754710-master-0   0/1     Pending   0          3m15s
mysql-1635754710-slave-0    0/1     Pending   0          3m15s

 Pod是Pending状态,通过:kubectl describe pod mysql-1635754710-master-0这个命令可以看到是PersistentVolumeClaim相关的问题

 查看刚才安装的release

$ helm list
NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
mysql-1635840856        default         1               2021-11-02 08:14:17.004198481 +0000 UTC deployed        mysql-6.8.0     8.0.19

再卸载

$ helm uninstall mysql-1635840856
release "mysql-1635840856" uninstalled

helm基本操作

helm create xx 创建一个chart 
helm install chartxx 安装
helm uninstall chartxx 卸载
helm upgrade chartxx  更新
helm template 渲染
helm list 列出已经deploy的应用
helm reset 卸载helm 

 参考资料:

  1. 官方网站:https://helm.sh/
  2. helm 基本使用

免责声明:文章转载自《HELM的安装与使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何去掉Intellij IDEA过多的警告 设置警告级别ThinkPHP模板(一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL 日期与时间的处理

1.查询当前日期时间:函数有now(),localtime(),current_timestamp(),sysdate()。 mysql> select now(),localtime(),current_timestamp(),sysdate(); +---------------------+---------------------+--...

微信小程序中-折线图

echarts配置项太多了,还是一点点积累吧~~~~~ 当然前提条件还是得老老实实看echarts官方文档 :https://echarts.baidu.com/ 今天主要就介绍下我在工作中通过echarts实现的微信小程序的折线图 Demo地址:https://gitee.com/v-Xie/echartsDemo.git 效果嘛如下: 通过此图分析得...

MYSQL 数据库导入导出命令

在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 MySQL命令行导出数据库 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:Program FilesMySQLMySQL Server 4.1in (或者...

svn

SVN Unable to connect to a repository at URL (2012-10-16 15:48:56)转载▼ 标签: svn 缓存 杂谈 分类: SVN 背景: 1.SVN服务器:VisualSVN-Server-2.5.5; 2.SVN客户端:TortoiseSVN-1.7.6.22632-x64-svn...

centos7 下安装 mysql5.7

由于CentOS7的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。 下载命令:wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm 然后进行yum源的安装: rpm -ivh mysql57-community-release-e...

spring boot 操作MySQL pom添加的配置

1 在项目中的pom.xml配置文件添加依赖 <!--MySQL依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </depende...