K8S - Shooting Trouble

该文章记录自己在学习使用K8S过程,遇到过的问题与解决方法,与大家分享之。

1. Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused

现象

[root@t20 ~]# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS      MESSAGE                                                                                       ERROR
controller-manager   Unhealthy   Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused   
scheduler            Unhealthy   Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection refused   
etcd-0               Healthy     {"health":"true"}      

解决: 在每台master节点上进行以下操作

[root@t20 ~]# cat  /etc/kubernetes/manifests/kube-scheduler.yaml 
...
16     - --bind-address=127.0.0.1
17     - --kubeconfig=/etc/kubernetes/scheduler.conf
18     - --leader-elect=true
19   #  - --port=0    # 注释掉该行


[root@t20 ~]# cat /etc/kubernetes/manifests/kube-controller-manager.yaml 
...
24     - --kubeconfig=/etc/kubernetes/controller-manager.conf
25     - --leader-elect=true
26  #   - --port=0   # 注释掉该行


[root@t20 ~]# systemctl restart kubelet

查看:

[root@t20 ~]# kubectl get cs
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME                 STATUS    MESSAGE             ERROR
controller-manager   Healthy   ok                  
scheduler            Healthy   ok                  
etcd-0               Healthy   {"health":"true"} 

### Kubernetes (k8s) 入门指南 Kubernetes 是一种用于自动化部署、扩展和管理容器化应用程序的开源平台。对于初学者而言,理解其基本概念以及如何设置环境至关重要。 #### 安装配置指南 为了顺利安装配置 Kubernetes,建议遵循官方文档或者经过验证的学习资料来操作。例如,《Kubernetes 权威指南》提供了详细的安装配置说明[^1]。该书不仅涵盖了从 Docker 到 Kubernetes 实践所需的全部知识点,还特别针对不同操作系统给出了具体的安装步骤和技术细节。 #### Pod 和 Service 掌握要点 Pod 是 Kubernetes 中最小可部署单元,通常由一个或多个紧密关联的容器组成。而 Service 提供了一种定义服务的方式,使得应用可以被其他组件发现并访问。深入了解这两者的工作原理有助于更好地设计微服务体系结构。 #### 核心组件解析 熟悉 Master 节点上的 API Server、Controller Manager 及 Scheduler 组件的作用及其相互协作方式;另外 Worker Node 上 Kubelet 和 Kube-proxy 的职责也不容忽视。这些构成了整个系统的控制平面与数据平面之间的桥梁。 #### 网络方案选择 当构建生产级别的 k8s 集群时,合理的网络规划必不可少。目前主流的选择有 Flannel 和 Calico 这两种 CNI 插件实现 pod 间通信的功能,在实际应用场景下各有优劣需根据具体需求权衡选用[^2]。 #### 故障排查技巧 面对复杂多变的问题场景,掌握有效的 troubleshooting 方法尤为重要。《Trouble Shooting 指导》章节总结了一些常见的错误现象及对应的处理措施,帮助运维人员快速定位问题根源并加以修复。 ```bash kubectl get pods --all-namespaces kubectl describe pod <pod-name> kubectl logs <pod-name> -c <container-name> ``` 以上命令可用于获取集群状态概览、查看特定 Pod 的详细信息以及读取日志文件等内容辅助诊断工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值