安装Helm

安装包地址:https://get.helm.sh/helm-v3.16.0-linux-amd64.tar.gz

将安装包上传至服务器解压

tar -xf helm-v3.16.0-linux-amd64.tar.gz

cd linux-amd64

image

helm移到/usr/local/bin/目录

mv helm /usr/local/bin/

image

执行helm help测试

image

添加仓库:helm repo add [仓库名称] [仓库地址]

Artifact Hub(核心查找平台)
地址:https://artifacthub.io/
说明:并非传统意义上的仓库,而是聚合了全球主流 Helm 仓库的搜索平台。
用途:可直接搜索目标应用(如 Nginx、MySQL)的 Chart,并获取对应的仓库地址,是日常使用的首选入口。

常用仓库:
Bitnami:https://charts.bitnami.com/bitnami
阿里云:https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
Rancher:https://charts.rancher.io
软件厂商仓库:
Nginx 官方仓库
地址:https://helm.nginx.com/stable
包含 Chart:nginx-ingress(Ingress 控制器)、nginx-service-mesh等。
MySQL 官方仓库
地址:https://charts.bitnami.com/bitnami(Bitnami 维护,MySQL 官方推荐)
包含 Chart:mysql、mariadb、percona等数据库相关应用。
Prometheus(监控)官方仓库
地址:https://prometheus-community.github.io/helm-charts
包含 Chart:prometheus、grafana、alertmanager等监控组件,是搭建监控系统的核心仓库。
Elasticsearch(日志 / 搜索)仓库
地址:https://helm.elastic.co
包含 Chart:elasticsearch、kibana、logstash等 ELK/ELASTIC Stack 组件。

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

查看已添加得仓库

image

安装mysql,搜索添加仓库中可安装得mysql版本

helm search repo mysql

image

安装

helm install my-mysql bitnami/mysql --version 9.4.0 --namespace my-middle

NAME: my-mysql
LAST DEPLOYED: Wed Oct 15 16:42:55 2025
NAMESPACE: my-middle
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: mysql
CHART VERSION: 9.4.0
APP VERSION: 8.0.30

** Please be patient while the chart is being deployed **

Tip:

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

Services:

  echo Primary: my-mysql.my-middle.svc.cluster.local:3306

Execute the following to get the administrator credentials:

  echo Username: root
  MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace my-middle my-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)

To connect to your database:

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

      kubectl run my-mysql-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.0.30-debian-11-r27 --namespace my-middle --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash

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

      mysql -h my-mysql.my-middle.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"

image

根据提示获取mysql root初始密码

kubectl get secret --namespace default my-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d

密码:ZgDggZty9A

查看安装得mysql

helm list --namespace my-middle

image

创建pv,因为安装k8s后没有创建pv,导致安装mysql报错

Warning  FailedScheduling  4m18s  default-scheduler  0/3 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling.
这个错误提示表明你的 Pod 无法被调度,因为它所引用的 PersistentVolumeClaim (PVC) 没有找到可用的 PersistentVolume (PV) 进行绑定。

image

# pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: test-pv  # PV的名称
spec:
  capacity:
    storage: 10Gi   # PV的存储容量
  accessModes:
    - ReadWriteOnce  # 访问模式:只能被单个节点以读写方式挂载
  persistentVolumeReclaimPolicy: Retain  # 回收策略:保留数据
  storageClassName: standard  # 存储类名称
  volumeMode: Filesystem
  hostPath:
    path: /data/  # 节点上的路径(仅用于测试,生产环境不推荐)

kubectl apply -f pv.yaml

kubectl get pv

image

修改mysql安装时创建得pvc

kubectl edit pvc data-my-mysql-0 -n my-middle

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
  creationTimestamp: "2025-10-15T08:42:55Z"
  finalizers:
  - kubernetes.io/pvc-protection
  labels:
    app.kubernetes.io/component: primary
    app.kubernetes.io/instance: my-mysql
    app.kubernetes.io/name: mysql
  name: data-my-mysql-0
  namespace: my-middle
  resourceVersion: "14465"
  uid: 8b3f03f4-a0a6-4db8-8ae8-d49e1972aaed
spec:
  accessModes:
  - ReadWriteOnce  # pv与pvc两者保持一致

  resources:
    requests:
      storage: 8Gi
  storageClassName: standard  # pv与pvc两者保持一致
  volumeMode: Filesystem # pv与pvc两者保持一致
  volumeName: test-pv # 添加创建得pv
status:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 10Gi
  phase: Bound

保存后查看pvc状态

kubectl get pvc -n my-middle

image

 

posted @ 2025-10-31 11:03  sxFu9528  阅读(10)  评论(0)    收藏  举报