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"
相关推荐
大新新大浩浩4 分钟前
Deerflow部署-X86架构-在ubuntu2204操作系统上使用docker模式部署
docker·容器·架构
cool32001 小时前
二进制基于kubeasz部署 K8s 1.34.x 高可用集群实战指南-第四章:kubeasz部署集群k8s系统(4-4)
云原生·容器·kubernetes
CSND7401 小时前
什么是Docker,容器是什么,镜像是什么,一文解读
运维·人工智能·docker·容器
cool32001 小时前
ETCD每天凌晨2点自动备份 + 手动完整恢复
云原生·容器·kubernetes
fy121632 小时前
Spring Boot项目中解决跨域问题(四种方式)
spring boot·后端·dubbo
cool32002 小时前
Kubernetes集群节点扩容实战-kubeasz
java·开发语言·kubernetes
会飞的大可2 小时前
服务间通信:OpenFeign vs Dubbo 的 RPC 选型
网络协议·rpc·dubbo
斌味代码2 小时前
Docker + 宝塔:容器化部署最佳实践(2026最新版)
运维·docker·容器
建军啊2 小时前
k8s云安全、devsecops等知识
云原生·容器·kubernetes
❀͜͡傀儡师2 小时前
使用 Docker CLI 部署 Tugtainer 容器镜像自动更新系统
docker·容器·tugtainer