栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

k8s nacos-operator部署nacos集群既惨痛又兴奋的经历

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

k8s nacos-operator部署nacos集群既惨痛又兴奋的经历

背景:基于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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/885646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号