版本选择
https://github.com/alibaba/nacos/releases
部署方式
on Kubernetes | with Helm Chart
https://github.com/ygqygq2/charts
https://artifacthub.io/packages/helm/ygqygq2/nacos
mysql.enabled: false | 我们使用独立的数据库服务,所以关闭该字段。
mysql.external: … | 配置我们的数据库信息
mysqlSlaveHost, mysqlSlavePort | 针对我们的部署环境,我们并无从库,所以我们将该字段置空。
通过 service.ports 参数,添加 grpc-xxx 来暴露 gRPC 端口。
on Kubernetes | with Manifest(废弃)
GitHub – alibaba/nacos
Nacos_配置 MySQL 数据库实现持久化
参考 nacos-k8s/README.md at master · nacos-group/nacos-k8s · GitHub 页面(官方文档落后与仓库版本)
第一步、部署存储服务
- 在集群中,我们部署存储类,所以后面的资源文件也和这个存储类有关,比如名为 nas-client-provisioner 的 StorageClass 将被使用。
- Kubernetes 存储已经超过该笔记讨论的内容,所以部署这里不再记录。
第二步、部署 MySQL 服务
- kubectl apply -f ./00-mysql-nfs.yaml
第三步、部署 Nacos 服务
- kubectl apply -f ./01-nacos-pvc-nfs.yaml
第四步、访问验证
- 当部署完成后,访问 https://naocs-web.example.com/nacos 管理界面,默认 nacos / nacos 帐号密码;
补充说明
- 我们是在 DokcerHub/nacos/nacos-server 找到指定数据库地址的环境变量:MYSQL_SERVICE_HOST
2.4.0 | on Kubernetes | with Helm Chart
https://artifacthub.io/packages/helm/ygqygq2/nacos
Cluster Mode
Helm Chart version 2.1.7
helm repo add ygqygq2 https://ygqygq2.github.io/charts/ helm repo update helm pull ygqygq2/nacos --version 2.1.7 helm show values ./nacos-2.1.7.tgz > nacos-2.1.7.tgz.helm-values.yaml vim nacos-2.1.7.tgz.helm-values.yaml ... nameOverride: nacos ... fullnameOverride: nacos ... image: ... global.storageClass: ... mysql.enabled: false ... mysql.external: ... statefulset.enable: true ... service.ports.grpc.port: 9848 ... service.ports.grpc.protocol: TCP ... ingress.enabled: ... ingress.ingressClassName: ... ingress.hostname: ... ingress.annotations: ... ingress.tls: true // 其将生成针对 hostname 的 TLS 配置 helm upgrade --install nacos ./nacos-2.1.7.tgz -f nacos-2.1.7.tgz.helm-values.yaml
暴露 gRPC 端口 | https://nacos.io/en-us/docs/v2/upgrading/2.0.0-compatibility.html
... service: ... ports: ... grpc: port: 9848 protocol: TCP ...