一、什么是k8s欢唾,k8s都有什么功能?
k8s是一個(gè)docker容器管理工具
二粉捻、k8s的核心功能
自愈: 重新啟動(dòng)失敗的容器匈辱,在節(jié)點(diǎn)不可用時(shí),替換和重新調(diào)度節(jié)點(diǎn)上的容器杀迹,對用戶定義的健康檢查不響應(yīng)的容器會(huì)被中止亡脸,并且在容器準(zhǔn)備好服務(wù)之前不會(huì)把其向客戶端廣播押搪。
彈性伸縮: 通過監(jiān)控容器的cpu的負(fù)載值,如果這個(gè)平均高于80%,增加容器的數(shù)量,如果這個(gè)平均低于10%,減少容器的數(shù)量
服務(wù)的自動(dòng)發(fā)現(xiàn)和負(fù)載均衡: 不需要修改您的應(yīng)用程序來使用不熟悉的服務(wù)發(fā)現(xiàn)機(jī)制,Kubernetes 為容器提供了自己的 IP 地址和一組容器的單個(gè) DNS 名稱浅碾,并可以在它們之間進(jìn)行負(fù)載均衡大州。
滾動(dòng)升級和一鍵回滾: Kubernetes 逐漸部署對應(yīng)用程序或其配置的更改,同時(shí)監(jiān)視應(yīng)用程序運(yùn)行狀況垂谢,以確保它不會(huì)同時(shí)終止所有實(shí)例厦画。 如果出現(xiàn)問題,Kubernetes會(huì)為您恢復(fù)更改滥朱,利用日益增長的部署解決方案的生態(tài)系統(tǒng)根暑。?
三、k8s的應(yīng)用場景
k8s最適合跑微服務(wù)架構(gòu)
3.1 k8s常用的資源
3.1.1 創(chuàng)建pod資源
k8s yaml的主要組成
? apiVersion: v1 api版本? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??kind: pod 資源類型? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??metadata: 屬性? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??spec: 詳細(xì)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
3.1.2 創(chuàng)建一個(gè)pod.yaml文件
pod配置文件2:
3.2.1? ReplicationController資源
ReplicationController資源 也叫rc資源
rc:保證指定數(shù)量的pod始終存活,rc通過標(biāo)簽選擇器來關(guān)聯(lián)pod
k8s資源的常見操作:
創(chuàng)建一個(gè)rc yaml文件
升級 kubectl rolling-update nginx -f nginx-rc1.15.yaml --update-period=10s
這個(gè)是rc的資源升級命令? ? ? ??--update-period=10s這個(gè)是10.秒更新一個(gè)pod資源
回滾 kubectl rolling-update nginx2 -f nginx-rc.yaml --update-period=1s
這個(gè)是回滾的命令淳地,如果升級的新版本有問題就馬上回滾到上個(gè)穩(wěn)定的版本中
3.3.1service資源
原理:kubernetes中,在受RC調(diào)控的時(shí)候帅容,pod副本是變化的颇象,對于的虛擬的ip地址也是變化的,比如發(fā)生遷移或者伸縮的時(shí)候并徘。這就是對于pod資源的訪問者來說是不可接受的遣钳,kubernetes中的service是一種抽象的概念,它的定義就是一個(gè)pod邏輯集合以及訪問的它們的策略麦乞,service同pod的關(guān)聯(lián)同樣是居于lable來完成的service的目標(biāo)的提供一種橋梁蕴茴,它會(huì)為訪問者提供一個(gè)固定訪問地址,用于在訪問時(shí)重定向到相應(yīng)的后端路幸,這使的非kubernetes原生態(tài)應(yīng)用程序荐开,在無須kubernetes編寫特定代碼的前提下,輕松訪問后端简肴。
service同rc一樣晃听,都是通過label來關(guān)聯(lián)的pod的,當(dāng)你在service的yaml文件中定義了該service的selector中的label為? ?app: myweb 砰识,那么這個(gè)service會(huì)將pod-->metadata-->label中為app:myweb 的pod就可以作為發(fā)請求后端能扒。當(dāng)pod發(fā)生變化時(shí)(增加,減少辫狼,重建等)初斑,service會(huì)及是更新的,這樣一來膨处,service就是可以作為pod的訪問入口见秤,起到代理的作用砂竖,而對于訪問者來說,通過service進(jìn)行訪問無需告狀pod資源鹃答。(需要注意的是乎澄,kubernetes是通過kube-proxy組件來實(shí)現(xiàn)的虛擬IP路由及轉(zhuǎn)發(fā)的,所以在之前集群部署的環(huán)節(jié)上测摔,我們在每個(gè)node上都部署了proxy這個(gè)組件置济,從而實(shí)現(xiàn)了kubernetes層的虛擬網(wǎng)絡(luò)轉(zhuǎn)發(fā))
service的內(nèi)部網(wǎng)絡(luò)負(fù)載均衡
? ? ?當(dāng)service的endpoints包含多個(gè)ip地址時(shí),及服務(wù)代理存在多個(gè)后端锋八,將進(jìn)行請求的負(fù)載均衡浙于。默認(rèn)的負(fù)載均衡策略是輪詢或者隨機(jī),同時(shí)挟纱,service上通過設(shè)置service--->spec--->sesionaffinity=clientip來實(shí)現(xiàn)基于源IP地址的會(huì)話保持
service自發(fā)機(jī)制
kubernetes中有一個(gè)重要的服務(wù)就是自發(fā)性羞酗,一旦一個(gè)service被創(chuàng)建,該service的service的ip和serviceponrt的資源等信息就會(huì)記錄到pod的資源中供它們使用
service幫助pod暴露端口
創(chuàng)建一個(gè)service
修改nodePort范圍
? ?vim /etc/kubernetes/apiserver? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?KUBE_API_ARGS="--service-node-port-range=3000-50000"
service默認(rèn)使用iptables來實(shí)現(xiàn)負(fù)載均衡, k8s 1.8新版本中推薦使用lvs(四層負(fù)載均衡)
3.4 deployment資源
kubernetes提供的一種更加簡單的更新rc和pod資源的機(jī)制樊销,叫做delpoyment整慎,通過deployment中描述所期望的集群狀態(tài)脏款,deployment 會(huì)將現(xiàn)在的集群狀態(tài)在一個(gè)可控的速度下琢步更新你所期望的集群狀態(tài)deployment 主要 的職責(zé)同樣是為了保證pod的數(shù)量和健康90%的功能與rc資源完全一樣围苫,可以看到新一代的rc,但是撤师,它又具備了rc之外的新特性:? ? ? ? ? ? ? ? ? ? rc的全部功能:deploument繼承了上面的描述的rc全部功能? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 事件和狀態(tài)查看:可以查看deployment的升級詳情進(jìn)度和狀態(tài)剂府。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 回滾:當(dāng)升級的pod鏡像或者相關(guān)參數(shù)時(shí)候發(fā)現(xiàn)問題,可以使用回滾的操作回滾到上一個(gè)穩(wěn)定的版本或者指定的版本? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?版本記錄:每一次deployment的操作剃盾,都可以保存下來腺占,給予后續(xù)可能回滾的使用? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?暫停和啟動(dòng): 對于每一次升級,都能夠隨時(shí)暫停和啟動(dòng)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?多種升級方案:刪除所有已存在的pod痒谴,重新創(chuàng)建新的衰伯,滾動(dòng)升級,琢步替換的策略积蔚,同時(shí)滾動(dòng)升級時(shí)意鲸,支持更多的附加參數(shù),例如設(shè)置最大的不可用pod數(shù)量尽爆,最小升級間隔離時(shí)間等等怎顾。
創(chuàng)建deployment
deployment升級和回滾? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 命令行創(chuàng)建deployment? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? kubectl run nginx --image=10.0.0.11:5000/nginx:1.13 --replicas=3 --record? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 命令行升級版本? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? kubectl set image deploy nginx nginx=10.0.0.11:5000/nginx:1.15? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看deployment所有歷史版本? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?kubectl rollout history deployment nginx? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? deployment回滾到上一個(gè)版本? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?kubectl rollout undo deployment nginx? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? deployment回滾到指定版本? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? kubectl rollout undo deployment nginx --to-revision=2??
4:k8s的附加組件
4.1 dns服務(wù)
安裝dns服務(wù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1:下載dns_docker鏡像包? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??wget http://192.168.12.201/docker_image/docker_k8s_dns.tar.gz ###這個(gè)包電腦里面有這個(gè)地址不能下載? ? ? ? ? ? ? ? ? ?2:導(dǎo)入dns_docker鏡像包(node2節(jié)點(diǎn))? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3:修改skydns-rc.yaml? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?4:創(chuàng)建dns服務(wù)? ? ? ? ? ? ###這些yaml文件都是本地寫好的上傳上去的? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?kubectl create -f skydns-rc.yaml? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?5:檢查? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??kubectl get all --namespace=kube-system? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 6:修改所有node節(jié)點(diǎn)kubelet的配置文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??vim /etc/kubernetes/kubelet? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?KUBELET_ARGS="--cluster_dns=10.254.230.254 --cluster_domain=cluster.local"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?systemctl restart kubelet? ? ? ?
4.2 namespace命令空間
namespace做資源隔離
?kubectl create namespace? ?&&&? ?###這個(gè)寫你要?jiǎng)?chuàng)建的名字? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?kubectl delete namespace ? &&&? ?### 這個(gè)寫你要?jiǎng)h除的名字? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?kubectl get namespace? ? ? ? ? ? ####查看你已經(jīng)創(chuàng)建的
4.3 健康檢查
4.3.1 探針的種類
? livenessProbe:健康狀態(tài)檢查,周期性檢查服務(wù)是否存活漱贱,檢查結(jié)果失敗槐雾,將重啟容器? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??readinessProbe:可用性檢查,周期性檢查服務(wù)是否可用幅狮,不可用將從service的endpoints中移除? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
4.3.2 探針的檢測方法
*?exec:執(zhí)行一段命令? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *? httpGet:檢測某個(gè) http 請求的返回狀態(tài)碼? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *??tcpSocket:測試某個(gè)端口是否能夠連接? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
4.3.3 liveness探針的exec使用
4.3.4 liveness探針的httpGet使用
4.3.5 liveness探針的tcpSocket使用
4.3.6 readiness探針的httpGet使用
4.4 dashboard服務(wù)
1:上傳并導(dǎo)入鏡像,打標(biāo)簽? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2:創(chuàng)建dashborad的deployment和service
3:訪問http://10.0.0.11:8080/ui/
4.5 通過apiservicer反向代理訪問service
5: k8s彈性伸縮
k8s彈性伸縮,需要附加插件heapster監(jiān)控
5.1 安裝heapster監(jiān)控
1:上傳并導(dǎo)入鏡像,打標(biāo)簽
ls *.tar.gz for n in ls *.tar.gz ;do docker load -i $n ;done docker tag? ?
docker.io/kubernetes/heapster_grafana:v2.6.0 10.0.0.11:5000/heapster_grafana:v2.6.0 docker tag? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? docker.io/kubernetes/heapster_influxdb:v0.5 10.0.0.11:5000/heapster_influxdb:v0.5 docker tag? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? docker.io/kubernetes/heapster:canary 10.0.0.11:5000/heapster:canary? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???2:上傳配置文件,kubectl create -f .? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???###這幾個(gè)文件在我自己電腦里面
3:打開dashboard驗(yàn)證?
5.2 彈性伸縮
1:修改rc的配置文件? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ###這幾個(gè)文件都是在我的電腦里面寫完上傳上去的
2:創(chuàng)建彈性伸縮規(guī)則
kubectl autoscale -n qiangge replicationcontroller myweb --max=8 --min=1 --cpu-percent=8? ##-n 是資源隔離的名字
3:測試
ab -n 1000000 -c 40 http://172.16.28.6/index.html? ?###那個(gè)ip地址不是是隨機(jī)不是是一樣的
彈性伸縮是指定適應(yīng)的負(fù)載變化株灸,以彈性可伸縮的方式提供資源。反映到kubernetes中擎值,指的是可根據(jù)負(fù)載均衡的高低動(dòng)態(tài)調(diào)整pod副本數(shù)量蚂且,調(diào)整pod的副本數(shù)就是通過修改pod的副本來實(shí)現(xiàn)的
6:持久化存儲(chǔ)
pv: persistent volume 全局的資源 pv,node
pvc: persistent volume claim 局部的資源(namespace)pod幅恋,rc杏死,svc
6.1:安裝nfs服務(wù)端(10.0.0.11)
yum install nfs-utils.x86_64 -y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mkdir /data? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?vim /etc/exports? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/data 10.0.0.0/24(rw,async,no_root_squash,no_all_squash)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?systemctl start rpcbind? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??systemctl start nfs
6.2:在node節(jié)點(diǎn)安裝nfs客戶端
yum install nfs-utils.x86_64 -y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?showmount -e 10.0.0.11
6.3:創(chuàng)建pv和pvc
上傳yaml配置文件,創(chuàng)建pv和pvc
6.4:創(chuàng)建mysql-rc,pod模板里使用volume
6.5: 驗(yàn)證持久化
驗(yàn)證方法1:刪除mysql的pod,數(shù)據(jù)庫不丟
kubectl delete pod mysql-gt054
驗(yàn)證方法2:查看nfs服務(wù)端,是否有mysql的數(shù)據(jù)文件