k8s入门到实战(七)—— 回顾:使用yaml文件配置pv、pvc、configmap部署mysql服务

实战:部署 mysql 服务

回顾加深 pv、pvc、configmap

在这里插入图片描述

  1. 删除所有 deployment、pv、pvc、configmap、StorageClass
  2. 创建一个 nsf 挂载目录给 mysql
mkdir -p /nfs/data/mysql
  1. 创建 yaml 文件mysql-server.yaml
# 创建pv
apiVersion: v1
kind: PersistentVolume
metadata: 
  name: mysql-pv
spec:
  capacity:
    storage: 3Gi
  accessModes:
    - ReadWriteMany
  storageClassName: nfs
  nfs:
    path: /nfs/data/mysql
    server: 192.168.0.1
---
# 创建pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: nfs
---
# 创建 configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: mysql-config
data:
  mysql.cnf: |
    [mysqld]
    port=3306
    character-set-server=utf8mb4
---
# 创建一个mysql服务
apiVersion: v1
kind: Pod
metadata:
  name: mysql-pod
spec:
  containers:
    - name: mysql
      image: mysql:5.7
      env:
        - name: MYSQL_ROOT_PASSWORD
          value: "123456"
      ports:
        - containerPort: 3306
      volumeMounts:
        - mountPath: /var/lib/mysql
          name: data-volume
        - mountPath: /etc/mysql/conf.d
          name: conf-volume
  volumes:
    - name: conf-volume
      configMap:
        name: mysql-config
    - name: data-volume
      persistentVolumeClaim:
        claimName: mysql-pvc
  1. 执行 yaml 文件
[root@k8s-master k8s]# vi mysql-server.yaml
[root@k8s-master k8s]# kubectl apply -f mysql-server.yaml 
persistentvolume/mysql-pv created
persistentvolumeclaim/mysql-pvc created
configmap/mysql-config created
pod/mysql-pod created
  1. 启动成功后,查看 /nfs/data/mysql 下的文件
[root@k8s-master k8s]# kubectl get pod
NAME        READY   STATUS    RESTARTS   AGE
mysql-pod   1/1     Running   0          4s
[root@k8s-master k8s]# cd /nfs/data/mysql/
[root@k8s-master mysql]# ll
total 188476
-rw-r----- 1 polkitd input       56 Mar 26 22:01 auto.cnf
-rw------- 1 polkitd input     1680 Mar 26 22:01 ca-key.pem
-rw-r--r-- 1 polkitd input     1112 Mar 26 22:01 ca.pem
-rw-r--r-- 1 polkitd input     1112 Mar 26 22:01 client-cert.pem
-rw------- 1 polkitd input     1680 Mar 26 22:01 client-key.pem
-rw-r----- 1 polkitd input     1352 Mar 26 22:01 ib_buffer_pool
-rw-r----- 1 polkitd input 79691776 Mar 26 22:01 ibdata1
-rw-r----- 1 polkitd input 50331648 Mar 26 22:01 ib_logfile0
-rw-r----- 1 polkitd input 50331648 Mar 26 22:01 ib_logfile1
-rw-r----- 1 polkitd input 12582912 Mar 26 22:02 ibtmp1
drwxr-x--- 2 polkitd input     4096 Mar 26 22:01 mysql
drwxr-x--- 2 polkitd input     4096 Mar 26 22:01 performance_schema
-rw------- 1 polkitd input     1680 Mar 26 22:01 private_key.pem
-rw-r--r-- 1 polkitd input      452 Mar 26 22:01 public_key.pem
-rw-r--r-- 1 polkitd input     1112 Mar 26 22:01 server-cert.pem
-rw------- 1 polkitd input     1676 Mar 26 22:01 server-key.pem
drwxr-x--- 2 polkitd input    12288 Mar 26 22:01 sys

发现 nfs 挂载是没有问题的

  1. 进入容器内部,查看 configmap 挂载有没有问题
[root@k8s-master mysql]# kubectl exec -it mysql-pod /bin/bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@mysql-pod:/# cd /etc/mysql/conf.d/
root@mysql-pod:/etc/mysql/conf.d# ls
mysql.cnf
root@mysql-pod:/etc/mysql/conf.d# cat mysql.cnf 
[mysqld]
port=3306
character-set-server=utf8mb4

configmap 挂载有没有问题

相关推荐

  1. k8s使用yml文件部署

    2024-03-28 11:42:03       7 阅读
  2. k8sYAML文件详解

    2024-03-28 11:42:03       31 阅读
  3. K8S 哲学 - yaml文件

    2024-03-28 11:42:03       11 阅读
  4. k8s&&如何写yaml文件

    2024-03-28 11:42:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 11:42:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 11:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 11:42:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 11:42:03       20 阅读

热门阅读

  1. 网站建设服务器怎么选

    2024-03-28 11:42:03       20 阅读
  2. 函数 GetMemoryType 的理解

    2024-03-28 11:42:03       21 阅读
  3. linux进程切换

    2024-03-28 11:42:03       19 阅读
  4. 【C语言】RC4 测试代码

    2024-03-28 11:42:03       20 阅读
  5. el-upload上传文件前端自己读取excel

    2024-03-28 11:42:03       18 阅读
  6. uniapp H5 开发,公众号时请求跨域了,要用proxy

    2024-03-28 11:42:03       18 阅读
  7. Nginx服务

    2024-03-28 11:42:03       17 阅读
  8. Docker Compose 中的网络配置和优先级管理

    2024-03-28 11:42:03       22 阅读
  9. 无感刷新token

    2024-03-28 11:42:03       21 阅读
  10. CSS选择器 个人练习笔记

    2024-03-28 11:42:03       21 阅读