NodePort

简介: 使用NodePort类型的Service时,您可以指定特定节点池的节点上才会监听NodePort Service中的端口,从而避免不必要的端口开放和外部直接访问集群内部服务。NodePort Service会为每个节点分配一个端口,并将服务映射到这个端口。这样,您可以选择将服务暴露给特定的节点池,而不是整个集群。

使用NodePort类型的Service时,您可以指定特定节点池的节点上才会监听NodePort Service中的端口,从而避免不必要的端口开放和外部直接访问集群内部服务。NodePort Service会为每个节点分配一个端口,并将服务映射到这个端口。这样,您可以选择将服务暴露给特定的节点池,而不是整个集群。
使用方法如下:

  1. 首先,在Service的YAML文件中,将type字段设置为NodePort。
  2. 然后,在spec部分下,设置selector字段以选择要暴露服务的容器。例如:

spec:
selector:
matchLabels:
app: my-app

这将使Service仅在标签为app=my-app的容器上创建端口映射。

  1. 在同一spec部分下,设置ports字段以定义要暴露的端口。例如:

spec:
ports:

  • protocol: TCP
    port: 80
    targetPort: 9376

这将创建一个TCP端口映射,将外部访问的端口80映射到容器内部的端口9376。

  1. 最后,在clusterIP字段中设置一个ClusterIP地址,以便在集群内部访问Service。例如:

spec:
clusterIP: 10.96.100.100

以下是一个完整的NodePort Service示例:

apiVersion: v1
kind: Service
metadata:
name: my-node-port-service
spec:
selector:
matchLabels:
app: my-app
ports:

  • protocol: TCP
    port: 80
    targetPort: 9376
    clusterIP: 10.96.100.100

通过这个示例,我们创建了一个名为my-node-port-service的NodePort Service,它将端口80映射到容器内部的端口9376,并仅在标签为app=my-app的节点上监听。集群内部可以通过10.96.100.100这个ClusterIP地址访问该服务。

目录
相关文章
|
7月前
|
Kubernetes 网络协议 Linux
Cilium 系列 -7-Cilium 的 NodePort 实现从 SNAT 改为 DSR
Cilium 系列 -7-Cilium 的 NodePort 实现从 SNAT 改为 DSR
|
Kubernetes 网络协议 调度
聊聊k8s中的hostport和NodePort
让服务基于节点暴露端口,大家最先想到的应该都是 nodeport 这种 service,他可以非常方便的为pod代理外部流量,那么 hostport 是什么呢?他和 nodeport 的区别是什么,今天我们来聊聊这个比较小众的 hostport。
6942 0
聊聊k8s中的hostport和NodePort
|
网络协议 应用服务中间件 nginx
玩转Kubernetes TCP Ingress
如何使用Kubernetes的TCP Ingress
19908 0
|
4月前
|
Kubernetes 负载均衡 应用服务中间件
在k8S中,ingress是什么?
在k8S中,ingress是什么?
|
4月前
|
Kubernetes API 容器
在K8S中,Service的Nodeport端口范围?
在K8S中,Service的Nodeport端口范围?
|
7月前
|
弹性计算 Kubernetes 安全
基于 Traefik 的 ForwardAuth 配置
基于 Traefik 的 ForwardAuth 配置
|
消息中间件 负载均衡 Kubernetes
k8s-服务(clusterIP/NodePort/LoadBanlance)
clusterIP 类型的服务 NodePort 类型的服务 LoadBanlance 类型的服务
k8s-服务(clusterIP/NodePort/LoadBanlance)
|
负载均衡 网络架构 Docker
Traefik
Traefik 是一款开源的反向代理和负载均衡工具,它可以自动地为容器化的应用程序提供动态路由和负载均衡服务。Traefik 支持多种后端服务,并且可以根据容器的标签和元数据自动发现和配置后端服务。
582 1
|
Kubernetes 应用服务中间件 nginx
Ingress
Ingress
346 0
|
Kubernetes Cloud Native 中间件
为什么选择 Traefik Ingress ?
何为 Traefik Ingress ? 在解析此概念之前,我们回顾下 Kubernetes 生态组件 Ingress Controller (中文释义:入口控制器)的概念。
135 0