背景:基于k8s平台部署nacos集群,构建统一的配置中心与注册中心。

官方文档收集如下:
nacos官方基于k8s部署文档https://nacos.io/zh-cn/docs/use-nacos-with-kubernetes.html
在这里插入图片描述

nocos-k8s github部署说明https://github.com/nacos-group/nacos-k8s/blob/master/README-CN.md
在这里插入图片描述
在这里插入图片描述

具体操作j脚本如下:

mkidr -p  /opt/k8s/nacos
cd /opt/k8s/nacos
#获取源nacos-k8s.git
git clone https://github.com/nacos-group/nacos-k8s.git
cd nacos-k8s/op


# 如果没有helm, 使用kubectl进行安装, 默认安装在default下面
kubectl apply -f chart/nacos-operator/nacos-operator-all.yaml

#修改数据库配置
vim config/samples/nacos_cluster_mysql.yaml

# 选择集群Create nacos cluster

kubectl apply -f config/samples/nacos_cluster_mysql.yaml
nacos.nacos.io/nacos created
# 有问题先删除再执行apply
kubectl delete -f config/samples/nacos_cluster_mysql.yaml
kubectl apply -f config/samples/nacos_cluster_mysql.yaml

修改nacos_cluster_mysql.yaml配置内容如下
在这里插入图片描述

查看nacos pod信息,验证是否正常运行
kubectl geet po -o wide --all-namespaces|grep nacos
在这里插入图片描述
查看nacos集群,验证集群状态
kubectl get nacos -n test
在这里插入图片描述

踩坑经历:
nacos-mysql-sql-init任务失败:
在这里插入图片描述
1、容器初始化失败截图:
在这里插入图片描述
原因分析如下:
容器未读取到nacos-mysql.sql,配置,导致mysql脚本执行是出现"mysql: option ‘-e’ requires an argument"。一真在纠结这个问题来回折腾了很久,下载过源码看了一遍sql脚本文件在源码中也存在,也视图通过页面修改配置内容,修改后字符串又立即还原为空。大致原因应该是初始化容器时未读取到sql文件配置内容值被覆盖了。初始化sql异常不会影响集群部署,至于具体怎么解决暂时未找到原因

空配置信息截图如下:
在这里插入图片描述
1、无法读取nacos-mysql.sql导致“option ‘-e’ requires an argument”异常,异常截图如下:
在这里插入图片描述

2、因数据库未创建数据库出现"No DataSource set"异常,异常信息如下:
在这里插入图片描述

解决方案:数据库中导入nacos-mysql.sql
具体操作如下在这里插入图片描述

重新部署:

kubectl delete -f config/samples/nacos_cluster.yaml
kubectl apply -f config/samples/nacos_cluster.yaml

nacos集群pod运行成功的日志信息如下:
在这里插入图片描述
注意日志内容 Nacos started successfully in cluster mode. use external storage,至此基于k8s的nacos搭建成功。

nacos管理后台验证:
登录页面(账号密码默认为nacos nacos)
在这里插入图片描述

首页:
在这里插入图片描述
节点信息
在这里插入图片描述

namespace列表
在这里插入图片描述

配置列表
在这里插入图片描述

数据库数据验证
1、namespace
在这里插入图片描述

2、config
在这里插入图片描述

Logo

开源、云原生的融合云平台

更多推荐