microk8s(十)外部Service

下面是Endpoint资源的配置文件

apiVersion: v1
kind: Endpoints
metadata:
  name: my-service
subsets:
  - addresses:
      - ip: 52.201.109.155
    ports:
      - port: 80

其中subsets的结构,看起来不太符合常规习惯,我们来转换成json格式看一下

[
  {
    "addresses": [
      {
        "ip": "52.201.109.155"
      }
    ],
    "ports": [
      {
        "port": 80,
        "protocol": "TCP"
      }
    ]
  }
]

这下就看明白了,address是一个数组,ports也是一个数组,两个配置项是分别定义的。这样会带来一个限制,就是所有的IP地址必须提供同样的端口服务,不然的话,service负载时就会出错。

另外,比较好玩了是,microk8s自己的服务也使用了这个功能,如下

# kubectl get --namespace default endpoints  kubernetes
NAME         ENDPOINTS              AGE
kubernetes   172.21.102.125:16443   6h54m

你可能感兴趣的:(microk8s(十)外部Service)