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'