k8s环境下 单节点nacos安装与配置

本文使用k8s部署mysql并连接,不建议生产环境使用!!!,建议mysql单独部署在服务器或者使用云数据库并做好集群及备份

部署mysql

参考文章:GitHub - nacos-group/nacos-k8s: This project contains a Nacos Docker image meant to facilitate the deployment of Nacos on Kubernetes using StatefulSets.

首先安装mysql5.7,这里有nacos提供了连接需要的镜像 参考nacos-k8s/mysql-local.yaml at master · nacos-group/nacos-k8s · GitHub

我修改命名空间为nacos,方便后续服务浏览更加方便,有需要的可以下载:nacos-mysql.yaml

部署nacos

参考nacos-k8s/nacos-no-pvc-ingress.yaml at master · nacos-group/nacos-k8s · GitHub

关注几个要修改的点

dataconfig里的数据连接需要改为自己的地址

 

由于部署单节点nacos,所以replicas、NACOS_REPLICAS 的值需要改为1,NACOS_SERVERS的value需要改为nacos-0.nacos-headless.nacos.svc.cluster.local:8848 

另外ingress由于各自环境不同,域名不同,强烈建议手动操作

我修改命名空间为nacos,方便后续服务浏览更加方便

输入地址:http://xxxxx/nacos即可访问,

注意如果使用的是k3s,则自带traefik,不需要手动安装ingress

可以导入配置后,重启mysql和nacos,发现数据还在,即持久化完成

知识普及和槽点

1、nacos/nacos-server:latest这个镜像里本身就带了nacos的数据库和表,所以如果使用其他的镜像mysql需要自己导入数据库,在GitHub - nacos-group/nacos-k8s: This project contains a Nacos Docker image meant to facilitate the deployment of Nacos on Kubernetes using StatefulSets.中有对应sql文件

2、StatefulSets 中连接地址nacos-0.nacos-headless.nacos.svc.cluster.local:8848。由于StatefulSets的特性,导致其生成pod命名时固定的,比如nacos,随着replicas的加大,依次生成nacos-0,nacos-1,nacos-2........,而nacos-headless是服务名,nacos,是命名空间8848是端口号,svc.cluster.local固定名称,可自行百度

3、如果使用多个节点的集群模式,可能会导致出现mysql找不到、database not select的情况,这种情况大多建立在搭建的k3s集群内部通信问题,或者各个节点生成的pod地址互相访问等问题,有个暂时规避的办法,使用nodepod对外暴漏端口,让nacos访问外部地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值