无法在 minikube 中创建扳手实例模拟器
Can't create spanner instance emulator in minikube
在本地环境中,使用spanner的docker模拟器创建开发工具。
如果使用minikube,运行它的docker在kubernetes环境下,可以启动它的容器
minikube start
eval $(minikube docker-env)
docker run -p 9010:9010 -p 9020:9020 gcr.io/cloud-spanner-emulator/emulator
但是无法通过gcloud
命令创建实例
gcloud spanner instances create test-env --config=emulator-config --description="Local dev instance" --nodes=1
它变成了待处理。
当使用没有 minikube 的环境时,我可以启动 docker 并创建一个实例
docker run -p 9010:9010 -p 9020:9020 gcr.io/cloud-spanner-emulator/emulator
gcloud spanner instances create test-env --config=emulator-config --description="Local dev instance" --nodes=1
gcloud spanner instances list
在 minikube 的 docker-env 下似乎不能 运行 gcloud spanner
命令。为什么?
执行 eval $(minikube docker-env)
配置环境以使用 minikube 的 Docker 守护进程 (https://minikube.sigs.k8s.io/docs/commands/docker-env/)。
因此,模拟器 运行 docker 域“内部”,即 运行 minikube 集群“内部”。
您可以通过使用 ssh minikube
sshing 进入 minikube 集群来查看 运行 进程列表来验证这一点。然后,您可以对 http://localhost:9020/v1/projects/test-project/instances
进行卷曲,这应该会立即 return 结果。
这似乎是因为端口没有被公开。
默认情况下,minikube 只暴露端口 30000-32767。您可以通过以下方式更改它:
minikube start --extra-config=apiserver.service-node-port-range=1-65535
https://minikube.sigs.k8s.io/docs/handbook/accessing/#increasing-the-nodeport-range
在本地环境中,使用spanner的docker模拟器创建开发工具。
如果使用minikube,运行它的docker在kubernetes环境下,可以启动它的容器
minikube start
eval $(minikube docker-env)
docker run -p 9010:9010 -p 9020:9020 gcr.io/cloud-spanner-emulator/emulator
但是无法通过gcloud
命令创建实例
gcloud spanner instances create test-env --config=emulator-config --description="Local dev instance" --nodes=1
它变成了待处理。
当使用没有 minikube 的环境时,我可以启动 docker 并创建一个实例
docker run -p 9010:9010 -p 9020:9020 gcr.io/cloud-spanner-emulator/emulator
gcloud spanner instances create test-env --config=emulator-config --description="Local dev instance" --nodes=1
gcloud spanner instances list
在 minikube 的 docker-env 下似乎不能 运行 gcloud spanner
命令。为什么?
执行 eval $(minikube docker-env)
配置环境以使用 minikube 的 Docker 守护进程 (https://minikube.sigs.k8s.io/docs/commands/docker-env/)。
因此,模拟器 运行 docker 域“内部”,即 运行 minikube 集群“内部”。
您可以通过使用 ssh minikube
sshing 进入 minikube 集群来查看 运行 进程列表来验证这一点。然后,您可以对 http://localhost:9020/v1/projects/test-project/instances
进行卷曲,这应该会立即 return 结果。
这似乎是因为端口没有被公开。
默认情况下,minikube 只暴露端口 30000-32767。您可以通过以下方式更改它:
minikube start --extra-config=apiserver.service-node-port-range=1-65535
https://minikube.sigs.k8s.io/docs/handbook/accessing/#increasing-the-nodeport-range