kubectl端口转发:“pod不存在”在第一次运行?

按照这个指南,我试图在启动时启动minikube和转发端口。

我的脚本:

 #!/bin/bash set -eux export PATH=/usr/local/bin:$PATH minikube status || minikube start minikube ssh 'grep docker.for.mac.localhost /etc/hosts || echo -e "127.0.0.1\tdocker.for.mac.localhost" | sudo tee -a /etc/hosts' minikube ssh 'test -f wait-for-it.sh || curl -O https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh' minikube ssh 'chmod +x wait-for-it.sh && ./wait-for-it.sh 127.0.1.1:10250' POD=$(kubectl get po --namespace kube-system | awk '/kube-registry-v0/ { print $1 }') kubectl port-forward --namespace kube-system $POD 5000:5000 

一切工作正常,除了kubectl port-forward说,第一次运行pod不存在:

 ++ kubectl get po --namespace kube-system ++ awk '/kube-registry-v0/ { print $1 }' + POD=kube-registry-v0-qr2ml + kubectl port-forward --namespace kube-system kube-registry-v0-qr2ml 5000:5000 error: error upgrading connection: unable to upgrade connection: pod does not exist 

如果我重新运行:

 + minikube status minikube: Running cluster: Running kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100 + minikube ssh 'grep docker.for.mac.localhost /etc/hosts || echo -e "127.0.0.1\tdocker.for.mac.localhost" | sudo tee -a /etc/hosts' 127.0.0.1 docker.for.mac.localhost + minikube ssh 'test -f wait-for-it.sh || curl -O https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh' + minikube ssh 'chmod +x wait-for-it.sh && ./wait-for-it.sh 127.0.1.1:10250' wait-for-it.sh: waiting 15 seconds for 127.0.1.1:10250 wait-for-it.sh: 127.0.1.1:10250 is available after 0 seconds ++ kubectl get po --namespace kube-system ++ awk '/kube-registry-v0/ { print $1 }' + POD=kube-registry-v0-qr2ml + kubectl port-forward --namespace kube-system kube-registry-v0-qr2ml 5000:5000 Forwarding from 127.0.0.1:5000 -> 5000 Forwarding from [::1]:5000 -> 5000 

我在转发之前添加了一个debugging行:

 kubectl describe pod --namespace kube-system $POD 

看到这个:

 + POD=kube-registry-v0-qr2ml + kubectl describe pod --namespace kube-system kube-registry-v0-qr2ml Name: kube-registry-v0-qr2ml Namespace: kube-system Node: minikube/192.168.99.100 Start Time: Thu, 28 Dec 2017 10:00:00 +0700 Labels: k8s-app=kube-registry version=v0 Annotations: kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicationController","namespace":"kube-system","name":"kube-registry-v0","uid":"317ecc42-eb7b-11e7-a8ce-... Status: Running IP: 172.17.0.6 Controllers: ReplicationController/kube-registry-v0 Containers: registry: Container ID: docker://6e8f3f33399605758354f3f546996067d834459781235d51eef3ffa9c6589947 Image: registry:2.5.1 Image ID: docker-pullable://registry@sha256:946480a23b33480b8e7cdb89b82c1bd6accae91a8e66d017e21e8b56551f6209 Port: 5000/TCP State: Running Started: Thu, 28 Dec 2017 13:22:44 +0700 

为什么kubectl说,它不存在?