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。

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

相关推荐
优雅的造轮狮1 小时前
WSL2 Docker Desktop配置优化及迁移D盘指南
运维·docker·容器
西柚0012 小时前
Ubuntu22.04.5 + Docker + MySQL 5.7
mysql·docker·容器
Sean‘4 小时前
AKS 集群离线部署 kube-state-metrics 文档
运维·docker·容器
万象.4 小时前
docker存储卷分类与实操
docker·容器
F1FJJ5 小时前
只是想查个数据,不想装 phpMyAdmin
数据库·网络协议·容器·开源软件
.柒宇.6 小时前
基于 RHEL 9.7 搭建 Kubernetes v1.34 集群实战:Docker 运行时 (cri-dockerd) 与国内源配置详解
docker·云原生·容器·kubernetes·kubelet
F1FJJ6 小时前
Shield CLI:MySQL 插件 vs phpMyAdmin:轻量 Web 数据库管理工具对比
前端·网络·数据库·网络协议·mysql·容器
YMWM_7 小时前
docker在jetson thor的应用
运维·docker·容器·jetson thor
木子欢儿8 小时前
使用 Docker 快速搭建 MinIO 文件存储服务
运维·docker·容器
qq_297574678 小时前
K8s系列第十四篇:K8s 故障排查实战:常见故障定位与解决方法
java·docker·kubernetes