安装kubenetes-遇到的问题总结 Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service


# 5.修改docker的cgroup驱动(不需要操作)
# kubelet
# 看到最后一行:error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"


# vim /lib/systemd/system/docker.service
# 将 --exec-opt native.cgroupdriver=systemd  修改为:
#  --exec-opt native.cgroupdriver=cgroupfs
# systemctl daemon-reload 
# systemctl restart docker.service
# kubelet显示正常

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

2.交换分区的问题:关闭交换分区

命令:swapoff -a

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

 安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

没给文件添加执行权限

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

 查看pod信息的时发现创建失败,是因为:

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

 kubectl describe pod nginx-7c87f569d-4g9t2

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

 #在node节点上执行切记

我用的是第一种办法:

1.拉取pause镜像

docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0

2.给pause打标签

docker tag registry.cn-hangzhou.aliyuncs.com/google-containers/pause-amd64:3.0 gcr.io/goole_containers/pause-amd64:3.0

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

在kubelet中追加配置

--runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice

遇到的大坑

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

1.docker最好用CE版本:我用的是docker-18.x的ce最新的

2.kubelet创建pod的时候下载镜像出错访问不了gcr.io/goole_containers/pause-amd64:3.0

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

所以只能自己去别的地方拉取一个:

1.拉取pause

docker pull chasontang/pause-amd64:3.0

2.给pause打标签:

docker tag chasontang/pause-amd64:3.0 gcr.io/google_containers/pause-amd64:3.0

3.删除原来的镜像:

docker rmi chasontang/pause-amd64:3.0

4.在kubelet中追加参数:

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

5.重启kubelet:

./kubelet.sh 192.168.71.136 192.168.71.142 10.10.10.2

6.再去master节点查看pod信息:

安装kubenetes-遇到的问题总结
Kubernetes报错Failed to get system container stats for "/system.slice/kubelet.service

*拉取成功

查看节点:提示找不到路由关系

RHEL / CentOS 7上的某些用户报告了由于iptables被绕过而导致流量被错误路由的问题

是因为centos7系统,绕过了iptables,导致流量路由不到

*解决办法:

RHEL / CentOS 7上的某些用户报告了由于iptables被绕过而导致流量被错误路由的问题。应该确保net.bridge.bridge-nf-call-iptables的sysctl配置中被设置为1
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system