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。

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

相关推荐
SatanII26 分钟前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
容器魔方37 分钟前
Volcano v1.16 发布:新增 NamespaceQueue 与 fairshare,拓展 HyperNode 生态
人工智能·云原生·容器·华为云·云计算
秦jh_2 小时前
【Docker】镜像、卷原理
运维·docker·容器
小马同学-2 小时前
K8s 命名空间与上下文:Namespace 资源隔离与多集群切换实战
云原生·容器·kubernetes
阿里云云原生2 小时前
Agent 自进化的数据底座:阿里云 SLS Session Store
云原生
I'mChloe2 小时前
飞牛NAS部署flatnotes实战:Docker、8080端口、Markdown笔记与固定地址访问
笔记·docker·容器
川石课堂软件测试3 小时前
涨薪技术|0到1学会性能测试第9课-HTTP响应统计
数据库·功能测试·网络协议·http·kubernetes·单元测试·测试用例
探索云原生3 小时前
Ascend vNPU 实战:从原生 Docker 到 Ascend Docker Runtime
linux·ai·云原生·kubernetes·gpu
许知珩3 小时前
Kubernetes 存储与配置管理 ——Volume、ConfigMap 与 Secret 实战详解
云原生·容器·kubernetes
code_slave(码畜)5 小时前
微服务架构落地:读写分离架构 —— 主从延迟引发的“刚开单查不到”灾难与破局
spring boot·分布式·spring cloud·微服务·云原生·架构·读写分离