K8S部署常见问题
本文图片均是实验截取不存在侵权!!!初始化超时清理文件重新初始化即可rm -rf /etc/kubenetes/*或者 kubeadm reset -f高可用集群初始化kubeadm init --control-plane-endpoint "192.168.10.105" --pod-network-cidr 172.16.0.0/16 --service-cidr 10.96.0.0/16
本文图片均是实验截取不存在侵权!!!
初始化超时
清理文件重新初始化即可
rm -rf /etc/kubenetes/*或者 kubeadm reset -f
高可用集群初始化
kubeadm init --control-plane-endpoint "192.168.10.105" --pod-network-cidr 172.16.0.0/16 --service-cidr 10.96.0.0/16 --image-repository registry.aliyuncs.com/google_containers --upload-certs
注:--control-plane-endpoint该选项后可跟IP或IP:6443;必须是6443 ;这个IP是那台做负载衡的IP,记得准备两台做高可用
--image-repository指定国内镜像源
--upload-certs该选项是多MASTER时使用,可追加控制平台
高可用集群初始化完成
- 是追加控制平台的
- 是加入工作节点的
注:总之准备环境的时候没有出错,后面基本上一路顺风
准备安装环境的时候:
- 注意镜像源,docker的daemon.json文件的配置,不要限定systemd或者cgroups
- systemd和cgroups都是linux内核的空间隔离,可以理解为namespace
- 注意DOCKER和KUBERNETES的版本是否兼容
出现这种情况:
解决:
- CNI插件没有装
下载
Wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-
flannel.yml
修改文件内的镜像源(必选,其他的可以不改,看需求)
image: quay.mirrors.ustc.edu.cn/coreos/flannel:v0.13.1-rc1
两行注释记得删掉,这里只是为了说明改哪里
- 不知名原因
重启kubelet
Systemctl restart kubelet
还不能解决的,目前本人还没有遇到
组件报错:
报错1
报错2
执行kubectl get cs后报如下错误:
scheduler Unhealthy Get http://127.0.0.1:10251/healthz: dial tcp 127.0.0.1:10251: connect: connection refused
解决:
1.修改conteoller-manger的yaml文件,容器启动参数中 --port=0注释掉,
该--port=0表示禁止使用非安全的http接口,同时 --bind-address 非安全的绑定地址参数失效。
vim /etc/kubernetes/manifests/kube-controller-manager.yaml
2.修改kube-scheduler.yaml,容器启动参数中 --port=0注释掉,
该--port=0表示禁止使用非安全的http接口,同时 --bind-address 非安全的绑定地址参数失效。
vim /etc/kubernetes/manifests/kube-scheduler.yaml
报错解决后显示:
3.修改Kube-proxy:
kube-proxy默认采用了 iptables 模式,如果需要需改为ipvs,则修改其configmap,并杀死kube-proxy的pod,让其重启。
(1)导出为YAML格式文件kubectl get cm -n kube-system kube-proxy -o yaml > kube-proxy.yaml
vim kube-proxy.yaml
查看进程
ps aux | grep kube-proxy
杀死进程
Kill 16384
Kill 87603
如果杀不死,使用-9强制杀死(-9仅限实验环境,生产环境三思而后行)
或直接重启K8S
Systemctl restart kuubelet
- 查看当前使用的模式则,两种方式,通过 ipvsadm -L 查看是否有ipvs转发规则,也可以通过日志查看
日志方式:
kubectl logs -f -n kube-system kube-proxy-49s6m
待续。。。
更多推荐
所有评论(0)