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
我有一个包含 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