1

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

系统环境:

  • MacOS 10.15.3 /bin/bash (darwin19)
  • Minikube 1.7.2,通过下载

    curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64

我通过 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 系统上不会导致此类问题。

现在有几个问题:

  • 如何显示服务节点端口范围的当前状态?
  • 为什么/在哪里可以更改服务范围?
  • 作为解决方法:如何更新正在运行的节点/kube-api 中的服务端口范围?
4

1 回答 1

2

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

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

于 2020-10-13T17:30:32.347 回答