1.使用命令安装MySQL helm install <自定义名字> <chart 的路径或仓库地址>
# 命令解释 helm install: Helm 的安装命令用于安装一个 chart。 mydb: 要创建的 release 的名称。 stable/mysql: 这是要安装的 chart 的路径或仓库地址。 [root@master01 /]# helm install mydb stable/mysql WARNING: This chart is deprecated NAME: mydb LAST DEPLOYED: Sun Jan 14 03:08:28 2024 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES: MySQL can be accessed via port 3306 on the following DNS name from within your cluster: mydb-mysql.default.svc.cluster.local To get your root password run: MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace default mydb-mysql -o jsonpath="{.data.mysql-root-password}" | base64 --decode; echo) To connect to your database: 1. Run an Ubuntu pod that you can use as a client: kubectl run -i --tty ubuntu --image=ubuntu:16.04 --restart=Never -- bash -il 2. Install the mysql client: $ apt-get update && apt-get install mysql-client -y 3. Connect using the mysql cli, then provide your password: $ mysql -h mydb-mysql -p To connect to your database directly from outside the K8s cluster: MYSQL_HOST=127.0.0.1 MYSQL_PORT=3306 # Execute the following command to route the connection: kubectl port-forward svc/mydb-mysql 3306 mysql -h ${MYSQL_HOST} -P${MYSQL_PORT} -u root -p${MYSQL_ROOT_PASSWORD}
2.可以看到打印了很多东西
# 进行安装,安装一个叫 mydb的数据库,可以看到打印了很多东西。 # 怎么获取mysql初始密码 # 怎么进行测试,我们可以进入到容器中测试 # 以及连接地址等等...
3.查看状态可以看到 Pod 状态都是 Pending 查看错误信息:提示PersistentVolumeClaims PVC没有绑定
[root@master01 /]# helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION mydb default 1 2024-01-14 03:08:28.45597546 -0800 PST deployed mysql-1.6.9 5.7.30 [root@master01 /]# [root@master01 /]# [root@master01 /]# kubectl get pod NAME READY STATUS RESTARTS AGE mydb-mysql-746cbdbff6-lcbkp 0/1 Pending 0 2m47s [root@master01 /]# [root@master01 /]# [root@master01 /]# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 28d mydb-mysql ClusterIP 10.111.49.66 <none> 3306/TCP 2m52s
总结:创建不出是因为没有绑定 PV 和 PVC ,下一节我们专门讲解一下存储。