赞
踩
[root@kub-k8s-master mysql]# kubectl describe pod mysql-0 -n mysql
问题一:
最后面报错:
Events:
Warning FailedScheduling 23s (x2 over 23s) default-scheduler 0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims.
- Events:
- Type Reason Age From Message
- ---- ------ ---- ---- -------
- Warning FailedScheduling 23s (x2 over 23s) default-scheduler 0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims.
发现问题:因为pvc一直处于pending状态,没有创建好,所以pod一直处于pending状态
尝试解决问题:
pvc之所以处于pending状态是因为我的k8s.gcr.io/kube-apiserver版本是: v1.20.2。
而如果是 v1.20 版本以上 apiserver 默认是禁止使用 selfLink,所以需要
vim /etc/kubernetes/manifests/kube-apiserver.yaml 手动配置
- --feature-gates=RemoveSelfLink=false
开启。如下图所示
修改过后,pvc创建成功,如图所示:
问题二:
pod的状态虽然不是pending,但是发现第一容器mysql-0还是没有创建成功,报错如下:
Output: mount.nfs: mounting 192.168.89.66:/home/data/mysql-data-mysql-0-pvc-73d8ba2c-5c4e-44bf-9550-39e00451c020 failed, reason given by server: No such file or directory
(这个问题两个容器在创建的时候都会遇到,遇到之后操作方法:mkdir /home/data/文件名,例第一个容器的解决方法如下:)
解决方法:
[root@kub-k8s-master ~]# mkdir /home/data/mysql-data-mysql-0-pvc-73d8ba2c-5c4e-44bf-9550-39e00451c020
[root@kub-k8s-master mysql]# systemctl enable rpcbind && systemctl restart nfs
[root@kub-k8s-master mysql]#
[root@kub-k8s-master mysql]# systemctl enable nfs-server && systemctl restart rpcbind
[root@kub-k8s-master mysql]#
问题三:Warning FailedMount 15h kubelet Unable to attach or mount volumes: unmounted volumes=[data], unattached volumes=[default-token-dtj2b data conf config-map]: timed out waiting for the condition
这个还没等解决,pod就running了,目前两个容器都running了
问题四:
Warning BackOff 5m32s (x9 over 7m) kubelet Back-off restarting failed container
解决尝试:
在statfulset.yaml文件中添加
command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
问题五:找不到hostname
解决尝试:注释掉:hostname
删除之前的pod,重新kubectl apply -f ,结果如下,这个报错也就消失了~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。