k8s nacos-operator部署nacos集群既惨痛又兴奋的经历
背景:基于k8s平台部署nacos集群,部署统一的配置中心与注册中心。官方文档收集如下:nacos官方基于k8s部署文档:https://nacos.io/zh-cn/docs/use-nacos-with-kubernetes.htmlnocos-k8s github部署说明:https://github.com/nacos-group/nacos-k8s/blob/master/README-
背景:基于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
更多推荐
所有评论(0)