Pod port
在 中定义的这个数组pod.spec.containers[].ports提供了容器公开的端口列表。你真的不需要指定这个列表——即使它是空的,只要你的容器正在监听端口,它们仍然可以用于网络访问。这只是为 Kubernetes 提供了一些额外的信息
Service ports
服务的service.spec.ports列表配置对服务端口的哪些请求被转发到其 pod 上的哪些端口。一个成功的请求可以从集群外部发送到节点的 IP 地址和服务的nodePort,转发到服务的port,targetPort并由 pod在 上接收
kind: Service
apiVersion: v1
metadata:
name: port-example-svc
spec:
# Make the service externally visible via the node
type: NodePort
ports:
# Which port on the node is the service available through?
- nodePort: 31234
# Inside the cluster, what port does the service expose?
- port: 8080
# Which port do pods selected by this service expose?
- targetPort:
selector:
# ...
nodePort
此设置通过节点的 IP 地址和此属性中声明的端口号使服务在 Kubernetes 集群外部可见。该服务还必须是 NodePort 类型(如果未指定此字段,Kubernetes 将自动分配一个节点端口)
port
在集群内部的指定端口上 公开服务。也就是说,服务在此端口上变得可见,并将向此端口发出的请求发送到服务选择的 pod
targetPort
这是请求发送到的pod上的端口。您的应用程序需要在此端口上侦听网络请求才能使服务正常工作
发表评论 取消回复