dubbo服务在kubernetes中对外暴露服务
2019-03-20 21:34
246 查看
一些场景下,在开发时可能存在dubbo consumer需要访问k8s中部署的dubbo provider,尤其是对于自建的kubernetes集群环境,tcp的端口很难代理,这就导致了开发发链接集群内的服务比较麻烦,这里可以利用service将dubbo服务使用nodeport暴露出去,但是由于dubbo默认注册的ip地址是自动获取服务的ip地址来注册的,ip地址是pod的ip地址,集群外是无法访问的。幸运的是dubbo提供了自动义指定注册ip的配置,我们可以在部署开发联调服务时指定ip地址为宿主机的ip地址。部署例子如下:
# -------------------Service ---------------------- # apiVersion: v1 kind: Service metadata: name: java-test-svc namespace: default spec: type: NodePort ports: - port: 30011 targetPort: 30011 nodePort: 30011 selector: app: java-test tier: backend --- # ------------------- Deployment ------------------- # apiVersion: extensions/v1beta1 kind: Deployment metadata: name: java-test-deployment namespace: default spec: selector: matchLabels: app: java-test tier: backend replicas: 1 template: metadata: labels: app: java-test tier: backend spec: nodeSelector: dubbo_provder: dubbo_provider containers: - name: java-test image: [your image] imagePullPolicy: Always # resources: # requests: # cpu: 100m # memory: 100Mi # limits: # cpu: 100m # memory: 100Mi env: - name: APOLLO_META val 1000 ue: http://172.31.205.22:8080 - name: DUBBO_IP_TO_REGISTRY value: 172.31.205.23 - name: DUBBO_PORT_TO_REGISTRY value: "30011" - name: DUBBO_PORT_TO_BIND value: "30011" ports: - containerPort: 30011 imagePullSecrets: - name: harbor-key --- # ------------------- ingress ---------------------- # apiVersion: extensions/v1beta1 kind: Ingress metadata: name: java-test-ingress namespace: default spec: rules: - host: javatest.com http: #port: 80 paths: - path: / backend: serviceName: java-test-svc servicePort: 30011
相关文章推荐
- 使用 Kubernetes Ingress 对外暴露服务
- kubernetes使用Traefik暴露web服务
- dubbo源码学习(四):暴露服务的过程
- Dubbo服务暴露的流程
- Dubbo源码分析----暴露服务
- Dubbo/Dubbox的服务暴露(三)- 服务的注册
- dubbo源码解析(七) dubbo远程服务暴露
- [置顶] Dubbo暴露服务和引用服务的实现源码分析
- 理解 Dubbo 服务暴露
- Dubbo学习之路(三):服务提供者注册和暴露服务源码解读
- Dubbo暴露服务和引用服务的实现源码分析
- Dubbo之服务暴露
- Spring Cloud(Netflix) Feign: 以Dubbo暴露服务的方式使用Feign
- Dubbo服务暴露与注册
- dubbo源码分析(一) 服务暴露--服务引用
- Dubbo——各协议暴露和引用服务的逻辑
- Dubbo框架初探【用Spring配置声明暴露服务(可以使用multicast广播注册中心暴露服务地址或者使用zookeeper注册中心暴露服务地址)、加载Spring配置,启动服务】
- 7、dubbo源码分析 之 服务本地暴露
- Dubbo 服务暴露与引用
- dubbo的服务暴露原理