Nacos Kubernetes 快速开始

March 30, 2026 · View on GitHub

这个快速开始手册是帮忙您快速在通过Nacos的Docker镜像,在Kubernetes中部署并使用 Nacos。

:::note

  • 快速开始旨在帮助您快速上手安装、部署及入门使用Nacos,本快速开始所生产出的Nacos服务为未开启客户端访问鉴权,建议仅在测试中使用,若在实际生产环境中部署,请部署开启鉴权,以避免存在安全性的风险。
  • 快速开始旨在帮助您快速上手安装、部署及入门使用Nacos,本快速开始为方便快速在kubernetes环境中部署Nacos,连接数据库时使用了默认的数据库配置,建议仅在测试中使用,在实际生产环境部署时,请务必修改部署的数据库配置信息,以避免存在安全性的风险。
  • Nacos定义为一个IDC内部应用组件,并非面向公网环境的产品,建议在内部隔离网络环境中部署,强烈不建议部署在公共网络环境。 :::

1. 环境准备

使用此快速开始方法进行Nacos安装及部署,需要安装Kubernetes

2. 下载 nacos-k8s 项目

git clone https://github.com/nacos-group/nacos-k8s.git
cd nacos-k8s

3. 快速启动

使用此方式快速启动,请注意这是没有使用持久化卷的,可能存在数据丢失风险:

3.1. 编辑部署配置文件, 添加鉴权相关配置

编辑/deploy/nacos/nacos-quick-start.yaml文件,添加如下3个环境变量:

  • NACOS_AUTH_TOKEN: Nacos 用于生成JWT Token的密钥,使用长度大于32字符的字符串,再经过Base64编码。
  • NACOS_AUTH_IDENTITY_KEY: Nacos Server端之间 Inner API的身份标识的Key,必填。
  • NACOS_AUTH_IDENTITY_VALUE: Nacos Server端之间 Inner API的身份标识的Value,必填。

如:

---
apiVersion: v1
kind: Service
metadata:
  name: nacos-headless
  ....

            - name: NACOS_SERVERS
              value: "nacos-0.nacos-headless.default.svc.cluster.local:8848 nacos-1.nacos-headless.default.svc.cluster.local:8848 nacos-2.nacos-headless.default.svc.cluster.local:8848"
            - name: NACOS_AUTH_TOKEN
              value: ${your_nacos_auth_secret_token}
            - name: NACOS_AUTH_IDENTITY_KEY
              value: ${your_nacos_server_identity_key}
            - name: NACOS_AUTH_IDENTITY_VALUE
              value: ${your_nacos_server_identity_value}
  selector:
    matchLabels:
      app: nacos

3.2. 执行快速开始脚本,启动Nacos

cd nacos-k8s
chmod +x quick-startup.sh
./quick-startup.sh

4. 验证Nacos服务是否启动成功

通过kubectl logs -f $pod_name命令,查看Nacos服务启动日志,如果看到如下日志,说明服务启动成功。

Nacos started successfully in xxxx mode. use xxxx storage

可以通过下列服务,快速检验Nacos的功能。

4.1. Nacos控制台页面

打开任意浏览器,输入地址:http://127.0.0.1:8080, 即可进入Nacos控制台页面。

注意:首次打开会要求初始化管理员用户nacos的密码。

4.2. 服务注册

curl -X POST 'http://127.0.0.1:8848/nacos/v3/client/ns/instance?serviceName=quickstart.test.service&ip=127.0.0.1&port=8080'

4.3. 服务发现

curl -X GET 'http://127.0.0.1:8848/nacos/v3/client/ns/instance/list?serviceName=quickstart.test.service'

4.4. 发布配置

# 登陆获取access token
curl -X POST 'http://127.0.0.1:8848/nacos/v3/auth/user/login' -d 'username=nacos' -d 'password=${your_password}'
# 使用access token,创建配置
curl -X POST 'http://127.0.0.1:8848/nacos/v3/admin/cs/config?dataId=quickstart.test.config&groupName=test&content=HelloWorld' -H "accessToken:${your_access_token}"

:::note 访问Admin API,默认需要使用access token, access token可通过POST /nacos/v3/auth/user/login接口获得 :::

4.5. 获取配置

curl -X GET 'http://127.0.0.1:8848/nacos/v3/client/cs/config?dataId=quickstart.test.config&groupName=test'

相关项目