alibaba-springcloud-nacos-server搭建
docker
- Clone project
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
- run Cluster
docker-compose -f example/cluster-hostname.yaml up
可以修改env/nacos-hostname.env的环境变量再run
k8s
- clone project
git clone https://github.com/nacos-group/nacos-k8s.git
Deploy NFS
- Create Role
kubectl create -f deploy/nfs/rbac.yaml
If your K8S namespace is not default, execute the following script before creating RBAC
# Set the subject of the RBAC objects to the current namespace where the provisioner is being deployed
$ NS=$(kubectl config get-contexts|grep -e "^\*" |awk '{print $5}')
$ NAMESPACE=${NS:-default}
$ sed -i'' "s/namespace:.*/namespace: $NAMESPACE/g" ./deploy/nfs/rbac.yaml
- Create ServiceAccount And deploy NFS-Client Provisioner
kubectl create -f deploy/nfs/deployment.yaml
- Create NFS StorageClass
kubectl create -f deploy/nfs/class.yaml
- Verify that NFS is working
kubectl get pod -l app=nfs-client-provisioner
Deploy database
- Deploy master
cd nacos-k8s
kubectl create -f deploy/mysql/mysql-master-nfs.yaml
- Deploy slave
cd nacos-k8s
kubectl create -f deploy/mysql/mysql-slave-nfs.yaml
- Verify that Database is working
# master
kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-master-gf2vd 1/1 Running 0 111m
# slave
kubectl get pod
mysql-slave-kf9cb 1/1 Running 0 110m
Deploy Nacos
- Modify deploy/nacos/nacos-pvc-nfs.yaml
data:
mysql.master.db.name: "db name"
mysql.master.port: "master db port"
mysql.slave.port: "slave db port"
mysql.master.user: "master db username"
mysql.master.password: "master db password"
- Create Nacos
kubectl create -f nacos-k8s/deploy/nacos/nacos-pvc-nfs.yaml
- Verify that Nacos is working
kubectl get pod -l app=nacos
NAME READY STATUS RESTARTS AGE
nacos-0 1/1 Running 0 19h
nacos-1 1/1 Running 0 19h
nacos-2 1/1 Running 0 19h