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。

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

相关推荐
春人.30 分钟前
PortainerCE 跨云管理:cpolar 内网穿透服务实现多环境统一控制
云原生·eureka
tb_first2 小时前
k8sday11服务发现(2/2)
docker·云原生·容器·kubernetes·k8s
zxcxylong4 小时前
almalinux9.6系统:k8s可选组件安装(1)
云原生·容器·kubernetes·metrics·almalinux·hpa·vpa
君不见,青丝成雪5 小时前
大数据云原生是什么
大数据·云原生
一个天蝎座 白勺 程序猿8 小时前
Apache IoTDB(4):深度解析时序数据库 IoTDB 在Kubernetes 集群中的部署与实践指南
数据库·深度学习·kubernetes·apache·时序数据库·iotdb
熊出没9 小时前
微服务如何集成swagger3
微服务·云原生·架构
xiao-xiang10 小时前
redis-集成prometheus监控(k8s)
数据库·redis·kubernetes·k8s·grafana·prometheus
MANONGMN16 小时前
Kubernetes(K8s)常用命令全解析:从基础到进阶
云原生·容器·kubernetes
Johny_Zhao17 小时前
基于 Docker 的 LLaMA-Factory 全流程部署指南
linux·网络·网络安全·信息安全·kubernetes·云计算·containerd·yum源·系统运维·llama-factory
wdxylb19 小时前
云原生俱乐部-RH134知识点总结(1)
linux·云原生