在K8S中,Service的Nodeport端口范围?

简介: 在K8S中,Service的Nodeport端口范围?

在Kubernetes中,NodePort是一种服务(Service)类型,它允许从集群外部访问服务。当创建一个NodePort类型的服务时,Kubernetes会在每个节点上打开一个静态端口(称为NodePort),所有发往该端口的流量都会被转发到服务后端的Pod。

默认情况下,Kubernetes为NodePort服务分配的端口范围是从30000到32767。这个范围是出于以下考虑:

  • 避免冲突:这个范围内的端口不太可能与集群内其他服务使用的端口发生冲突。
  • 符合标准:这个范围通常用于注册端口,意味着它们可以被分配给用户或用户级应用程序。

如果你希望使用特定的端口而不是让Kubernetes自动分配,你可以在创建Service时通过--port--target-port参数指定端口号。例如:

kubectl expose deployment/my-deployment --port=8080 --target-port=80 --type=NodePort

在这个例子中,--port=8080指定了NodePort服务在每个节点上监听的端口。如果你没有指定--port,Kubernetes将自动从默认的NodePort范围内选择一个未使用的端口。

如果你需要修改默认的NodePort范围,可以通过设置--service-node-port-range标志来启动API服务器。例如:

kube-apiserver --service-node-port-range=12000-22000

综上所述,将NodePort的范围设置为12000到22000。请注意,这个设置需要在集群启动时进行配置,并且所有API服务器实例必须使用相同的范围。

一旦设置了自定义的NodePort范围,Kubernetes将在这个范围内为NodePort服务分配端口。如果在这个范围内没有足够的端口可用,创建NodePort服务的操作将会失败,并提示没有可用端口。因此,如果你有很多NodePort服务,可能需要选择一个更大的范围来避免端口耗尽。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
3月前
|
Kubernetes 容器
K8S的Service的LoadBanlance之Metallb解决方案
本文介绍了如何在Kubernetes中使用MetalLB来实现Service的LoadBalancer功能,包括MetalLB的部署、配置、以及通过创建地址池和部署服务来测试MetalLB的过程。
157 1
K8S的Service的LoadBanlance之Metallb解决方案
|
4月前
|
Kubernetes 网络安全 容器
在K8S中,有个服务使用service的nodeport进行暴露,发现访问不到如何排查?
在K8S中,有个服务使用service的nodeport进行暴露,发现访问不到如何排查?
|
4月前
|
Kubernetes 负载均衡 网络协议
在K8S中,Service的类型有哪几种,请说⼀下他们的用途?
在K8S中,Service的类型有哪几种,请说⼀下他们的用途?
|
4月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
4月前
|
SQL 网络协议 NoSQL
【Azure 应用服务】App Service/Azure Function的出站连接过多而引起了SNAT端口耗尽,导致一些新的请求出现超时错误(Timeout)
【Azure 应用服务】App Service/Azure Function的出站连接过多而引起了SNAT端口耗尽,导致一些新的请求出现超时错误(Timeout)
|
4月前
|
Kubernetes 负载均衡 网络协议
在K8S中,Service的类型有哪些?
在K8S中,Service的类型有哪些?
|
4月前
|
Kubernetes 网络协议 Docker
在K8S中,ip-cer-pod与docker原生端口映射有何区别?
在K8S中,ip-cer-pod与docker原生端口映射有何区别?
|
5月前
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
739 1
阿里云服务器开放端口完整图文教程
|
5月前
|
弹性计算 运维 数据安全/隐私保护
云服务器 ECS产品使用问题之如何更改服务器的IP地址或端口号
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
4月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
下一篇
DataWorks