kubernetes services介绍

本文深入讲解Kubernetes中Service的工作原理,包括不同类型的Service(如NodePort和ClusterIP)及其应用场景,同时介绍了Service中的关键概念如port、nodePort及targetPort,并解释了它们之间的联系与区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

type:
serice的类型,常用的有NodePort、ClusterIP.
NodePort:定义服务可以提供给集群外部访问;
ClusterIP:定义服务只能在集群内部访问;

protocol:
service 使用的协议,常用的有:TCP UDP http

name: 
可以给port定义一个name;
如果名为"my-service.my-ns"的Service 有一个协议为TCP的名叫"http"的端口,你可以对"_http._tcp.my-service.my-ns"做一次DNS SRV查询来发现”http”的端口号。

port:
即,这里的port表示:service暴露在cluster ip上的端口,<cluster ip>:port 是提供给集群内部客户访问service的入口。

nodePort:
首先,nodePort是kubernetes提供给集群外部客户访问service入口的一种方式(另一种方式是LoadBalancer),所以,<nodeIP>:nodePort 是提供给集群外部客户访问service的入口。

targetPort:
targetPort很好理解,targetPort是pod上的端口,从port和nodePort上到来的数据最终经过kube-proxy流入到后端pod的targetPort上进入容器。

port、nodePort总结
总的来说,port和nodePort都是service的端口,前者暴露给集群内客户访问服务,后者暴露给集群外客户访问服务。从这两个端口到来的数据都需要经过反向代理kube-proxy流入后端pod的targetPod,从而到达pod上的容器内。
使用calico等overlay网络可能导致hostport不可用,可以增加“hostNetwork: true” 配置启用host模式 (在pod中定义)

参考:

https://kubernetes.io/docs/concepts/services-networking/service/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值