首页 > 数据库 >Kubernetes部署MySQL5.7单机---NFS存储

Kubernetes部署MySQL5.7单机---NFS存储

时间:2023-09-15 19:12:32浏览次数:42  
标签:Kubernetes data MySQL5.7 MySQL --- nfs mysql bystart root

实验目的:

将MySQL5.7使用nfs持久化存储部署到Kubernetes集群中

nfs存储地址:

nfs.myit.icu

nfs存储配置:

临时测试---100G
安装nfs
yum install -y nfs-utils rpcbind
创建nfs存储目录
[root@nfs ~]#mkdir /data/nfsData -p
格式化磁盘
[root@nfs ~]#mkfs.ext4 /dev/vdb
挂载磁盘到nfs存储目录
[root@nfs ~]#mount /dev/vdb /data/nfsData/
设置硬盘开机自动挂载
[root@nfs ~]#vim /etc/fstab
/dev/vdb /data/nfsData ext4 defaults  
设置nfs存储目录权限
[root@nfs ~]#chmod -R 777 /data/nfsData/
进入到存储目录
[root@nfs ~]#cd /data/nfsData/
创建数据库存储目录
[root@nfs /data/nfsData]#mkdir Bystart_MySQL_5_7
设置nfs配置---生产最好设置一个B或者C或者单个IP,不要用*
[root@nfs ~]#vim /etc/exports
/data/nfsData *(rw,no_root_squash,no_all_squash,sync)
/data/nfsData/Bystart_MySQL_5_7 *(rw,no_root_squash,no_all_squash,sync)
设置开机自启并启动
[root@nfs ~]#systemctl enable rpcbind --now
[root@nfs ~]#systemctl enable nfs --now

注意:

K8s各节点请安装以下软件,来确保集群支持NFS

yum install -y nfs-utils rpcbind

创建yaml存放目录并进入

mkdir Bystart_MySQL_5_7 && cd Bystart_MySQL_5_7

创建MySQL PV资源清单

vim mysql57_pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: bystart-mysql-5-7-data-pv
spec:
  capacity:
    storage: 15Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /data/nfsData/Bystart_MySQL_5_7      #nfs共享目录
    server: nfs.myit.icu     #nfs服务器地址

创建MySQL PVC资源清单

vim mysql57_pvc.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: bystart-mysql-5-7-data-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi

创建MySQL Deployment资源清单---我们需要的镜像为:MySQL:5.7,为了部署顺利,可以提前在各节点下载该镜像

vim mysql57_deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: bystart-mysql-5-
spec:
  replicas: 
  template:
    metadata:
      labels:
        name: bystart-mysql
    spec:
      containers:
        - name: mysql
          image: mysql:5.7
          imagePullPolicy: IfNotPresent
          ports:
            - name: db
              containerPort: 
          env:
            - name: MYSQL_ROOT_PASSWORD
              value: "taozi.cn"  #数据库密码
          volumeMounts:
            - mountPath: /var/lib/mysql
              name: bystart-mysql-data
      volumes:
        - name: bystart-mysql-data
          persistentVolumeClaim:
            claimName: bystart-mysql-5-7-data-pvc
  selector:
    matchLabels:
      name: bystart-mysql

创建MySQL SVC资源清单

vim mysql57_svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: bystart-mysql-5-
spec:
  type: NodePort
  ports:
    - port: 
      targetPort: 
      nodePort: 
  selector:
    name: bystart-mysql

开始部署---这个文档没部署到指定命名空间下,如果生产环境,先创建命名空间,将资源部署到指定命名空间下即可!

[root@master1 ~/Bystart_MySQL_5_7]#kubectl create -f mysql57_pv.yaml
persistentvolume/bystart-mysql-5-7-data-pv created
[root@master1 ~/Bystart_MySQL_5_7]#kubectl create -f mysql57_pvc.yaml
persistentvolumeclaim/bystart-mysql-5-7-data-pvc created
[root@master1 ~/Bystart_MySQL_5_7]#kubectl apply -f mysql57_deployment.yaml
deployment.apps/bystart-mysql-5-7 created
[root@master1 ~/Bystart_MySQL_5_7]#kubectl create -f mysql57_svc.yaml
service/bystart-mysql-5-7 created

查看PV信息

root@master1 ~/Bystart_MySQL_5_7]#kubectl get pv
NAME                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
bystart-mysql-5-7-data-pv   15Gi       RWX            Retain           Available                                   4s

查看PVC信息

[root@master1 ~/Bystart_MySQL_5_7]#kubectl get pvc
NAME                         STATUS   VOLUME                      CAPACITY   ACCESS MODES   STORAGECLASS   AGE
bystart-mysql-5-7-data-pvc   Bound    bystart-mysql-5-7-data-pv   15Gi       RWX                           7s

查看Pod信息

[root@master1 ~/Bystart_MySQL_5_7]#kubectl get pods
NAME                                 READY   STATUS    RESTARTS   AGE
bystart-mysql-5-7-7556448d47-jj7dw   1/1     Running   0          43m
myapp-deploy-64d6d979b7-kpm7v        1/1     Running   0          30d
myapp-deploy-64d6d979b7-pblx8        1/1     Running   0          30d
myapp-deploy-64d6d979b7-tzlgt        1/1     Running   0          30d
nginx-dm-6c75d65c4b-g954p            1/1     Running   0          28d
nginx-dm-6c75d65c4b-m4hrz            1/1     Running   0          28d

查看svc信息

[root@master1 ~/Bystart_MySQL_5_7]#kubectl get svc
NAME                      TYPE           CLUSTER-IP      EXTERNAL-IP    PORT(S)                                     AGE
bystart-mysql-5-7         NodePort       10.105.79.87    <none>         3306:32306/TCP                              43m
kubernetes                ClusterIP      10.96.0.1       <none>         443/TCP                                     79d
myapp                     ClusterIP      10.96.44.160    <none>         80/TCP                                      29d
myapp-externalname        ExternalName   <none>          hub.myit.icu   <none>                                      29d
myapp-headless            ClusterIP      None            <none>         80/TCP                                      29d
myapp-nodeport            NodePort       10.97.28.150    <none>         80:30842/TCP                                29d
nginx-svc                 ClusterIP      10.97.94.6      <none>         80/TCP                                      28d
traefik-ingress-service   NodePort       10.107.183.78   <none>         80:31044/TCP,8080:30316/TCP,443:30362/TCP   79d

结果:

通过Master的IP加上端口,账户密码即可连接到数据库

在nfs存储服务器上查看数据

[root@nfs /data/nfsData/Bystart_MySQL_5_7]#ll
total 188476
-rw-r----- 1 polkitd input       56 Jan  2 16:20 auto.cnf
-rw------- 1 polkitd input     1676 Jan  2 16:20 ca-key.pem
-rw-r--r-- 1 polkitd input     1112 Jan  2 16:20 ca.pem
-rw-r--r-- 1 polkitd input     1112 Jan  2 16:20 client-cert.pem
-rw------- 1 polkitd input     1680 Jan  2 16:20 client-key.pem
-rw-r----- 1 polkitd input     1353 Jan  2 16:21 ib_buffer_pool
-rw-r----- 1 polkitd input 79691776 Jan  2 16:21 ibdata1
-rw-r----- 1 polkitd input 50331648 Jan  2 16:21 ib_logfile0
-rw-r----- 1 polkitd input 50331648 Jan  2 16:20 ib_logfile1
-rw-r----- 1 polkitd input 12582912 Jan  2 16:21 ibtmp1
drwxr-x--- 2 polkitd input     4096 Jan  2 16:20 mysql
drwxr-x--- 2 polkitd input     4096 Jan  2 16:20 performance_schema
-rw------- 1 polkitd input     1680 Jan  2 16:20 private_key.pem
-rw-r--r-- 1 polkitd input      452 Jan  2 16:20 public_key.pem
-rw-r--r-- 1 polkitd input     1112 Jan  2 16:20 server-cert.pem
-rw------- 1 polkitd input     1676 Jan  2 16:20 server-key.pem
drwxr-x--- 2 polkitd input    12288 Jan  2 16:20 sys
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。

标签:Kubernetes,data,MySQL5.7,MySQL,---,nfs,mysql,bystart,root
From: https://www.cnblogs.com/gaoyanbing/p/17705747.html

相关文章

  • 基于k8s的statefulset+pv安装mysql5.7主从集群
    前提假设:1.已安装k8s环境;2.因为我使用nfs作为pv存储介质,所以需要预先配置好nfs服务nfs安装可参考:https://blog.csdn.net/wudinaniya/article/details/81068518 步骤:1.规划mysql持久化文件在nfs中的存储路径;2.创建mysqlpv;3.创建mysql configmap;4.创建mysql service;5.......
  • 微星发布全新Z790及B760系列主板:支持下一代酷睿、Wi-Fi 7
    微星今日正式发布Z790MAX系列和B760M-ATX新品主板,其中包括MEG系列,MPG系列,MAG系列和PRO系列。据悉,Z790和B760主板与英特尔酷睿处理器下一代以及第13代和第12代处理器相适配,在上一代的基础上带来更高的性能加持和全新的外观设计。供电方面,微星Z790MAX系列主板从旗舰MEGZ790G......
  • 记录--H5页面对接微信支付踩坑杂记
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助背景应用背景:vite搭建的vue3项目需求背景:功能都涉及了支付业务,故需要和外部支付系统对接外部支付系统:聚合支付、微信小程序支付、微信H5支付目录读完本文,你将会对以下几个坑点有所了解:对接第三方服务商过......
  • Scrum敏捷开发管理流程,从产品路线图-需求-迭代-缺陷等
    ​Leangoo领歌是Scrum中文网(scrum.cn)旗下的一款永久免费的敏捷研发管理工具。Leangoo领歌覆盖了敏捷研发全流程,它提供端到端敏捷研发管理解决方案,包括小型团队敏捷开发,规模化敏捷SAFe,ScrumofScrums大规模敏捷,涵盖敏捷需求管理、任务协同、进展跟踪、缺陷管理、统计度量等。提......
  • xctf ics-05
     进来之后是一个工控云管理系统,左边一堆只有设备维护中心有跳转。  此时的url也发生了改变 没头绪,到处瞎点试一试 发现点了左上角的设备维护中心之后有变化,并且参数会显示出来。  修改参数发现始终会显示在页面下方 使用index.php,返回ok 尝试读取index.......
  • Kubernetes日志查看工具
    K8SFilebeat+ElasticSearch+Kibana虽然该组合可以满足我们对于服务监控的要求,但是如果只是部署一个内部单服务用的话,未免显得大材小用,而且部署服务还会带来大量的资源消耗。那么有没有简单查看 K8S 中多个 Pod 中的日志工具呢?咳咳咳,那么今天就介绍两款超好用的多容器实时......
  • Java---数组
    学完之后需要实现这两个问题:#生成六个1-33之间的随机数,要求不重复+特殊号码(生成彩票)#数组扩容:先定义一个十个长度的数组,写一个方法用于向数组里面存值,每次只存入一个,反复的调用存值的这个方法,当存入的值超过十个以后,数组长度自动扩充用于存放后面的数据。创建数组本质上还......
  • 无涯教程-JavaScript - INDIRECT函数
    描述INDIRECT函数返回由文本字符串指定的引用。如果您在Excel公式中键入引用B1,则Excel会理解这引用了单元格B1。但是,Excel无法将文本字符串"B1"理解为引用。因此,如果单元格引用采用文本字符串的形式,则需要使用INDIRECT函数将其转换为实际的单元格引用。立即判断引用以显......
  • vue大转盘旋转效果-停在随机定位的奖品处
    代码有点乱,给予vue写的,奖品可以自定义数量抽奖也是随机生成了奖品的下标,然后停在该下标的位置里面有个大转盘的背景图,自己随便找个圆形图片放上去就行了<!--这个案例大概实现了停止在初始位置,误差在±10度左右增加了奖品分布--><template><divclass="hello"><div......
  • uploads-lab2
    源代码:$is_upload=false;$msg=null;if(isset($_POST['submit'])){if(file_exists(UPLOAD_PATH)){if(($_FILES['upload_file']['type']=='image/jpeg')||($_FILES['upload_file']['type�......