1.Get http://127.0.0.1:10252/healthz: dial tcp 127.0.0.1:10252: connect: connection refused
kube-scheduler 0/1 Running 161 9s
出现这种情况是kube-controller-manager.yaml和kube-scheduler.yaml设置的默认端口是0,在文件中注释掉就可以了。(每台master节点都要执行操作)
1.修改每台 master 节点kube-scheduler.yaml文件
vim /etc/kubernetes/manifests/kube-scheduler.yaml
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
component: kube-scheduler
tier: control-plane
name: kube-scheduler
namespace: kube-system
spec:
containers:
- command:
- kube-scheduler
- --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
- --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
- --bind-address=127.0.0.1
- --kubeconfig=/etc/kubernetes/scheduler.conf
- --leader-elect=true
# - --port=0 ## 注释掉这行
kube-controller-manager 同理
然后systemctl restart kubelet.service
2.containerd 容器部署的k8s 集群磁盘不足,清理过期镜像
正在运行的容器的镜像不会出现在列表里。直接清理即可
for i in `ctr -n k8s.io i list -q ` ;do ctr -n k8s.io i rm $i ;done
3.nodeport svc映射端口在node上无法通过netstat查看到
因为k8s中通过一些网络技术来实现service的负载均衡和端口转发 比如iptables或者ipvs 将流量转发到实际的服务pod ip端口上 并没有一个进程在这个端口上监听所以节点上netstat不显示 、容器启动的端口也无法在节点上netstat查看到 因为netstat显示的是宿主机本身的网络监听端口无法直接看到容器内部通过docker网络配置的端口 但是进入容器后可以netstat查看到
4,containerd 容器部署的k8s 集群磁盘不足,清理快照
containerd 会定期进行snapshot,如果容器长期运行不重启会导致snapshot过多。如何鉴别具体是哪个容器导致的
首先确认是snapshot 导致的磁盘不足
查看你的容器路径下的 /你的容器存储路径/containerd/io.containerd.snapshotter.v1.overlayfs/
这个就是snapshot文件夹
里面应该都是一些数字文件夹
进入之后du -sh *
找到比较大的文件夹
复制一下文件夹名称 举例5858
mount | grep 5858
查看具体的容器名称 假设容器前几个字符为21b11445
ctr -n k8s.io container ls | grep 21b11445
crictl ps | grep 21b11445
确认容器名称 重新部署容器
就会删除这个容器导致的snapshot
1万+

被折叠的 条评论
为什么被折叠?



