<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=K8s_mysql_NFS_%E6%8C%81%E4%B9%85%E5%8C%96</id>
	<title>K8s mysql NFS 持久化 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=K8s_mysql_NFS_%E6%8C%81%E4%B9%85%E5%8C%96"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=K8s_mysql_NFS_%E6%8C%81%E4%B9%85%E5%8C%96&amp;action=history"/>
	<updated>2026-04-23T09:40:03Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=K8s_mysql_NFS_%E6%8C%81%E4%B9%85%E5%8C%96&amp;diff=522&amp;oldid=prev</id>
		<title>Evan：​/* see also */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=K8s_mysql_NFS_%E6%8C%81%E4%B9%85%E5%8C%96&amp;diff=522&amp;oldid=prev"/>
		<updated>2024-10-05T14:27:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;see also&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[category:k8s]] &lt;br /&gt;
=k8s mysql5.7 NFS 持久化=&lt;br /&gt;
==NFS==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@debian11:~# mkdir  -p /data/k8s/mysql57&lt;br /&gt;
root@debian11:~# chmod -R 0777  /data/k8s/mysql57&lt;br /&gt;
root@debian11:~# ls /data/k8s/mysql57&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== k8s yaml==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@k8s-master:~/mysql5.7# ls&lt;br /&gt;
pvc.yaml  pv.yaml  svc.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pv pvc 通过 storageClassName: nfs  关联&lt;br /&gt;
&lt;br /&gt;
 cat pv.yaml &lt;br /&gt;
apiVersion: v1&lt;br /&gt;
kind: PersistentVolume&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mysql57-pv-evan&lt;br /&gt;
spec:&lt;br /&gt;
  accessModes:&lt;br /&gt;
    - ReadWriteOnce     #指定访问模式&lt;br /&gt;
  capacity:&lt;br /&gt;
    storage: 1Gi    #存储容量 1G&lt;br /&gt;
  persistentVolumeReclaimPolicy: Retain   #回收策略 Retain 管理员手工回收 Recycle  &lt;br /&gt;
  #清除 PV 的数据  Delete  删除Storage Provider上的对应存储资源&lt;br /&gt;
  storageClassName: nfs   #指定PV 的class为nfs&lt;br /&gt;
  nfs:&lt;br /&gt;
    path: /data/k8s/mysql57   #PV在 NFS服务器上对应的目录&lt;br /&gt;
    server: 192.168.88.122   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cat pvc.yaml &lt;br /&gt;
kind: PersistentVolumeClaim&lt;br /&gt;
apiVersion: v1&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mysql57-pvc-evan&lt;br /&gt;
spec:&lt;br /&gt;
  accessModes:&lt;br /&gt;
    - ReadWriteOnce&lt;br /&gt;
  resources:&lt;br /&gt;
    requests:&lt;br /&gt;
      storage: 1Gi&lt;br /&gt;
  storageClassName: nfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 cat svc.yaml &lt;br /&gt;
kind: PersistentVolumeClaim&lt;br /&gt;
apiVersion: v1&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mysql-pvc-evan&lt;br /&gt;
spec:&lt;br /&gt;
  accessModes:&lt;br /&gt;
    - ReadWriteOnce&lt;br /&gt;
  resources:&lt;br /&gt;
    requests:&lt;br /&gt;
      storage: 1Gi&lt;br /&gt;
  storageClassName: nfs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apiVersion: v1&lt;br /&gt;
kind: Service&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mysql&lt;br /&gt;
spec:&lt;br /&gt;
  type: NodePort&lt;br /&gt;
  ports:&lt;br /&gt;
  - protocol: TCP&lt;br /&gt;
    nodePort: 30306&lt;br /&gt;
    port: 3306&lt;br /&gt;
    targetPort: 3306&lt;br /&gt;
  selector:&lt;br /&gt;
    app: mysql&lt;br /&gt;
---&lt;br /&gt;
apiVersion: apps/v1&lt;br /&gt;
kind: Deployment&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mysql&lt;br /&gt;
spec:&lt;br /&gt;
  selector:&lt;br /&gt;
    matchLabels:&lt;br /&gt;
      app: mysql&lt;br /&gt;
  template:&lt;br /&gt;
    metadata:&lt;br /&gt;
      labels:&lt;br /&gt;
        app: mysql&lt;br /&gt;
    spec:&lt;br /&gt;
      containers:&lt;br /&gt;
      - image: mysql:5.7&lt;br /&gt;
        name: mysql&lt;br /&gt;
        env:&lt;br /&gt;
        - name: MYSQL_ROOT_PASSWORD&lt;br /&gt;
          value: password&lt;br /&gt;
        ports:&lt;br /&gt;
        - containerPort: 3306&lt;br /&gt;
          name: mysql&lt;br /&gt;
        volumeMounts:&lt;br /&gt;
        - name: mysql-persistent-storage&lt;br /&gt;
          mountPath: /var/lib/mysql       #挂载目录&lt;br /&gt;
      volumes:&lt;br /&gt;
      - name: mysql-persistent-storage&lt;br /&gt;
        persistentVolumeClaim:&lt;br /&gt;
          claimName: mysql57-pvc-evan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
依次执行&lt;br /&gt;
&lt;br /&gt;
kubectl apply -f pv.yaml &lt;br /&gt;
  kubectl get pv &lt;br /&gt;
  kubectl apply -f pvc.yaml &lt;br /&gt;
 kubectl get pv,pvc&lt;br /&gt;
 kubectl apply -f svc.yaml &lt;br /&gt;
  kubectl get pod &lt;br /&gt;
  kubectl exec  -it mysql-58ddb8d7f6-bhps5 bash &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
root@k8s-master:~/mysql5.7# kubectl get pv,pvc&lt;br /&gt;
NAME                               CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS        CLAIM                      STORAGECLASS   REASON   AGE&lt;br /&gt;
persistentvolume/mysql-nfs-pv      2Gi        RWO            Retain           Terminating   default/mysql-nfs-pvc      nfs                     2d1h&lt;br /&gt;
persistentvolume/mysql-nfs-pv1     3Gi        RWO            Retain           Bound         default/mysql-nfs-pvc1     nfs                     33h&lt;br /&gt;
persistentvolume/mysql-pv          4Gi        RWX            Retain           Bound         default/mysql-claim        nfs                     36h&lt;br /&gt;
persistentvolume/mysql57-pv-evan   1Gi        RWO            Retain           Bound         default/mysql57-pvc-evan   nfs                     18s&lt;br /&gt;
persistentvolume/web-pv            2Gi        RWX            Retain           Bound         default/web-claim          nfs                     35h&lt;br /&gt;
&lt;br /&gt;
NAME                                     STATUS        VOLUME            CAPACITY   ACCESS MODES   STORAGECLASS   AGE&lt;br /&gt;
persistentvolumeclaim/mysql-claim        Bound         mysql-pv          4Gi        RWX            nfs            36h&lt;br /&gt;
persistentvolumeclaim/mysql-nfs-pvc      Terminating   mysql-nfs-pv      2Gi        RWO            nfs            2d1h&lt;br /&gt;
persistentvolumeclaim/mysql-nfs-pvc1     Bound         mysql-nfs-pv1     3Gi        RWO            nfs            33h&lt;br /&gt;
persistentvolumeclaim/mysql57-pvc-evan   Bound         mysql57-pv-evan   1Gi        RWO            nfs            6s&lt;br /&gt;
persistentvolumeclaim/web-claim          Bound         web-pv            2Gi        RWX            nfs            35h&lt;br /&gt;
root@k8s-master:~/mysql5.7# &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
node1ip 192.168.88.51&lt;br /&gt;
&lt;br /&gt;
root@k8s-master:~/mysql5.7# kubectl get svc&lt;br /&gt;
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE&lt;br /&gt;
mysql        NodePort    10.96.61.100   &amp;lt;none&amp;gt;        3306:30306/TCP   2d1h&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mysql -uroot -h192.168.88.51 -P30306 -p&lt;br /&gt;
 &lt;br /&gt;
 或者 kubectl exec  -it mysql-58ddb8d7f6-bhps5 bash&lt;br /&gt;
 &lt;br /&gt;
 mysql -uroot -ppassword&lt;br /&gt;
&lt;br /&gt;
create database evanmysq57;&lt;br /&gt;
&lt;br /&gt;
回来 nfs 看一下  &lt;br /&gt;
root@debian11:~# ls /data/k8s/mysql57/evanmysq57/&lt;br /&gt;
db.opt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=pod mysql 密码=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat po.yml &lt;br /&gt;
apiVersion: v1&lt;br /&gt;
kind: Pod&lt;br /&gt;
metadata:&lt;br /&gt;
  creationTimestamp: null&lt;br /&gt;
  labels:&lt;br /&gt;
    run: pod11&lt;br /&gt;
  name: mysqldb1&lt;br /&gt;
spec:&lt;br /&gt;
  terminationGracePeriodSeconds: 0&lt;br /&gt;
  containers:&lt;br /&gt;
  - image: m.daocloud.io/docker.io/library/mysql:5.7.25&lt;br /&gt;
    imagePullPolicy: IfNotPresent&lt;br /&gt;
    name: c1&lt;br /&gt;
    resources: {}&lt;br /&gt;
    env:&lt;br /&gt;
    - name: MYSQL_ROOT_PASSWORD&lt;br /&gt;
      value: mysql111&lt;br /&gt;
  dnsPolicy: ClusterFirst&lt;br /&gt;
  restartPolicy: Always&lt;br /&gt;
status: {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=mysql5.6=&lt;br /&gt;
和上次一样改了下 pv pvc image 名就行了&lt;br /&gt;
&lt;br /&gt;
=see also=&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/weixin_43925277/article/details/104313863  MySQL的持久化部署（k8s与NFS）]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/danny-djy/p/15948918.html  基于k8s的statefulset+pv安装mysql5.7主从集群 没成功]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>