Nacos Kubernetes 快速开始
这个快速开始手册是帮忙您快速在通过Nacos的Docker镜像,在Kubernetes中部署并使用 Nacos。
1. 环境准备
使用此快速开始方法进行Nacos安装及部署,需要安装Kubernetes。
2. 下载 nacos-k8s 项目
git clone https://github.com/nacos-group/nacos-k8s.gitcd nacos-k8s3. 快速启动
使用此方式快速启动,请注意这是没有使用持久化卷的,可能存在数据丢失风险:
3.1. 编辑部署配置文件, 添加鉴权相关配置
在 deploy/nacos/nacos-quick-start.yaml 中找到 nacos StatefulSet 的 nacos 容器:
- 将
image改为正式镜像nacos/nacos-server:v3.3.0。仓库中的默认镜像可能仍是旧版本。 - 保留已有的数据库、
NACOS_SERVERS等配置,用自己的值替换下列鉴权环境变量。已有同名项时直接修改,不要重复添加。
NACOS_AUTH_TOKEN 是签发 token 的服务端密钥,须为合法 Base64,解码后至少 32 字节;它不是登录得到的 accessToken。身份标识 key/value 必须非空。所有副本使用相同的密钥及身份标识,不要沿用仓库中的演示值。
以下是容器 env 的鉴权部分,将占位符替换为实际值:
env: - name: NACOS_AUTH_ENABLE value: "true" - name: NACOS_AUTH_TOKEN value: "<your-base64-token-signing-secret>" - name: NACOS_AUTH_IDENTITY_KEY value: "<your-server-identity-key>" - name: NACOS_AUTH_IDENTITY_VALUE value: "<your-server-identity-value>"3.2. 执行快速开始脚本,启动Nacos
chmod +x quick-startup.sh./quick-startup.sh4. 验证Nacos服务是否启动成功
通过kubectl logs -f $pod_name命令,查看Nacos服务启动日志,如果看到如下日志,说明服务启动成功。
Nacos started successfully in xxxx mode. use xxxx storage待 Pod 就绪后,在当前命名空间执行端口转发,并保持该终端运行。然后在另一个终端执行后续验证命令;控制台和接口示例均使用本地转发地址。
kubectl port-forward pod/nacos-0 8080:8080 8848:88484.1. Nacos控制台页面
打开任意浏览器,输入地址:http://127.0.0.1:8080, 即可进入Nacos控制台页面。
注意:首次打开会要求初始化管理员用户
nacos的密码。
4.1.1. 获取访问 token
以下命令使用 Bash(Windows 可使用 Git Bash 或 WSL)。将密码替换为刚初始化的管理员密码,登录后将响应中的 accessToken 复制到 NACOS_ACCESS_TOKEN:
export NACOS_USERNAME='nacos'export NACOS_PASSWORD='<your-initialized-password>'curl -sS -X POST 'http://127.0.0.1:8848/nacos/v3/auth/user/login' \ --data-urlencode "username=${NACOS_USERNAME}" \ --data-urlencode "password=${NACOS_PASSWORD}"
export NACOS_ACCESS_TOKEN='<accessToken-from-login-response>'下面的 Client API 和 Admin API 都需要该 token。token 过期后重新登录获取;应用接入时请使用具有所需权限的业务账号,参见配置访问凭据。
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' \ -H "accessToken: ${NACOS_ACCESS_TOKEN}"4.3. 服务发现
curl -X GET 'http://127.0.0.1:8848/nacos/v3/client/ns/instance/list?serviceName=quickstart.test.service' \ -H "accessToken: ${NACOS_ACCESS_TOKEN}"4.4. 发布配置
curl -X POST 'http://127.0.0.1:8848/nacos/v3/admin/cs/config?dataId=quickstart.test.config&groupName=test&content=HelloWorld' \ -H "accessToken: ${NACOS_ACCESS_TOKEN}"4.5. 获取配置
curl -X GET 'http://127.0.0.1:8848/nacos/v3/client/cs/config?dataId=quickstart.test.config&groupName=test' \ -H "accessToken: ${NACOS_ACCESS_TOKEN}"若返回鉴权失败,先检查用户名、密码、token 有效期及账号权限。仅在已有无凭据客户端的临时迁移场景中考虑显式关闭 Client 鉴权,处理方式见升级手册。