「NACOS」- 安装 | 部署 | Kubernetes

版本选择

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 服务

第三步、部署 Nacos 服务

第四步、访问验证

补充说明

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
...