k8s中dubbo配置与实现

要在k8s中使用dubbo服务,需要将dubbo端口注册为k8s对外访问的地址与端口。具体实现步骤如下:

端口暴露配置

dubbo 提供对外地址暴露配置项:

复制代码
DUBBO_IP_TO_REGISTRY=192.168.10.190
DUBBO_PORT_TO_REGISTRY=30006

这两个配置不能从yml配置中获取,只能通过

复制代码
system.getProperty("DUBBO_IP_TO_REGISTRY")

方式获取,属于环境变量级别。

如何配置

  1. 使用 java 启动参数设置

    java -jar -DDUBBO_IP_TO_REGISTRY=192.168.10.190 -DDUBBO_PORT_TO_REGISTRY=30006 xxx.jar

  2. k8s中可以直接使用ENV环境变量设置

    复制代码
    env:
         - name: DUBBO_IP_TO_REGISTRY
           value: "192.168.10.190"
         - name: DUBBO_PORT_TO_REGISTRY
           value: "30006"

k8s 网络环境配置

k8s 对外暴露service服务,通过设置service服务网络信息完成端口暴露

复制代码
apiVersion: v1
kind: Service
metadata:
  name: dat-servicexxx
  namespace: pm-dat
spec:
  type: NodePort
  selector:
    app: dat-servicexxx
  ports:
  - name: dubbo
    port: 29080
    targetPort: 29080
    nodePort: 30006

这里端口 29080 是dubbo 实际启动的 tcp监听端口,一般在 yml 配置文件中配置。对应配置如下:

复制代码
dubbo:
  protocol:
    name: dubbo
    port: 29080

运行tomcat中,dubbo端口处理

修改 tomcat启动命令脚本 catalina.sh

复制代码
JAVA_OPTS="$JAVA_OPTS -DDUBBO_IP_TO_REGISTRY=192.168.10.190 -DDUBBO_PORT_TO_REGISTRY=30006"
相关推荐
爱学大树锯15 小时前
在Docker环境中安装RabbitMQ延迟消息插件实战记录
docker·容器·rabbitmq
木风小助理15 小时前
Kubernetes持久化存储架构深度解析:从易失的Pod到永恒的数据
kubernetes
一只懒鱼a16 小时前
搭建kafka集群(安装包 + docker方式)
运维·容器·kafka
一周困⁸天.16 小时前
K8s -蓝绿发布与金丝雀发布
docker·容器·kubernetes
永不停歇的蜗牛16 小时前
K8S之rke2证书过期,如何处理以及遇到的问题
服务器·容器·kubernetes
Stark-C17 小时前
Docker清道夫?在极空间NAS上部署自动化清理助手『PruneMate』
docker·容器·自动化
总有刁民想爱朕ha17 小时前
银河麒麟v10服务器版Docker部署PostgreSQL 14教程
docker·postgresql·容器·银河麒麟服务器版v10
拾忆,想起17 小时前
Dubbo RPC 实战全流程:从零搭建高可用微服务系统
网络·网络协议·微服务·性能优化·rpc·架构·dubbo
.hopeful.17 小时前
Docker——初识
服务器·docker·微服务·容器·架构
素雪风华17 小时前
只使用Docker+Maven实现全自动化流程部署服务;Docker创建ffmpeg环境;
java·运维·后端·docker·容器·自动化·maven