k8s 暴露pod

kubenretes中暴露Pod及Service的6种方式 ,分别为port_forward、hostNetwork、hostPort、nodePort、loadBalancer、Ingress。

下面讲下nodeport

nodePort

Kubernetes中的service默认情况下都是使用的ClusterIP这种类型,这样的service会产生一个ClusterIP,这个IP只能在集群内部访问,要想让外部能够直接访问service,需要将service type修改为 nodePort。

在某些场景下我们可以使用 Kubernetes 的 Proxy 模式来访问服务,比如调试服务时。网络模型如下:

NodePort 服务是引导外部流量到你的服务的最原始方式。NodePort,正如这个名字所示,在所有节点(虚拟机)上开放一个特定端口,任何发送到该端口的流量都被转发到对应服务。如果需要达到负载均衡,外面可能需要挂一个nginx

NodePort 服务特征如下:

每个端口只能是一种服务

端口范围只能是 30000-32767(用--service-node-port-range定义)

不在 YAML 配置文件中指定则会分配一个默认端口

网络模型如下所示:

集群外就可以使用kubernetes任意一个节点的IP加上8400端口访问该服务了。kube-proxy会自动将流量以round-robin的方式转发给该service的每一个pod。

这种服务暴露方式,无法让你指定自己想要的应用常用端口,不过可以在集群上再部署一个反向代理作为流量入口。

相关推荐
傻傻虎虎6 分钟前
【Docker】常用帮忙、镜像、容器、其他命令合集(1)
运维·docker·容器
阿里云云原生1 小时前
FunctionAI 图像生成:简化从灵感到 API 调用的每一步
云原生
喂完待续2 小时前
【序列晋升】31 Spring Cloud App Broker 微服务时代的云服务代理框架
spring·spring cloud·微服务·云原生·架构·big data·序列晋升
pwj去战斗吧2 小时前
k8s+jenkins+harbor构建Devops平台
kubernetes·jenkins·devops
ChaITSimpleLove3 小时前
零代码入侵:Kubernetes 部署时自动注入 kube-system UID 到 .NET 9 环境变量
kubernetes·.net·环境变量·uid·kube-system·集群环境唯一id
無名之輩5 小时前
Nvidia Device Plugin入门三之volume mount策略
kubernetes
Lin_Aries_04217 小时前
使用阿里云容器镜像服务 ACR
linux·阿里云·docker·云原生·centos·云计算
Twilight-pending7 小时前
计算机系统性能、架构设计、调度策略论文分类体系参考
人工智能·云原生·分类·数据挖掘
zzz.108 小时前
【Kubernetes知识点】CRD客户资源定义及Gateway
云原生·容器·kubernetes
AKAMAI16 小时前
Queue-it 为数十亿用户增强在线体验
人工智能·云原生·云计算