K8S故障排除方法


1.查看pods哪些是有问题的,Runningg正常,其他异常;
/opt/kubernetes/bin/kubectl get pods --all-namespaces -owide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
default nginx-dbddb74b8-d78cd 1/1 Running 0 17m 172.17.90.3 192.168.18.148 <none>

2.查看异常pod的详情
/opt/kubernetes/bin/kubectl describe pods nginx-dbddb74b8-2hthr
我这边异常信息如下:
Warning FailedScheduling 32m (x2 over 32m) default-scheduler 0/2 nodes are available: 2 node(s) had taints that the pod didn't tolerate.
解决办法:参考:https://github.com/kubernetes-sigs/kubespray/issues/2798

3.查看异常服务的详情
/opt/kubernetes/bin/kubectl describe services nginx

4.查看集群node的状态
/opt/kubernetes/bin/kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
192.168.18.147 NotReady <none> 62m v1.12.1 192.168.18.147 <none> CentOS Linux 7 (Core) 3.10.0-862.el7.x86_64 docker://18.9.5

我这边是NotReady状态,经排查发现, node18.147上面的kubelet kube-proxy挂掉了,服务启来后就可以了


5.查看node的详情
/opt/kubernetes/bin/kubectl describe node 192.168.18.147

 

Warning FailedScheduling 32m (x2 over 32m) default-scheduler 0/2 nodes are available: 2 node(s) had taints that the pod didn't tolerate.
这个的具体解决方法:
我这边查看pod详情,Taints显示如下:
Taints: node.kubernetes.io/unreachable:NoSchedule

执下如下命令后即可
[root@master tmp]# /opt/kubernetes/bin/kubectl taint nodes --all node.kubernetes.io/unreachable-
node/192.168.18.147 untainted
node/192.168.18.148 untainted

 

 

6.查看集群组件状态
/opt/kubernetes/bin/kubectl get cs
NAME STATUS MESSAGE ERROR
scheduler Healthy ok
controller-manager Healthy ok
etcd-1 Healthy {"health":"true"}
etcd-2 Healthy {"health":"true"}
etcd-0 Healthy {"health":"true"}


7.查看服务集群IP、端口、运行时长
/opt/kubernetes/bin/kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 4h51m
nginx NodePort 10.0.0.215 <none> 88:40675/TCP 92m

 

转载于:https://www.cnblogs.com/dengmeinan/p/10736149.html

Kubernetes (k8s)是一个用于容器编排和管理的开源平台,但在实际使用中可能会遇到一些常见的故障。以下是几个常见的k8s故障及其处理方法: 1. Pod无法启动或CrashLoopBackOff:这可能是由于应用程序错误、资源不足或配置问题引起的。您可以通过查看Pod的日志和事件来了解具体原因。修复方法可能包括修复应用程序错误、调整资源配额或修改配置文件。 2. 节点不可用:如果一个或多个节点无法正常工作,您可能会遇到服务中断的问题。您可以通过检查节点的状态、重启节点或替换故障节点来解决这个问题。另外,您可以使用副本控制器来确保Pod在其他可用节点上重新启动。 3. 网络问题:如果Pod无法相互通信或与外部服务通信,可能是由于网络配置错误、防火墙规则或网络故障引起的。您可以检查网络配置、检查防火墙规则并确保网络连接正常。 4. 存储问题:如果您使用了持久卷(Persistent Volume)并且无法访问存储,可能是由于存储配置错误、权限问题或存储故障引起的。您可以检查存储配置、修复权限问题或联系存储管理员来解决这个问题。 5. 资源耗尽:如果您的集群资源不足,可能会导致Pod无法启动或运行缓慢。您可以通过添加更多节点、调整资源配额或优化应用程序来解决这个问题。 这些只是一些常见的k8s故障和处理方法的示例。实际情况可能因您的环境和配置而异。在遇到故障时,建议您查看相关日志、事件和监控信息,以便更好地诊断和解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值