k8s环境下 单节点nacos安装与配置
由于StatefulSets的特性,导致其生成pod命名时固定的,比如nacos,随着replicas的加大,依次生成nacos-0,nacos-1,nacos-2........,而nacos-headless是服务名,nacos,是命名空间8848是端口号,svc.cluster.local固定名称,可自行百度。1、nacos/nacos-server:latest这个镜像里本身就带了naco
本文使用k8s部署mysql并连接,不建议生产环境使用!!!,建议mysql单独部署在服务器或者使用云数据库并做好集群及备份
部署mysql
首先安装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)