使用KUBEADM安装完成大坑,必须要设置iptables 的策略为ACCEPT ,否则无法跨主机ping通及访问容器或物理机
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -L -n
KUBEADM init报错处理
[init] Using Kubernetes version: v1.17.9
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[preflight] Pulling images required for setting up a Kubernetes cluster
处理方式:
docker info | grep Cgroup
Cgroup Driver: cgroupfs
编辑文件/usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --exec-opt native.cgroupdriver=systemd
systemctl daemon-reload
systemctl restart docker
docker info | grep Cgroup
Cgroup Driver: systemd
解决/var/log/messages下面报的cgroup报错问题
1.8用这个
ExecStart=/usr/bin/kubelet --runtime-cgroups=/lib/systemd/system/kubelet.service --kubelet-cgroups=/lib/systemd/system/kubelet.service
1.7以下的用这个
vi /etc/systemd/system/multi-user.target.wants/kubelet.service
启动命令增加:
--runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice
或者直接删除增加下面的
ExecStart=/usr/bin/kubelet --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice
systemctl daemon-reload
systemctl restart kubelet
解决DAB界面监控问题
args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-preferred-address-types=InternalIP 增加
- --kubelet-insecure-tls 增加
批量查看证书有效时间
/etc/kubernetes/pki/apiserver.crt #1年有效期
/etc/kubernetes/pki/front-proxy-ca.crt #10年有效期
/etc/kubernetes/pki/ca.crt #10年有效期
/etc/kubernetes/pki/apiserver-etcd-client.crt #1年有效期
/etc/kubernetes/pki/front-proxy-client.crt #1年有效期
/etc/kubernetes/pki/etcd/server.crt #1年有效期
/etc/kubernetes/pki/etcd/ca.crt #10年有效期
/etc/kubernetes/pki/etcd/peer.crt #1年有效期
/etc/kubernetes/pki/etcd/healthcheck-client.crt #1年有效期
/etc/kubernetes/pki/apiserver-kubelet-client.crt #1年有效期
for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`;do openssl x509 -in $item -text -noout| grep Not;echo ======================$item===============;done
kubectl get node 慢的原因,一般都是15S
使用kubectl get node -v=10 查看是是不是拿指标信息而造成的
如果是,可以删除这个,或者是把这个指标信息安装上
kubectl delete apiservice v1beta1.metrics.k8s.io
1-63秒延时问题,可以临时关闭校验
ethtool -K flannel.1 tx-checksum-ip-generic off
netfilter对64G内存的机器,推荐配置
net.netfilter.nf_conntrack_max=4194304
net.netfilter.nf_conntrack_tcp_timeout_established=300
net.netfilter.nf_conntrack_buckets=1048576
解决DNS不能访问,不能解析的问题
firewall-cmd --list-all
如果 masquerade: no,哪么要执行以下使命,更改为yes
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload
也可以用iptables 把这个firewall,全给remove了