k8s解除NodePort端口限制
发表于|更新于|容器
|浏览量:
我自己写了一个 svc 的 yaml 文件,部署的时候报错,不在默认的范围内,默认范围是: 30000-32767
kubectl apply -f nginx-src.yaml
报错:
1 | The Service "nginx" is invalid: spec.ports[0].nodePort: Invalid value: 80: provided port is not in the valid range. The range of valid ports is 30000-32767 |
如果是 kubeadm 部署
修改配置文件 vim /etc/kubernetes/manifests/kube-apiserver.yaml
在启动参数里面添加如下一行
1 | - --service-node-port-range=1-65535 |
重启 kube-apiserver
1 | kubectl delete pod -n kube-system kube-apiserver-xxx |
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-04-08
Kubernetes的3中探针readinessProbe、livenessProbe和startupProbe
探针K8S 提供了 3 种探针 startupProbe 启动检查(1.16 版本新增)livenessProbe 存活检查readinessProbe 就绪检查 startupProbekubernetes 1.16 版本新增功能,用于判断容器内应用程序是否已经启动,如果配置了 startuprobe,就会先禁用其他的探测,直到它成功为止,成功后将不再进行探测。 1234567891011startupProbe: # 健康检查方式:[readinessProbe,livenessProbe,StartupProbe] failureThreshold: 3 # 检测失败3次表示未就绪 httpGet: # 请求方式 path: /health # 请求路径 port: 8080 # 请求端口 scheme: HTTP # 请求协议 initi...

2026-04-08
Java程序被停止前自动dump内存快照
线上业务偶尔会出现重启现象,为了排查这个问题,决定在 OOM 的时候自动进行 dump 内存快照用于分析 针对 JVM OOM 的情况OOM 全称 “Out Of Memory”,表示内存耗尽。当 JVM 因为没有足够的内存来为对象分配空间,并且垃圾回收器也已经没有空间可回收时,就会抛出这个错误,解决 OOM 问题的一个思路: 假设发生 OOM 了,必然说明系统中某个区域的对象太多了,塞满了那个区域,而且一定是无法回收掉那些对象,最终才会导致内存溢出的,首先就得知道到底是什么对象太多了导致 OOM ,就必须得有一份 JVM 发生 OOM 时的 dump 内存快照有了 dump 内存快照,就可以用 MAT 之类的工具,或者在线工具来分析:https://memory.console.heapdump.cn/JVM 在发生 OOM 的时候并不是直接挂掉的, 而是在 OOM 之前会尽量去 GC 腾出来一些内存空间,如果 GC 后还是没有空间,放不下对象, 才会触发内存溢出的。JVM 给我们提供了一些参数可以在发生 OOM 的时候进行自动 dump 内存快照。: -XX:+HeapDu...
2025-02-14
Kubernetes回滚应用之kubectl rollout
kubernetes 每次更新资源会记录资源的历史版本, 方便我们进行回滚操作。真的 k8s 解决了很多运维的痛点问题, 想起来以前没有用 k8s 的时候,用 jenkins 和 ansible 来做的发布和回滚… 查看历史版本12345678kubectl rollout history deployment nfs-client-provisionerdeployment.apps/nfs-client-provisionerREVISION CHANGE-CAUSE1 <none>2 <none>4 <none>5 <none> 这里列出的就是版本, 为什么没有 3, 因为从版本 4 回滚到了版本 3, 则版本 3 就变成了版本 5 查看指定版本详情1kubectl rollout history deployment nfs-client-provisioner --revision=4 回滚到指定版本1kubectl rollout undo dep...
2026-04-08
kubernetes节点维护流程
节点设置为 SchedulingDisabled 其实就是打上污点 node.kubernetes.io/unschedulable:NoSchedule 命令 说明 kubectl cordon 将 node 设置为 SchedulingDisabled, 不允许新的 pod 调度上来, 旧的 pod 不受影响 kubectl drain 先驱逐 node 上的 pod, k8s 会在其他节点重新创建, 然后将节点设置为 SchedulingDisabled kubectl uncordon 恢复调度, 删除 SchedulingDisabled 污点 操作流程常规操作将节点上现有的 pod 驱逐, 不追求优雅 1kubectl drain <node> --delete-local-data=true --ignore-daemonsets=true --force 操作完毕后, 将节点恢复调度 1kubectl uncordon <node> 对集群无影响的操作先针对节点执行 1kubectl cordon &l...
2026-04-08
使用cronjob自动重启k8s的deployment
配置权限1234567891011121314151617181920212223242526272829303132---kind: ServiceAccountapiVersion: v1metadata: name: deployment-restart namespace: default---apiVersion: rbac.authorization.k8s.io/v1kind: Rolemetadata: name: deployment-restart namespace: defaultrules: - apiGroups: ["apps", "extensions"] resources: ["deployments"] resourceNames: [] verbs: ["get", "patch", "list", "watch"] # list 和 watch 就够用了,如果需要执行 ro...
2026-04-08
开源分布式存储工具longhorn部署
k8s 如果需要用到存储,对于云产品一般都是采用云厂商提供的存储驱动,自建机房简单一点的会采用 nfs,nfs 有以下问题: 高可用性问题,一般都是单台机器在跑,高可用完全依靠物理机器的 RAID,非常不云原生 性能问题,NFS 本身性能不算好,外加一个集群都在使用,网卡速度是个瓶颈longhorn 是个开源的存储引擎,简单来说就是它把 k8s 每个节点的磁盘空间搜集起来,组成一个大池子,然后分配个各个 pod 使用。并通过多副本的方式做高可用。longhorn 好像是 openSUSE 家的吧,和 rancher 一个公司。 官方文档官方安装说明:https://longhorn.io/docs/1.6.1/deploy/install/install-with-kubectl/ 官方安装要求:https://longhorn.io/docs/1.6.1/deploy/install/#installation-requirements 官方的检查依赖项脚本: 1curl -fsSL https://raw.githubusercontent.com/longhorn/l...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群:

