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。

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

相关推荐
王码码20352 小时前
Flutter for OpenHarmony:Flutter 三方库 bluez 玩转 Linux 风格的蓝牙操作(蓝牙底层互操作)
linux·运维·服务器·前端·flutter·云原生·harmonyos
努力搬砖的咸鱼2 小时前
一个域名搞定前后端:用 Ingress 配置 / 和 /api 路由
微服务·云原生·容器·架构·kubernetes
Zhu_S W5 小时前
Kubernetes (K8s) 完全指南:Java 开发者的容器编排实践
java·容器·kubernetes
王da魔8 小时前
Keepalived
网络·云原生
小义_10 小时前
【Docker】知识四
linux·运维·docker·容器
冷雨夜中漫步10 小时前
DockerDesktop打包docker镜像时报错
运维·docker·容器
m0_5761164111 小时前
kubectl:k8s集群管理命令和Node节点
docker·容器·kubernetes
悠闲蜗牛�13 小时前
云原生架构下的可观测性体系建设:从日志、监控到全链路追踪的工程实践
云原生·架构
老葱头蒸鸡13 小时前
(1)Docker架构与组件简介
云原生·eureka
期待のcode13 小时前
docker将镜像推送到阿里云镜像仓库与私有镜像仓库
阿里云·docker·容器