2017-10-20 62 views
0

根据https://kubernetes.io/docs/api-reference/v1.8/#serviceport-v1-coreServicePortport(整数)是“将由此服务公开的端口”,但假设它不是指定后端Pod将侦听的端口(这些端口是targetPort,甚至可以是名称由每个后端荚定义),它真的指定端口到一个前端荚应该连接(这些都是nodePort或自动分配的),我很困惑,是什么请确认ServicePort对象的`port`属性_mean_是什么?

是暴露port作为一个服务标识所需的负载均衡器(入节点?),或者他们可以映射它呢?

https://kubernetes.io/docs/concepts/services-networking/service/的示例并不总是包含端口name,即使规范声明“ServiceSpec中的所有端口都必须具有唯一名称”。 - 这使我认为一个字符串化port也是默认name。是对的吗?

ServiceSpec的文档提到portports阵列的“修补程序合并密钥”。这是和以前观测有关port是默认name刚刚法医证据表明存在port第一,但我们希望我们开始name? :)

+0

这是一个dup https://stackoverflow.com/a/41510604/1105015?也就是说,这个答案是否澄清了'港口'是什么LB必须暴露,或者是否有价值被我的问题和答案添加? –

+0

的可能的复制[什么是在Kubernetes ClusterIP,NodePort和负载平衡器服务类型之间的区别?(https://stackoverflow.com/questions/41509439/whats-the-difference-between-clusterip-nodeport-and-loadbalancer-service -types) –

+0

@JanosLenart我最初的评论提到了这个答案。我认为如果有人可以证实'port'的作用,这只是一个重复。我们可以在那里或这里做到这一点,但我认为这是一个没有答案的子问题。 (也就是说,我不关心代表,我只是想要的答案,我想其他人可能也:)) –

回答

0

的数字一ServiceServicePort(以其spec)的port在下列地方使用:

  • 本服务在spec.clusterIP:spec.ports[*].port暴露(除非clusterIP设置为"None"
  • 该服务是在spec.loadBalancerIP:spec.ports[*].port(如果您指定type: LoadBalancer
  • 这是默认值为targetPortServicePort