(二)K8s踩坑记录
文章目录
- 1 kubeadm join报错
- 2 Unable to connect to the server: x509
- 3 coredns一直处于ContainerCreating状态
- 4 node join master之后一直处于NotRead
1 kubeadm join报错
在部署服务过程中,初始化之后重启了master节点,然后node节点在join进群的时候报错,提示证书是否过期等问题,报错信息如下:
[root@node01 ~]# kubeadm join 10.0.0.100:6443 --token qxl5b3.5b78nwu3gm1r4u6o --discovery-token-ca-cert-hash sha256:3e20fa8054cbc9000cf3d3586a05a01d8af5721b577856e93c7e243877393d21 --ignore-preflight-errors=Swap
[preflight] Running pre-flight checks[WARNING Swap]: running with swap on is not supported. Please disable swap[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 18.09.0. Latest validated version: 18.06
[discovery] Trying to connect to API Server "10.0.0.100:6443"
[discovery] Created cluster-info discovery client, requesting info from "https://10.0.0.100:6443"
[discovery] Failed to request cluster info, will try again: [Get https://10.0.0.100:6443/api/v1/namespaces/kube-public/configmaps/cluster-info: dial tcp 10.0.0.100:6443: connect: connection refused]
[discovery] Failed to request cluster info, will try again: [Get https://10.0.0.100:6443/api/v1/namespaces/kube-public/configmaps/cluster-info: dial tcp 10.0.0.100:6443: connect: connection refused]
产生原因:
- 有可能是时间不同步造成的
- 在初始化后重启master,重启后会报错
解决办法
- 找了好多资料,没有找到可行的,最后
kubeadm reset
完美解决 - 参考博文: k8s踩坑记 - kubeadm join 之 token 失效
reset之后重新初始化
[root@master1 ~]# kubeadm reset
[root@master1 ~]# kubeadm init --kubernetes-version=v1.13.0 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --token-ttl=0 --ignore-preflight-errors=Swap
创建所需文件
[root@master1 ~]# mkdir -p $HOME/.kube
[root@master1 ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cp: overwrite ‘/root/.kube/config’? y
[root@master1 ~]# chown $(id -u):$(id -g) $HOME/.kube/config
查看节点
[root@master1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master1.rsq.com NotReady master 2m49s v1.13.0
2 Unable to connect to the server: x509
这类报错是由于初始化后没有创建所需要的文件
[root@master1 ~]# kubectl get nodes
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
创建所需文件即可
[root@master1 ~]# mkdir -p $HOME/.kube
[root@master1 ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cp: overwrite ‘/root/.kube/config’? y
[root@master1 ~]# chown $(id -u):$(id -g) $HOME/.kube/config
查看集群节点
[root@master1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master1.rsq.com NotReady master 2m49s v1.13.0
3 coredns一直处于ContainerCreating状态
Node加入集群中后一直处于NotReady状态,查看kube-system的状态,发现coredns一直处于ContainerCreating状态
[root@master1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master1.rsq.com NotReady master 16h v1.13.0
node01.rsq.com NotReady <none> 16h v1.13.0
node02.rsq.com NotReady <none> 8m39s v1.13.0[root@master1 ~]# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-86c58d9df4-fzs9l 0/1 ContainerCreating 0 16h
kube-system coredns-86c58d9df4-hrwvk 0/1 ContainerCreating 0 16h
kube-system etcd-master1.rsq.com 1/1 Running 1 16h
kube-system kube-apiserver-master1.rsq.com 1/1 Running 1 16h
kube-system kube-controller-manager-master1.rsq.com 1/1 Running 1 16h
kube-system kube-proxy-28cmg 1/1 Running 1 16h
kube-system kube-proxy-5xqvf 1/1 Running 1 26m
kube-system kube-proxy-s4tsz 1/1 Running 1 16h
kube-system kube-scheduler-master1.rsq.com 1/1 Running 1 16h
查看kubelet服务状态,看最后几行的报错
[root@master1 ~]# systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node AgentLoaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled)Drop-In: /etc/systemd/system/kubelet.service.d└─10-kubeadm.confActive: active (running) since Wed 2018-12-12 09:24:44 CST; 6min agoDocs: https://kubernetes.io/docs/Main PID: 123631 (kubelet)Memory: 35.2MCGroup: /system.slice/kubelet.service└─123631 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgrou...Dec 12 09:30:57 master1.rsq.com kubelet[123631]: E1212 09:30:57.187292 123631 pod_workers.go:190] Error syncing pod cea84a11-fd24-11e8-a282-000c291e37c2 ("coredns-86c58d9df4-fzs9l_kube-...
Dec 12 09:30:57 master1.rsq.com kubelet[123631]: E1212 09:30:57.187480 123631 pod_workers.go:190] Error syncing pod cea7ebef-fd24-11e8-a282-000c291e37c2 ("coredns-86c58d9df4-hrwvk_kube-...
Dec 12 09:30:59 master1.rsq.com kubelet[123631]: E1212 09:30:59.187419 123631 pod_workers.go:190] Error syncing pod cea84a11-fd24-11e8-a282-000c291e37c2 ("coredns-86c58d9df4-fzs9l_kube-...
Dec 12 09:30:59 master1.rsq.com kubelet[123631]: E1212 09:30:59.187607 123631 pod_workers.go:190] Error syncing pod cea7ebef-fd24-11e8-a282-000c291e37c2 ("coredns-86c58d9df4-hrwvk_kube-...
Dec 12 09:31:00 master1.rsq.com kubelet[123631]: W1212 09:31:00.454147 123631 cni.go:203] Unable to update cni config: No networks found in /etc/cni/net.d
Dec 12 09:31:00 master1.rsq.com kubelet[123631]: E1212 09:31:00.454242 123631 kubelet.go:2192] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNot...initialized
Dec 12 09:31:01 master1.rsq.com kubelet[123631]: E1212 09:31:01.188877 123631 pod_workers.go:190] Error syncing pod cea7ebef-fd24-11e8-a282-000c291e37c2 ("coredns-86c58d9df4-hrwvk_kube-...
Dec 12 09:31:01 master1.rsq.com kubelet[123631]: E1212 09:31:01.189259 123631 pod_workers.go:190] Error syncing pod cea84a11-fd24-11e8-a282-000c291e37c2 ("coredns-86c58d9df4-fzs9l_kube-...
Dec 12 09:31:03 master1.rsq.com kubelet[123631]: E1212 09:31:03.187200 123631 pod_workers.go:190] Error syncing pod cea84a11-fd24-11e8-a282-000c291e37c2 ("coredns-86c58d9df4-fzs9l_kube-...
Dec 12 09:31:03 master1.rsq.com kubelet[123631]: E1212 09:31:03.187730 123631 pod_workers.go:190] Error syncing pod cea7ebef-fd24-11e8-a282-000c291e37c2 ("coredns-86c58d9df4-hrwvk_kube-...
Hint: Some lines were ellipsized, use -l to show in full.
产生问题原因
- 一直报网络NotReady,我就感觉flannel组件出了问题, 最后网上搜了一些资料解决
- 参考博客:coreDNS一直处于创建中解决
解决办法:
# 所有节点执行(我只在master节点先执行就解决问题了)
rm -rf /var/lib/cni/flannel/* && rm -rf /var/lib/cni/networks/cbr0/* && ip link delete cni0
rm -rf /var/lib/cni/networks/cni0/*# 删除flannel组件,重新下载
[root@master1 ~]# docker rmi quay.io/coreos/flannel:v0.10.0-amd64
[root@master1 ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml# 查看节点状态已经处于Ready状态
[root@master1 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master1.rsq.com Ready master 16h v1.13.0
node01.rsq.com Ready <none> 16h v1.13.0
node02.rsq.com Ready <none> 39m v1.13.0
4 node join master之后一直处于NotRead
# 拷贝master的cni插件到node上即可
scp -r master1:/etc/cni /etc/cni
(二)K8s踩坑记录相关推荐
- k8s踩坑记录——证书一年有效期
kubernetes集群证书重签 依照https://github.com/strongit/kubeadm-ha/ 安装步骤,kubeadm init安装后的集群存在证书过期问题.现修复如下: 思路 ...
- 【kubernetes / k8s 踩坑记录】一定要关闭SWAP
重要提示 重启集群后出现 connection to the server was refused 报错,我的情况是由于swap引起的. swapoff -a 再次启动即可 生产环境建议关闭swap ...
- 【javascript】浏览器调用摄像头扫二维码踩坑记录
前言 最近做一个项目需要用浏览器调用摄像头扫二维码,然后就踩了几个坑记录下. 踩坑记录 我一开始发现了zxing这个库,他分为https://www.npmjs.com/package/@zxing/ ...
- 企业微信自建集成应用——踩坑记录(二)
问题五 描述:在应用配置信息中,配置可信域名(可作为应用OAuth2.0网页授权功能的回调域名),同一个域名,明明之前都可以使用校验成功了,现在把文件放到服务器上还是校验失败 原因:由于之前使用的域名 ...
- 日常踩坑记录-汇总版
开发踩坑记录,不定时更新 心得 RTFM 严谨的去思考问题,处理问题 严格要求自己的代码编写习惯与风格 注意 单词拼写 20200207 mybatis plus 自带insert插入异常 sql i ...
- sonar覆盖率怎么统计的_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(上)...
本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 一.概述 测试覆盖率是老生常谈的话题.因为我测试理论基础不是很好,这里就不提需求.覆盖率等内容,直奔主 ...
- Dubbo3的Triple协议踩坑记录
Triple协议踩坑记录 Triple协议 Triple 协议是 Dubbo3 提出的基于 HTTP2 + gRPC 的开放协议,完整兼容 gRPC over HTTP/2,旨在解决 Dubbo2 私 ...
- gitea 手动编译过程,以及踩坑记录
gitea 手动编译过程,以及踩坑记录 一: 环境介绍 二:下载源码 三:编译安装go 环境 3.1 修改源为阿里 3.2 添加执行权限 3.2 添加环境变量 四:安装nodejs 4.1 添加源 4 ...
- 【学习记录】QT5界面设计的踩坑记录
学习记录:QT5 界面设计的踩坑记录 前言 一.Qlabel显示视频与图片 1. 图片显示 1.1 显示格式 1.2 label随界面缩放 1.3 界面刷新 2. 视频显示 二.常见控件的StyleS ...
最新文章
- 从源码分析DEARGUI之add_selectable
- U盘为什么还有剩余空间,但却提示说空间不够
- 龙格库塔法基本C程序
- 数据结构与算法--数组中出一次的数字
- Socket常用语法与socketserver实例
- matplotlib 横坐标少了一个点_收藏起来!比 matplotlib 效率高十倍的数据可视化神器!...
- flutter图片识别_从头到尾撸一遍Flutter的一切...
- Unity开发《一起来捉妖》教程 | 2.用摄像头图像做背景
- array variable used in printf function
- vista 改xp BIOS设置(ASUS,dell,hp,Acer,Lenovo)
- Linux下部署WordPress
- android WebView加载不出网页里的视频内容出现This request has been blocked; the content must be served over HTTPS.
- Android 实现 Alexa App-to-App Account Linking
- Android-手撸抖音“潜艇大挑战”,最简单的Android自定义ListView下拉刷新与上拉加载
- pytorch:自定义损失函数total variation loss
- 【破解工具】Hashcat加密破解工具
- 计算机组成和导论,计算机科学导论五第章计算机组成
- android禁止安装第三方app,Android6.0 禁止安装未知来源应用
- 从零开始搭建神经网络(五)卷积神经网络(CNN)
- 计算机开根号原理,根号的原理_怎么开的根号,有原理吗
热门文章
- AJAX之封装+跨域
- Paddle2.0让你成为诗词大师-PaddlePoetry
- 网络安全HW系列之应急响应方法论思维导图
- linux firawll防火墙设置白名单/指定ip访问指定端口
- java 判断文件是否pdf_如何确定文件是否为PDF文件?
- 英语CET6救命作文通用模板
- win7 文件夹背景。安装使用主题后,变为不透明的经典界面。Win8.1Win10文件夹背景补丁与教程
- 把计算机器显示桌面,怎样将电脑显示器和桌面匹配
- 服务器装exi系统_ESXI 6.5安装详细步骤
- 【Leetcode】1137. 第 N 个泰波那契数