k8s 安装nfs_K8s--06 K8s数据持久化
生活随笔
收集整理的這篇文章主要介紹了
k8s 安装nfs_K8s--06 K8s数据持久化
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
K8s數(shù)據(jù)持久化
數(shù)據(jù)持久化 Volume介紹
Volume介紹:Volume是Pad中能夠被多個容器訪問的共享目錄Kubernetes中的Volume不Pad生命周期相同,但不容器的生命周期丌相關(guān)Kubernetes支持多種類型的Volume,并且一個Pod可以同時使用任意多個VolumeVolume類型包括:- EmptyDir:Pod分配時創(chuàng)建, K8S自動分配,當Pod被移除數(shù)據(jù)被清空。用于臨時空間等。- hostPath:為Pod上掛載宿主機目錄。用于持久化數(shù)據(jù)。- nfs:掛載相應(yīng)磁盤資源。1.EmptyDir實驗
EmptyDir實驗cat >emptyDir.yaml <> /data/busybox/index.html;sleep 3;done"] volumes: - name: cache-volume emptyDir: {}EOF2.hostPath實驗
hostPath實驗1.發(fā)現(xiàn)的問題:- 目錄必須存在才能創(chuàng)建- POD不固定會創(chuàng)建在哪個Node上,數(shù)據(jù)不統(tǒng)一2.type類型說明https://kubernetes.io/docs/concepts/storage/volumes/#hostpathDirectoryOrCreate 目錄不存在就自動創(chuàng)建Directory 目錄必須存在FileOrCreate 文件不存在則創(chuàng)建File 文件必須存在3.根據(jù)Node標簽選擇POD創(chuàng)建在指定的Node上方法1: 直接選擇Node節(jié)點名稱apiVersion: v1kind: Podmetadata: name: busybox-nodenamespec: nodeName: node2 containers: - name: busybox-pod image: busybox volumeMounts: - mountPath: /data/pod/ name: hostpath-volume command: ["/bin/sh","-c","while true;do echo $(date) >> /data/pod/index.html;sleep 3;done"] volumes: - name: hostpath-volume hostPath: path: /data/node/ type: DirectoryOrCreate 方法2: 根據(jù)Node標簽選擇Node節(jié)點kubectl label nodes node3 disktype=SSDapiVersion: v1kind: Podmetadata: name: busybox-nodenamespec: nodeSelector: disktype: SSD containers: - name: busybox-pod image: busybox volumeMounts: - mountPath: /data/pod/ name: hostpath-volume command: ["/bin/sh","-c","while true;do echo $(date) >> /data/pod/index.html;sleep 3;done"] volumes: - name: hostpath-volume hostPath: path: /data/node/ type: DirectoryOrCreate 4.實驗-編寫mysql的持久化deploymentapiVersion: apps/v1kind: Deploymentmetadata: name: mysql-dp namespace: defaultspec: selector: matchLabels: app: mysql replicas: 1 template: metadata: name: mysql-pod namespace: default labels: app: mysql spec: containers: - name: mysql-pod image: mysql:5.7 ports: - name: mysql-port containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: "123456" volumeMounts: - mountPath: /var/lib/mysql name: mysql-volume volumes: - name: mysql-volume hostPath: path: /data/mysql type: DirectoryOrCreate nodeSelector: disktype: SSD3.PV和PVC
PV和PVC1.master節(jié)點安裝nfsyum install nfs-utils -ymkdir /data/nfs-volume -pvim /etc/exports/data/nfs-volume 10.0.0.0/24(rw,async,no_root_squash,no_all_squash)systemctl start rpcbindsystemctl start nfsshowmount -e 127.0.0.12.所有node節(jié)點安裝nfsyum install nfs-utils.x86_64 -yshowmount -e 10.0.0.113.編寫并創(chuàng)建nfs-pv資源cat >nfs-pv.yaml <mysql-pvc.yaml <mysql-dp.yaml <總結(jié)
以上是生活随笔為你收集整理的k8s 安装nfs_K8s--06 K8s数据持久化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 儿子在部队受伤骨折领导慰问怎么样写感谢信
- 下一篇: 坦克驱动轮的钢材质