Alibaba Nacos 學習(五):K8S Nacos搭建,使用nfs
Alibaba Nacos 學習(一):Nacos介紹與安裝
Alibaba Nacos 學習(二):Spring Cloud Nacos Config
Alibaba Nacos 學習(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服務註冊與發現
Alibaba Nacos 學習(四):Nacos Docker
Alibaba Nacos 學習(五):K8S Nacos搭建,使用nfs
準備環境
Centos7 192.168.50.21 k8s-master 2G
Centos7 192.168.50.22 k8s-node01 2G
Centos7 192.168.50.23 k8s-node02 2G
K8S叢集搭建參考 https://www.cnblogs.com/woxpp/p/11875547.html
master安裝好Git ,yum install git
master,node01,node02 安裝 nfs-utils
yum install nfs-utils
master,node01,node02新增nfs exports配置,為了解決後續的nfs報錯異常
/data/mysql-slave *(insecure,fsid=0,rw,async,no_root_squash) /data/mysql-master *(insecure,fsid=0,rw,async,no_root_squash) /data/nfs-share *(rw,fsid=0,sync,no_root_squash)
mysql-slave 資料庫從庫
mysql-master 資料庫主庫
nfs-share nocas檔案掛在目錄
後面的yml中會提到
master,node01,node02建立目錄
mkdir /data/mysql-slave mkdir /data/mysql-master mkdir /data/nfs-share
master 克隆程式碼
git clone https://github.com/nacos-group/nacos-k8s.git
克隆完成進入以下目錄
cd /opt/nacos-k8s/deploy/
1.nfs安裝
kubectl create -f nfs/rbac.yaml
kubectl create -f nfs/class.yaml
修改nfs/deployment.yaml IP配置
kubectl create -f nfs/deployment.yaml
檢視安裝狀態
kubectl get pod -l app=nfs-client-provisioner
2.mysql部署
cd /opt/nacos-k8s/deploy/mysql/
修改資料配置檔案ip
vi mysql-master-nfs.yaml
部署主庫
kubectl create -f mysql-master-nfs.yaml
修改存庫ip
vi mysql-slave-nfs.yaml
kubectl create -f mysql-slave-nfs.yaml
主從部署非常慢 耐心等待,如果報nfs相關的錯,重啟nfs即可
service nfs restart
3. 部署nacos
cd /opt/nacos-k8s/deploy/nacos/
kubectl create -f nacos-pvc-nfs.yaml
檢視訪問埠
kubectl get svc|grep nacos
檢視K8S叢集狀態
Failed to pull image "nacos/nacos-server:latest": rpc error: code = Unknown desc = context canceled
進去對應節點機器 ,拉取映象後,重新應用即可
kubectl apply -f
4. 部署問題
部署過程中大部分都是NFS問題
可以參考https://blog.csdn.net/wuxinyicomeon/article/details/6292132
mount.nfs: No route to host
Warning FailedMount 100s (x5 over 10m) kubelet, node2 Unable to mount volumes for pod "nfs-client-provisioner-594f778474-whhb5_default(56aef93a-9d31-11e9-a4c4-00163e069f44)": timeout expired waiting for volumes to attach or mount for pod "default"/"nfs-client-provisioner-594f778474-whhb5". list of unmounted volumes=[nfs-client-root]. list of unattached volumes=[nfs-client-root nfs-client-provisioner-token-8dcrx]
修改deployment.yaml中server的IP地址為某個node節點的內網IP地址,圖1已標註
&n