Alibaba Nacos 学习 (一):Nacos 介绍与安装
Alibaba Nacos 学习 (二):Spring Cloud Nacos Config
Alibaba Nacos 学习 (三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现
Alibaba Nacos 学习 (四):Nacos Docker
准备环境
- 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 文件挂在目录
后面的 YAML 中会提到
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 问题
可以参考
- 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 已标注
来源: https://www.cnblogs.com/woxpp/p/11938086.html