版权声明:均是学习笔记、心得,如有冒犯,请指出,会及时处理。 https://blog.csdn.net/u013355826/article/details/82787241
kubernetes环境
系统环境:centos7.3
版本信息:kubernetes1.10
安装方法:kubeadm
安装完成后如下所示:
[root@worker3 k8s]# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-worker3 1/1 Running 0 1h
kube-system kube-apiserver-worker3 1/1 Running 0 1h
kube-system kube-controller-manager-worker3 1/1 Running 0 1h
kube-system kube-dns-86f4d74b45-8ptd5 3/3 Running 0 1h
kube-system kube-flannel-ds-kstl8 1/1 Running 0 38m
kube-system kube-proxy-txfj4 1/1 Running 0 1h
kube-system kube-scheduler-worker3 1/1 Running 0 1h
[root@worker3 shell]# kubectl get node
NAME STATUS ROLES AGE VERSION
worker3 Ready master 1h v1.10.0
根据创建的mysql-rc.yaml文件
kubectl create -f mysql-rc.yaml
问题如下:
[root@worker3 k8s]# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default mysql-b2wgs 0/1 Pending 0 3s
kube-system etcd-worker3 1/1 Running 0 1h
kube-system kube-apiserver-worker3 1/1 Running 0 1h
kube-system kube-controller-manager-worker3 1/1 Running 0 1h
kube-system kube-dns-86f4d74b45-8ptd5 3/3 Running 0 1h
kube-system kube-flannel-ds-kstl8 1/1 Running 0 34m
kube-system kube-proxy-txfj4 1/1 Running 0 1h
kube-system kube-scheduler-worker3 1/1 Running 0 1h
查看具体信息:
[root@worker3 k8s]# kubectl describe pod mysql-b2wgs
Name: mysql-b2wgs
Namespace: default
Node: <none>
Labels: app=mysql
Annotations: <none>
Status: Pending
IP:
Controlled By: ReplicationController/mysql
Containers:
mysql:
Image: hub.c.163.com/library/mysql
Port: 3306/TCP
Host Port: 0/TCP
Environment:
MYSQL_ROOT_PASSWORD: 123456
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-kmm7p (ro)
Conditions:
Type Status
PodScheduled False
Volumes:
default-token-kmm7p:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-kmm7p
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 19s (x7 over 50s) default-scheduler 0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.
最后出现的错误如下:
Warning FailedScheduling 19s (x7 over 50s) default-scheduler 0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.
解决办法:
默认情况下kubernetes中的master并不能运行用户的Pod. 因此需要删除 Train,允许master执行Pod
执行命令如下:
kubectl taint nodes --all node-role.kubernetes.io/master-
参考文档:
https://github.com/kubernetes-incubator/kubespray/issues/2798