我正在macos 10.15.3下测试一个kubernetes minikube/influxdb/grafana stack。我正在命令行上工作。
系统环境:
- 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
迷你库贝回应
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 中可用。
一些 shell 脚本行 我通过应用 yaml 代码创建了 Grafana 服务:
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 中更新服务端口范围?
我在Mac上也遇到了这个问题。密钥正在运行minikube delete
,然后再次运行minikube start --extra-config=apiserver.service-node-port-range=3000-61616
。
这是Docker驱动程序,而不是hyperkit FWIW。