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"
相关推荐
User_芊芊君子1 小时前
破解交互系统的“不可能三角”:低延迟、高并发与低成本的端到端实现
人工智能·dubbo·生活
小义_14 小时前
【Kubernetes】(九)Service 2
云原生·容器·kubernetes
Cyber4K16 小时前
【Kubernetes专项】温故而知新,重温技术原理(2)
云原生·容器·kubernetes
雨奔19 小时前
Kubernetes 网络策略(NetworkPolicy)完全指南:声明式 Pod 通信管控
网络·容器·kubernetes
身如柳絮随风扬19 小时前
Kubernetes v1.20.9 集群搭建
云原生·容器·kubernetes
蛐蛐蛐20 小时前
在Windows 11上安装Docker的踩坑记录
运维·docker·容器
古典和浪漫20 小时前
docker file 中设置软链接和在k8s 中配置同步时区 有什么区别,各自优缺点
docker·容器·kubernetes
成为你的宁宁21 小时前
【K8s ServiceAccount 机制原理与 RBAC 权限实战应用】
云原生·容器·kubernetes
尘世壹俗人21 小时前
知识点12---k8s进阶操作方式yaml资源文件
docker·容器·kubernetes
尘世壹俗人21 小时前
知识点13---k8s存储持久化
容器·kubernetes·flask