杨梅冲
每天在想什么呢?

问题1:

问题描述:k8s中Terminating状态pod不能删除

[root@master ~]# kubectl get pods -n ms
NAME                      READY   STATUS        RESTARTS   AGE
portal-7895774cd7-vr5wg   0/1     Terminating   1          102m

解决方法:强制删除

[root@master ~]# kubectl delete pods portal-7895774cd7-vr5wg --grace-period=0 --force -n ms
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "portal-7895774cd7-vr5wg" force deleted

 问题2:

问题描述:k8s删除节点

[root@master k8s]# kubectl drain harbor --delete-local-data --force --ignore-daemonsets
Flag --delete-local-data has been deprecated, This option is deprecated and will be deleted. Use --delete-emptydir-data.
node/harbor cordoned
WARNING: ignoring DaemonSet-managed Pods: kube-system/calico-node-8z2sz, kube-system/kube-proxy-64ljc
evicting pod ms/eureka-1

pod/eureka-1 evicted
node/harbor evicted

[root@master k8s]# kubectl get nodes
NAME     STATUS                     ROLES                  AGE   VERSION
harbor   Ready,SchedulingDisabled   <none>                 44m   v1.20.7

[root@master k8s]# kubectl delete node harbor
node "harbor" deleted

# 被删除节点执行
kubeadm reset

#  1.33新版删除方法 

# master
kubectl cordon node1
kubectl drain node1--ignore-daemonsets --delete-emptydir-data --force
kubectl delete node1

# node节点
# 1. 重置节点状态
sudo kubeadm reset -f :ml-citation{ref="8" data="citationList"}

# 2. 清理网络规则
sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F
sudo ipvsadm -C  # 若使用 IPVS 模式 :ml-citation{ref="8" data="citationList"}

# 3. 删除残留文件
sudo rm -rf /etc/kubernetes /var/lib/kubelet /var/lib/etcd /etc/cni ~/.kube

问题3:

问题描述:k8s控制节点提示:The connection to the server 192.168.10.10:6443 was refused - did you specify the right host or port?

[root@master ~]# kubectl get nodes
The connection to the server 192.168.10.10:6443 was refused - did you specify the right host or port?

造成原因:
    1.有可能是刚改的配置问题导致
    2.还有可能是服务器重启了导致

解决方法:
1.查看docker和kubelet服务是否有启动
    systemctl status kubelet
2.查看kubelet日志
     journalctl -xefu kubelet
我这边有很多次都是重启后出现这种情况,日志里说是The container name...is already in use by container...You have to remove (or rename) that container to be able to reuse that name.
处理方法:
docker ps -a | grep 报错容器名字
删除已经 Exited的docker
docker rm CONTAINER ID
还有一种是还原etcd备份(不熟悉的不建议使用)

 问题 4:pod不能删除

#可以先试试重启kubelet
# 方法1:强制删除
kubectl delete pod calico-kube-controllers-64b69c8f54-qprf7 -n kube-system --grace-period=0 --force

# 方法2:Finalizers 阻塞删除
kubectl patch pod <pod-name> -n <namespace> -p '{"metadata":{"finalizers":null}}' ³  
kubectl patch namespace <ns-name> -p '{"metadata":{"finalizers":null}}'

 

posted on 2022-08-26 17:13  杨梅冲  阅读(197)  评论(0)    收藏  举报