k8s 使用nacos集群(ktctl本地联调)

场景

公司使用k8s环境,nacos替代之前的eureka,刚开始使用的是2.0.2版本,ktctl用于打通本地环境和研发的k8s环境,部署之后出现的很多问题。

nacos版本问题

1.nacos 2.0x开始使用grpc作为客户端和服务端通信的方式,但是ktctl目前不支持grpc,会出现:
unexpected stock version 67
并且使用springcloud alibaba版本中nacos也是1.2.1;所以,nacos需要回退到1.2.1;

mysql8.0问题

研发本地使用mysql5.7,生产进行了升级:mysql8.0;
在本地正常使用的nacos,在生产环境会无法启动,原因是:数据源无法创建,5.7和8.0的mysql jar包有改变;解决方案是:

k8s使用nfs挂载方式把mysql的jar包挂载到: /home/nacos/plugins目录下,nacos在启动的时候,会自动加载该目录的jar(nacos留的后门);

ktctl问题

ktctl的问题除了不支持grpc,当前也不支持headless服务,因为它没有ip,无法进行转发。
当前的解决方案是:新建一个service,使用cluster ip把端口映射出来,然后对照nacos的默认端口:8848;然后服务中使用新建的service可以进行访问。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用以下的 YAML 文件来部署 Nacos 集群: ```yaml apiVersion: v1 kind: Namespace metadata: name: nacos --- apiVersion: v1 kind: Service metadata: name: nacos-service namespace: nacos spec: selector: app: nacos ports: - protocol: TCP port: 8848 targetPort: 8848 type: LoadBalancer --- apiVersion: apps/v1 kind: Deployment metadata: name: nacos-deployment namespace: nacos spec: replicas: 3 selector: matchLabels: app: nacos template: metadata: labels: app: nacos spec: containers: - name: nacos-server image: nacos/nacos-server:v1.4.1 ports: - containerPort: 8848 env: - name: MODE value: "cluster" - name: SPRING_DATASOURCE_PLATFORM value: "mysql" - name: MYSQL_SERVICE_HOST value: "mysql-host" # 修改为实际的 MySQL 主机名或 IP 地址 - name: MYSQL_SERVICE_DB_NAME value: "nacos" # 修改为实际的数据库名称 - name: MYSQL_SERVICE_PORT value: "3306" # 修改为实际的 MySQL 端口号 - name: MYSQL_SERVICE_USER value: "nacos" # 修改为实际的数据库用户名 - name: MYSQL_SERVICE_PASSWORD value: "nacos" # 修改为实际的数据库密码 ``` 请注意,上述 YAML 文件假设你已经有一个可用的 MySQL 数据库,并且将其相关信息填入了环境变量中。你需要修改 `MYSQL_SERVICE_HOST`,`MYSQL_SERVICE_DB_NAME`,`MYSQL_SERVICE_PORT`,`MYSQL_SERVICE_USER`,`MYSQL_SERVICE_PASSWORD` 这些变量的值,以适应你的实际环境。 你可以使用 `kubectl apply -f <yaml文件名>` 命令来应用这个 YAML 文件并部署 Nacos 集群

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lixiaolinzq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值