基于Helm快速部署Mysql8

之前我们已在本地安装过helm,假设读者已事先安装好

1. 添加bitnami仓库

helm repo add bitnami https://charts.bitnami.com/bitnami

2. 编写install.sh

# 如果是第一次安装,则使用install, 如果安装过则upgrade
helm install mysql bitnami/mysql \
    --set image.tag=8.0 \
    --set auth.rootPassword=suanfaxiaosheng \
    --set mysqlUser=shenjian \
    --set mysqlPassword=suanfaxiaosheng \
    --set mysqlAllowEmptyPassword=false \
    --set mysqlRootAuthenticationPlugin=mysql_native_password \
    --set service.type=LoadBalancer

在窗口执行,Windows我是在Git窗口运行的多行命令,如果遇到错误,如下所示,则执行helm repo update更新Chart仓库即可

Error: no cached repo found. (try 'helm repo update'): open C:\Users\ADMINI~1\AppData\Local\Temp\helm\repository\bitnami-index.yaml: The system cannot find the file specified

3. 检验安装是否成功

部署状态查看,OK

$  kubectl get pods -w --namespace default
NAME      READY   STATUS    RESTARTS   AGE
mysql-0   1/1     Running   0          3m41s

创建验证客户端

# 密码修改为刚才设置的密码
kubectl run mysql-client --rm -it --restart='Never' --image docker.io/bitnami/mysql:8.0 --namespace default --env MYSQL_ROOT_PASSWORD=suanfaxiaosheng --command -- bash

输入密码后即可登录成功

mysql -h mysql.default.svc.cluster.local -u root -p

基于Helm快速部署Mysql8_第1张图片

到目前为止,只能在K8S集群中访问,如果本地Navicat访问的话需要改为NodePort[尝试过部署直接改为NodePort,未成功,如果你有好方法欢迎联系我更正]

4. 服务端口放开,供工具访问

# K8S端口范围30000-32767,请不要指定33306超过
kubectl patch service mysql --type='json' -p '[{"op": "replace", "path": "/spec/type", "value": "NodePort"}, {"op": "replace", "path": "/spec/ports/0/nodePort", "value": 31306}]'

服务查看

kubectl get services mysql

基于Helm快速部署Mysql8_第2张图片

你可能感兴趣的:(干货,mysql,helm,k8s)