Kubernetes pod 未启动

Kubernetes pod not starting

我有一个包含 5 个节点的 kubernetes 集群。当我添加一个简单的 nginx pod 时,它将被安排到其中一个节点,但它不会启动。它甚至不会拉图像。

这是 nginx.yaml 文件:

apiVersion: v1
kind: Pod 
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80

当我描述 pod 时有一个事件:Successfully assigned busybox to up02 当我登录到 up02 并检查是否有任何图像被拉取时,我发现它没有被拉取,所以我手动拉取它(我想也许它需要一些启动;))

pod会一直处于Container creating状态。不仅是这个 pod,问题是我尝试添加的任何 pod。

机器上有一些 pods 运行 是 Kubernetes 运行所必需的:

up@up01:~$ kubectl get pods --all-namespaces
NAMESPACE     NAME                                    READY     STATUS              RESTARTS   AGE
default       busybox                                 0/1       ContainerCreating   0          11m
default       nginx                                   0/1       ContainerCreating   0          22m
kube-system   dummy-2088944543-n1cd5                  1/1       Running             0          5d
kube-system   etcd-up01                               1/1       Running             0          5d
kube-system   kube-apiserver-up01                     1/1       Running             0          5d
kube-system   kube-controller-manager-up01            1/1       Running             0          5d
kube-system   kube-discovery-1769846148-xfpls         1/1       Running             0          5d
kube-system   kube-dns-2924299975-5rzz8               4/4       Running             0          5d
kube-system   kube-proxy-17bpl                        1/1       Running             2          3d
kube-system   kube-proxy-3pk63                        1/1       Running             0          3d
kube-system   kube-proxy-h3wrj                        1/1       Running             0          5d
kube-system   kube-proxy-wzqv4                        1/1       Running             0          3d
kube-system   kube-proxy-z3xxx                        1/1       Running             0          3d
kube-system   kube-scheduler-up01                     1/1       Running             0          5d
kube-system   kubernetes-dashboard-3203831700-3xfbd   1/1       Running             0          5d
kube-system   weave-net-6c0nr                         2/2       Running             0          3d
kube-system   weave-net-dchhf                         2/2       Running             0          5d
kube-system   weave-net-hshvg                         2/2       Running             4          3d
kube-system   weave-net-n684c                         2/2       Running             1          3d
kube-system   weave-net-r5319                         2/2       Running             0          3d

你可以做到

kubectl describe pods <pod>

获取有关正在发生的事情的更多信息。

你能在命名空间 kube-system 中重新创建 nginx pod 吗?

kubectl create --namespace kube-system -f nginx.yaml

这应该可以解决您的问题。

第二,你的环境有没有代理,也看看。

确保您的命名空间和服务帐户信息正确。如果您已将服务或部署配置为使用命名空间或服务帐户,则该命名空间需要存在。

如果您将其配置为使用非默认服务帐户,则该帐户也必须存在,并且应在命名空间之后创建服务帐户。

您不一定要使用 kube 系统命名空间。存在命名空间,因此可以有多个命名空间并控制集群内部的流量。

您还应该为您的命名空间设置潜在的设置权限。在这里阅读。 https://kubernetes.io/docs/reference/access-authn-authz/rbac/#service-account-permissions