首页 > 编程语言 >在K8S中,Service的Nodeport端口范围?

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

时间:2024-07-23 11:32:30浏览次数:9  
标签:范围 Service -- 端口 Nodeport Kubernetes K8S port 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服务,可能需要选择一个更大的范围来避免端口耗尽。

标签:范围,Service,--,端口,Nodeport,Kubernetes,K8S,port,NodePort
From: https://www.cnblogs.com/huangjiabobk/p/18317928

相关文章

  • 在K8S中,集群内有个节点not ready,如何排查?
    在Kubernetes(K8s)集群中,如果有一个节点处于"NotReady"状态,这可能意味着该节点无法接受新的工作负载或存在其他问题。具体分析如下:检查节点状态使用基本命令查看节点状态:需要确认节点确实处于“未就绪”状态。使用kubectlgetnodes命令可以列出所有节点的状态。例如,您可能会......
  • pymobiledevice3:如果没有抽象方法“_create_service_connection”的实现,则无法实例化
    全面披露:我不知道我在做什么。我没有编程经验。我已要求ChatGPT为我创建一个程序。ChatGPT为我创建的文件之一名为“device_detection.py”。这个特定文件应该检测通过USB端口连接到我的笔记本电脑的智能手机设备,然后在终端中打印结果。如果这就是我所需要的,那就太好了(并且......
  • 在K8S中,如果不能在容器内部使用netstat查看端口号的情况下,还有其他方式吗?
    在Kubernetes(K8S)中,如果Service访问出现问题,通常可以按照以下步骤进行详细的排查:1.检查Service的状态和配置操作:使用kubectldescribeservice<service-name>命令查看Service的详细描述,确保Service的类型(如ClusterIP,NodePort,LoadBalancer等)和端口映射(如port,targetPort,......
  • 在K8S中,有状态服务与无状态服务都是怎么使用pv和pvc?(可以通过应用场景说明一下)
    在Kubernetes中,有状态服务和无状态服务都可以使用PersistentVolumes(PV)和PersistentVolumeClaims(PVC)来管理持久化存储。下面是它们在不同场景下的使用方法:有状态服务:应用场景:有状态服务通常需要保持数据的一致性和持久性,例如数据库、缓存等。这些服务需要在多个实例之间共......
  • 4.9k star,下一代开源WAF,可无缝集成docker、k8s
    这是一个基于nginx的web服务器,可以无缝集成到你现有的环境中(Linux,Docker,Swarm,Kubernetes),除了可以在命令行界面操作,也提供了webui界面可以操作。 图片 bunkerwebbunkerweb简介BunkerWeb是下一代开源Web应用程序防火墙(WAF),传统意义上的waf是在web服务器前面增加防护设施。......
  • k8s service-node-port-range ip_local_reserved_ports 记录
    在Kubernetes中,ServiceNodePortRange是一个用于指定NodePort服务端口范围的参数。该参数定义了可以分配给NodePort服务的端口范围。默认情况下,NodePort服务使用的端口范围是30000到32767。如何查看k8sServiceNodePortRangek8smaster节点上的kube-apiserver进程......
  • 在 .NET 下,Fiddler 不再抓取 Web Service 流量问题
    在.NET下,Fiddler不再抓取WebService流量问题问题现象原来的一个应用中,需要访问SOAP服务。在原来的.NETFramework版本中,使用Fiddler是可以抓取到访问这个WebService的SOAP流量的。在迁移到.NET之后,Fiddler就不能再抓取到SOAP流量了。问题分析Fiddler......
  • k8s集群搭建
    1.createVMcentos7.92CPU4GBk8s-master公共IP地址20.212.185.31专用IP地址10.5.0.4k8s-node1公共IP地址20.205.154.71专用IP地址10.5.0.5k8s-node2公共IP地址20.212.197.234专用IP地址10.5.0.6k8s-win公共IP地址20.212.156.45专用IP地址1......
  • k8s-deployment:应用生命周期管理流程
    deployment:应用生命周期管理流程 应用程序->部署->升级->回滚->删除1部署deployment###kubectlapply-fweb1-deployp.yaml kubectlcreatedeploymentweb--image=nginx:1.16--replicas=3#web1-deploy.yaml ......
  • Go语言中使用K8s API及一些常用API整理
    Go语言中使用K8sAPI及一些常用API整理发布于 2022-05-0915:54:402K0举报文章被收录于专栏:devops_k8sGoClient在进入代码之前,理解k8s的goclient项目是对我们又帮助的。它是k8sclient中最古老的一个,因此具有很多特性。Client-go没有使用Swagger......