美文网首页
Kubernetes 访问集群外部服务

Kubernetes 访问集群外部服务

作者: 香菜香菜我是折耳根 | 来源:发表于2020-02-27 20:59 被阅读0次

    使用 Endpoints

    什么是 Endpoints ?

    简单来说,Endpoints 表示一个 Service 对应的所有 Pod 副本的访问地址,而 Endpoints Controller 就是负责生成和维护所有 Endpoints 对象的控制器。它负责监听 Service 、和对应的 Pod 副本的变化,如果检测到 Service 被删除,则删除和该 Service 同名的 Endpoints 对象。如果检测到新的 Service 被创建或者修改则根据该 Service 信息获得相关的 Pod 列表,然后创建或者更新 Service 对应的 Endpoints 对象。

    endpoints.yaml :

    kind: Endpoints
    apiVersion: v1
    metadata:
      name: mysql-dev
      namespace: development
    subsets:
      - addresses:
          - ip: 192.168.31.11
        ports:
          - port: 3306
    

    service.yaml :

    apiVersion: v1
    kind: Service
    metadata:
      name: mysql-dev
      namespace: development
    spec:
      ports:
        - port: 3306
          targetPort: 3306
          protocol: TCP
    
    kubectl apply -f endpoints.yaml
    kubectl apply -f service.yaml
    

    如果需要查看该 Service 的详情,包括 Endpoints :

    kubectl describe svc mysql-dev -n development
    

    那么在应用的配置文件里,可以直接将 IP 地址或域名替换为 mysql-dev

    相关文章

      网友评论

          本文标题:Kubernetes 访问集群外部服务

          本文链接:https://www.haomeiwen.com/subject/twcwchtx.html