即使节点处于就绪状态,Kubernetes pod也不会启动

时间:2018-04-10 23:24:14

标签: kubernetes cluster-computing devops

我是kubernetes的新手,我正在努力开始我的薯条。 我在我的Ubuntu虚拟机上安装了kubernetes,继续

kubeadm init

其次是其他指示

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

我可以看到该节点已启动并正在运行

kubectl get nodes
NAME      STATUS    ROLES     AGE       VERSION
vm24740   Ready     master    12m       v1.10.0

然而我的豆荚不会开始:

kubectl get pods
NAME                               READY     STATUS    RESTARTS   AGE
myappdeployment-588bc8ddf4-28jzj   0/1       Pending   0          11m
myappdeployment-588bc8ddf4-9bbb9   0/1       Pending   0          11m
myappdeployment-588bc8ddf4-fptft   0/1       Pending   0          11m
myappdeployment-588bc8ddf4-lxj8p   0/1       Pending   0          11m
myappdeployment-588bc8ddf4-xhg5f   0/1       Pending   0          11m

这是关于pod的详细视图:

kubectl describe pod myappdeployment-588bc8ddf4-28jzj
Name:           myappdeployment-588bc8ddf4-28jzj
Namespace:      default
Node:           <none>
Labels:         app=myapp
                pod-template-hash=1446748890
Annotations:    <none>
Status:         Pending
IP:
Controlled By:  ReplicaSet/myappdeployment-588bc8ddf4
Containers:
  myapp:
    Image:        jamesquigley/exampleapp:v1.0.0
    Port:         9000/TCP
    Host Port:    0/TCP
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-6rcjb (ro)
Conditions:
  Type           Status
  PodScheduled   False
Volumes:
  default-token-6rcjb:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-6rcjb
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason            Age                From               Message
  ----     ------            ----               ----               -------
  Warning  FailedScheduling  1m (x37 over 11m)  default-scheduler  0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.

有人比我更有经验,为什么豆荚不会开始?

1 个答案:

答案 0 :(得分:7)

好像你正在运行单节点(主)k8s:

来自Documentation

  

主隔离

     

默认情况下,您的群集不会安排播客   主人出于安全考虑。如果您希望能够安排   主机上的吊舱,例如用于单机Kubernetes集群   开发,运行:

     

kubectl taint nodes --all node-role.kubernetes.io/master-

     

输出看起来像:

     

node "test-01" untainted taint key="dedicated" and effect="" not found. taint key="dedicated" and effect="" not found

     

这将从拥有它的任何节点中删除the node-role.kubernetes.io/master污点,   包括主节点,这意味着调度程序将是   能够在任何地方安排豆荚。