Endpoints是指一个服务的端点,当你的服务需要访问外部资源时,而你又不想把外部地址配置到代码里,这时,你可以在k8s里建立一个kind为Endpoints的服务,它可以帮助你的程序解析这个外部地址。
service是通过访问同名的endpoints来访问pod的。所以我们也可以通过这种方法去访问外部服务,以避免在代码中暴露外部服务的实际访问地址,同样也可以用ingress来实现域名访问。
例如在集群内通过访问集群内服务outk8sservice.linkiito:18100来请求物理服务器193.169.203.64上的18100端口,样例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| --- apiVersion: v1 kind: Endpoints metadata: name: outk8sservice namespace: linkiiot subsets: - addresses: - ip: 193.169.203.64 ports: - port: 18100 protocol: TCP
--- apiVersion: v1 kind: Service metadata: labels: app: outk8sservice name: outk8sservice namespace: linkiiot spec: ports: - port: 18100 protocol: TCP targetPort: 18100 sessionAffinity: None type: ClusterIP
|