1、解决kubectl get pods时 No resources found.问题
原因:搭建环境时,如果是非安全模式,需要做以下操作:
1、$vi /etc/kubernetes/apiserver
2"KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota",去掉ServiceAccount,保存退出。
3、重新启动kube-apiserver服务即可
2、关于默认启动pods问题,最坑,网上一堆垃圾答案。在非安全模式下:
创建pods,一直处于ContainerCreating
通过查看命令 kubectl descripte pods name;
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
1m 1m 1 {default-scheduler } Normal Scheduled Successfully assigned redis-master-6jgsl to 127.0.0.1
1m 47s 3 {kubelet 127.0.0.1} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for registry.access.redhat.com/rhel7/pod-infrastructure:latest, this may be because there are no credentials on this request. details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory)"
1m 10s 4 {kubelet 127.0.0.1} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image \"registry.access.redhat.com/rhel7/pod-infrastructure:latest\""
很明显,每一个pod需要一个跟容器,pause,缺少这个,
此问题,花费很久,各种改,
比如:尝试安装yum install *rhsm*
没有什么用,就是缺少镜像registry.access.redhat.com/rhel7/pod-infrastructure:
那么简单,找到这个,下载就可以,但是找不到,最后我在之前集群找到这个镜像,然后达成压缩包 pod-infrastructure.tar
在你集群每节点上传就可以。 命令 docker load --input pod-infrastructure.tar
附件是需要的镜像压缩包:
然后删除之前创建的pods,重新创建,就OK!!!!
3、子节点无法访问住节点etcd,很简单,所有节点需要ssh面密码登陆,网上教程,都基本不写,亲自试,必须要。想象一下hadoop