ks8集群外访问dubbo provider

需求

开发在本地也可以连接集群中的dubbo provider

分析

provider以nodeport方式部署,把nodeip 和 nodeport注册到zk,consumer从zk拿到的地址就是可以访问的k8s服务地址,搞定。
关键是获取nodeport,因为我们的yaml都是先创建service,所以pod启动的时候能获取到

实施步骤

1.服务以nodeport方式部署, 并暴露20880端口

- name: '20880'
    port: 20880

2.deployment的yaml中设置环境变量DUBBO_IP_TO_REGISTRY为节点ip

- name: DUBBO_IP_TO_REGISTRY
            valueFrom:
              fieldRef:
                fieldPath: status.hostIP

3.修改镜像的entrypoint脚本

... 通过k8s api获取服务的nodeport
echo "export DUBBO_PORT_TO_REGISTRY=$dubboPort" >>  ~/.bashrc

4.查看zk的信息
确认provider是nodeip和nodeport,done

你可能感兴趣的:(ks8集群外访问dubbo provider)