K8S中nodePort使用端口范围受限问题

场景:

在K8S集群中部署Oracle,使用NodePort对外暴露端口的时候,出现暴露端口受限的问题。

报错:

The Service “oracle-server” is invalid: spec.ports[0].nodePort: Invalid value: 1521: provided port is not in the valid range. The range of valid ports is 30000-32767

解决方式:

一、RKE方式搭建的解决

#这是我们在搭建K8S所写的配置文件,按官网步骤来,它应该是叫cluster.yaml
rke up --config rke.yaml
#==================================================================
nodes:- address: 172.31.0.110user: rkerole: [controlplane, worker, etcd]- address: 172.31.0.115user: rkerole: [worker]- address: 172.31.0.82user: rkerole: [worker]services:etcd:snapshot: truecreation: 6hretention: 24hingress:provider: nginxoptions:use-forwarded-headers: “true”
ded-headers: “true”
#可看到缺少kube-api的配置,所以应该在services下面添加该配置kube-api:service_node_port_range: 1-32767
#再执行rke up 进行配置
rke up --config rke.yaml

官网:[cluster.yml 文件示例](cluster.yml 文件示例 | Rancher文档)

配置之后如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BeSHTGWw-1652922662825)(E:\AppData\Roaming\Typora\typora-user-images\image-20220519085826506.png)]

二、kubeadm方式搭建的解决

解决方式也是修改kube-api的配置,不过它有独有的配置文件可以修改

1、找到kube-apiserver.yaml文件

#查看kube-apiserver.yaml的位置
find / -name kube-apiserver.yaml#通过位置去编辑该文件
vim /etc/kubernetes/manifests/kube-apiserver.yaml

2、修改- kube-apiserver下面的–service-cluster-ip-range范围值

    spec:containers:- command:- kube-apiserver- --service-node-port-range=1-32767

3、重启kubelet

systemctl daemon-reload
systemctl restart kubelet

K8S中nodePort使用端口范围受限问题相关推荐

  1. k8s 更改NodePort默认端口范围

    kubeadm 更改NodePort端口范围 kubernetes默认端口号范围是 30000-32767 ,如果期望值不是这个区间则需要更改. 1.找到配置文件里,一般的在这个文件夹下: /etc/ ...

  2. kubernetes(k8s)修改service NodePort的端口范围

    修改NodePort的范围 1.修改kube-apiserver.yaml文件 2.重启apiserver 3.验证结果 前提: 在 Kubernetes 集群中,NodePort 默认范围是 300 ...

  3. k8s中几种port介绍

    1.端口所应用位置的不同 port是service的的端口 targetport是pod也就是容器的端口 nodeport是容器所在宿主机的端口(实质上也是通过service暴露给了宿主机,而port ...

  4. 『中级篇』k8s的NodePort类型Service以及Label的简单实用(68)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』k8s的NodePort类型Service以及Label的简单实用(68) 上次主要说了service的一种类型,c ...

  5. kubernetes(三)k8s中通信和Service

    目录 1.同一个Pod中的容器通信 2.集群内Pod之间的通信 3 集群内Service-Cluster IP 4.外部服务访问集群中的Pod 4.1 Service-NodePort 4.2.Ser ...

  6. 在 k8s 中部署 Prometheus 和 Grafana

    部署 Prometheus 和 Grafana 到 k8s Intro 上次我们主要分享了 asp.net core 集成 prometheus,以及简单的 prometheus 使用,在实际在 k8 ...

  7. asp.net core程序在k8s中基于rabbitmq队列消息数的HPA实践!

    背景 最近一段时间,陆陆续续的把手里头项目都迁移到了k8s中,期间遇到很多的坑,并且也学到了许多k8s的知识(从0-1),大家都知道k8s中的一大特性是自动扩容,对此结合自己的业务发现很是有" ...

  8. K8s9(2-1) k8s中的通信机制, kube-proxy的ipvs模式 ,无头服务,LoadBalancer,ExternalName,外部公有 ip(externalIPs)

    1.K8s中的service和通信: Service可以看作是一组提供相同服务的Pod对外的访问接口.借助Service,应用可以方便地实现服务发现和负载均衡. service默认只支持4层负载均衡能 ...

  9. k8s中部署grafana

    一次排坑记录! 1. k8s中创建对应的grafana资源 grafana官方yaml 我在apply这个文件里遇到里两个问题 service 中的type需要设置为「NodePort」: apiVe ...

  10. 关于K8s中Ansible AWX(awx-operator 0.30.0)平台Helm部署的一些笔记

    写在前面 整理一些K8s中通过Helm的方式部署AWX的笔记分享给小伙伴 博文内容为部署过程和遇到问题的解决过程 食用方式: 需要了解K8s 需要预置的K8s+Helm环境 需要科学上网 理解不足小伙 ...

最新文章

  1. 将列表转成数组_漫画 | 什么是散列表(哈希表)?
  2. 前端学习(1743):前端调试值之调试元素的hover样式
  3. 链表的头结点和尾节点的用处
  4. 《对Java的分析总结》-Java中的垃圾回收机制中的标记-清除算法 (五)
  5. PAT乙级 1027 打印沙漏
  6. html 手机楼层布局,纯html、css、javascript实现楼层跳跃式的页面布局
  7. mysql csv 表头_Mysql实例mysql 导出CSV文件 并带表头的方法
  8. 工程数学(数值分析)第六讲:数值微积分
  9. Tensorrt7: AttributeError: ‘NoneType‘ object has no attribute ‘create_execution_context‘
  10. c语言程序一些常见的不足,C语言常见错误分析及解决方法
  11. Unity同一项目双开方法
  12. .NET 6 Preview 5 终于发布
  13. 【备忘】LAMP兄弟连李明老师讲Linux[更新完毕-共享完毕]
  14. go 时间的操作(比较,增加)
  15. 增量式光电编码器原理及其结构
  16. android gps定位误差,Android的GPS定位速度不可靠
  17. java泛型:T与?的使用及区别
  18. uac管理员程序_有启用UAC的管理员快速打开程序的方法吗?
  19. 笔记本电脑外接显示器无信号 其实是主板静电积压 完全可以不拆机放电
  20. Can‘t bind to ‘ngForOf‘ since it isn‘t a known property of ‘xxx‘

热门文章

  1. 配置 Ubuntu 的网络
  2. Java三大器之拦截器(Interceptor)的实现原理及代码示例
  3. JS 去除字符串中的换行符 /n
  4. 在js页面让换行符换行
  5. linux 命令之 ipcs、ipcrm
  6. java中char转化为int的几种方法
  7. TCP协议和UDP协议的特点
  8. Spring Session + Redis实现Session共享
  9. perl中的undef数值和defined函数
  10. NodeJS写日志_Log4js使用详解