ZBLOG

k8s yaml mysql挂载目录

在 Kubernetes 中,要将 MySQL 挂载到某个目录下,可以通过 YAML 文件来实现。具体步骤如下:

  1. 创建一个 PVC(Persistent Volume Claim),用于声明需要挂载的存储卷。例如,创建一个名为 mysql-pvc 的 PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

其中,accessModes 表示访问模式,这里采用 ReadWriteOnce,即只能被单个节点以读写方式挂载。resources.requests.storage 表示需要申请的存储空间大小。

  1. 创建一个 Deployment,用于部署 MySQL 实例。在 spec.template.spec.containers.volumeMounts 中设置挂载的目标路径,例如 /var/lib/mysql:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mysql
spec:
  selector:
    matchLabels:
      app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - name: mysql
          image: mysql:5.7
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: password
          ports:
            - containerPort: 3306
          volumeMounts:
            - name: mysql-data
              mountPath: /var/lib/mysql
      volumes:
        - name: mysql-data
          persistentVolumeClaim:
            claimName: mysql-pvc

其中,volumes 定义了挂载的卷,name 表示卷名称,persistentVolumeClaim.claimName 表示使用的 PVC 名称。containers.volumeMounts 定义了容器内部挂载的目录,name 表示卷名称,mountPath 表示目标路径。

  1. 应用 YAML 文件:
kubectl apply -f mysql.yaml
  1. 查看 Pod 信息:
kubectl get pod

可以看到 MySQL 的 Pod 已经处于运行状态。

  1. 连接 MySQL 数据库:

在应用程序中,使用以下命令连接 MySQL 数据库:

mysql -h <service-name> -u root -p

其中,service-name 是 Kubernetes 中定义的 Service 名称。这样就可以访问 MySQL 数据库,并将数据存储在已挂载的目录下。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1943

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?