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"
相关推荐
架构师老Y9 小时前
008、容器化部署:Docker与Python应用打包
python·容器·架构
handsomestWei12 小时前
Docker引擎API接入配置
运维·http·docker·容器·api
键盘鼓手苏苏15 小时前
Kubernetes与GitOps高级实践
云原生·kubernetes·k8
不是书本的小明15 小时前
K8S应用优化方向
网络·容器·kubernetes
七夜zippoe17 小时前
Spring Cloud与Dubbo架构哲学对决
java·spring cloud·架构·dubbo·配置中心
andeyeluguo17 小时前
docker总结
运维·docker·容器
zjshuster17 小时前
Dubbo 框架
dubbo
SuAluvfy17 小时前
从 0 到 1:在 Windows + Docker 环境下搭建 NextChat 并接入多模型 API(踩坑实录)
docker·容器
九英里路17 小时前
cpp容器——string模拟实现
java·前端·数据结构·c++·算法·容器·字符串
尘世壹俗人18 小时前
知识点8---虚拟化编排工具Kubernetes
容器·kubernetes