我已经研究 Kubernetes 一周了,以便将其应用到一个业余项目中。但刚才我遇到了一个问题,似乎是我的 Ubuntu 帐户的问题。
如果我使用 GCP Web SSH 的默认帐户运行 kubectl create -f 命令,它可以正常工作。
但是,如果我使用 root 帐户运行相同的命令,它会崩溃并出现以下错误消息:
Error from server (Forbidden): error when creating "http-go-pod-v2.yaml": pods "http-go" is forbidden: pod does not have "kubernetes.io/config.mirror" annotation, node "master-1" can only create mirror pods
为什么root账户无法运行?
我发现使用默认账户是没有问题的,但是我想从原因上详细解决这个问题...
我不太确定你如何设置 Kubernetes (kubeadm?),但是当你以“root”身份运行
kubectl
命令时,它会尝试创建一个镜像 pod,该镜像 pod 通常只保留给 kubelet 创建 静态吊舱。
有关静态 Pod 的更多信息:kubernetes 中的“Pod”和“静态 Pod”有什么区别以及何时选择“静态 Pod”而不是常规 Pod