猫娘脸红羞涩流眼泪翻白眼(269_)

核心内容摘要

WW我的快乐在哪?一场关于“快乐”的深度探索之旅
当男生遇上女生:那些一起“愁”出天际的电视剧时光

当刀光剑影交织——动漫人物“相爱相杀”的别样魅力

在K8S service类型中NodePort 服务包含了 ClusterIP 服务的所有能力。

这是一个重要的核心概念NodePort 服务是在 ClusterIP 服务基础上的扩展而不是一个独立的替代品。

详细解释

架构层次NodePort Service ClusterIP Service NodePort 端口映射

实际访问方式一个 NodePort 类型的 Service 实际上同时支持三种访问方式方式一通过 ClusterIP内部访问✅apiVersion:v1kind:Servicemetadata:name:my-servicespec:type:NodePort# 注意这里指定的是 NodePortselector:app:my-appports:-port:80# ClusterIP 端口targetPort:8080# Pod 端口nodePort:30007# NodePort 端口可选系统自动分配集群内部访问# 通过 ClusterIP 直接访问curlhttp://cluster-ip:80# 通过 DNS 域名访问完全支持✅curlhttp://my-service.default.svc.cluster.local:80curlhttp://my-service:80# 同一命名空间内可省略后缀方式二通过 NodePort外部访问# 通过任何节点的 IP NodePort 访问curlhttp://node-ip:30007方式三通过 LoadBalancer如果有云提供商如果你在云环境还可以配置 LoadBalancer它又是在 NodePort 基础上的扩展。

DNS 解析验证# 查看服务详情kubectl get svc my-service# NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)# my-service NodePort

10.

96.

1

456 none 80:30007/TCP# 查看 DNS 解析kubectl run -it --rmtest--imagebusybox --restartNever --nslookupmy-service# Server:

10.

96.

10# Address 1:

10.

96.

10 kube-dns.kube-system.svc.cluster.local## Name: my-service# Address 1:

10.

96.

1

456 my-service.default.svc.cluster.local

实际示例apiVersion:apps/v1kind:Deploymentmetadata:name:nginx-deployspec:replicas:2selector:matchLabels:app:nginxtemplate:metadata:labels:app:nginxspec:containers:-name:nginximage:nginx:alpineports:-containerPort:80---apiVersion:v1kind:Servicemetadata:name:nginx-servicespec:type:NodePort# NodePort 类型selector:app:nginxports:-port:80# 集群内访问端口targetPort:80# Pod 端口nodePort:30080# 节点端口测试访问#

在集群内部通过 DNS 访问ClusterIP 能力kubectlexec-itpod-name--curlhttp://nginx-service#

从外部通过 NodePort 访问curlhttp://任意节点IP:

流量流向示意外部用户 ↓ Node IP:NodePort (如

192.

168.

100:

↓ Service ClusterIP (如

10.

96.

1

456:

↓ Pod IP:Port (如

10.

244.

2:

8080)

总结要点✅NodePort 服务一定包含 ClusterIP每个 NodePort 服务都会自动分配一个 ClusterIP✅K8S DNS 完全支持可以通过服务名在集群内解析到 ClusterIP✅集群内部访问优先使用 ClusterIP/DNS不经过节点端口效率更高❌NodePort 不是 ClusterIP 的替代而是它的超集最佳实践集群内部组件间通信使用服务名DNS外部访问才用 NodePort所以可以完全放心地在集群内部通过service-name.namespace.svc.cluster.local来访问 NodePort 服务

天堂禁漫-天堂禁漫应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123