首页 > 解决方案 > Kubernetes 失去了增强的服务端口范围

问题描述

我正在 macOS 10.15.3 下测试 kubernetes minikube/influxdb/grafana 堆栈。我正在命令行上工作。

系统环境:

我通过 shell 脚本启动 minikube

minikube start --extra-config=apiserver.service-node-port-range=3000-61616

minikube 回应

Creating hyperkit VM (CPUs=2, Memory=2000MB, Disk=20000MB) ...
  Preparing Kubernetes v1.17.2 on Docker 19.03.5 ...
    ▪ apiserver.service-node-port-range=3000-61616
  Launching Kubernetes ...
  Enabling addons: default-storageclass, storage-provisioner
⌛  Waiting for cluster to come online ...
  Done! kubectl is now configured to use "minikube"

所以我假设服务端口 3000-61616 在 minikube 中可用。

我通过应用 yaml 代码创建了 Grafana 服务的一些 shell 脚本行:

apiVersion: v1
kind: Service
metadata:
  name: grafana
  namespace: default
spec:
  selector:
    app: grafana
  type: NodePort
  ports:
    - protocol: TCP
      port: 3000
      targetPort: 3000
      nodePort: 3000

产生:

The Service "grafana" is invalid: spec.ports[0].nodePort: Invalid value: 3000: provided port is not in the valid range. The range of valid ports is 30000-32767

看起来,服务端口范围以某种方式被重置。Grafana 部署和其他部署,以及 influxDB 和 telegraf 服务(不是“NodePort”类型!)不会引起问题。相同的代码在标准的 linux 系统上不会导致此类问题。

现在有几个问题:

标签: kubernetesminikubekubernetes-apiserverkube-apiserverservice-node-port-range

解决方案


我在mac上也遇到了这个问题。密钥正在运行minikube delete,然后minikube start --extra-config=apiserver.service-node-port-range=3000-61616再次运行。

这是使用 Docker 驱动程序,而不是 hyperkit FWIW。


推荐阅读