第一个:

node节点注册提示:failed to get config map: Unauthorized

代码如下:

[root@node1 ~]# kubeadm join 10.5.1.10: --token llilpc.9je7qvdn7l4sygoo     --discovery-token-ca-cert-hash sha256:a82baf34d02c5338c6c7c8e9234316dffecee709cea7cc76cda47c8e595f1745
W0122 ::32.447752 join.go:] [preflight] WARNING: JoinControlPane.controlPlane settings will be ignored when control-plane flag is not set.
[preflight] Running pre-flight checks
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
error execution phase preflight: unable to fetch the kubeadm-config ConfigMap: failed to get config map: Unauthorized
To see the stack trace of this error execute with --v= or higher

错误原因,token令牌失效,解决方法:

在master节点执行下面的命令

sudo kubeadm token create

然后再执行下面的命令重新生成注册令牌

sudo kubeadm token create --print-join-command

然后杀死node节点所有K8S相关的进程再注册一次即可

至此,问题解决!

第二个:

重新加入master节点提示error execution phase preflight: [preflight] Some fatal errors occurred

   [root@node1 ~]# kubeadm join 10.5.1.5:6443 --token 1a8fot.izehoikcbfm6vcj6     --discovery-token-ca-cert-hash sha256:41498e76da4b483ec99963948303e3df1d0a4308bb096d33f77d6f8f42e53e63
W0203 17:56:00.454059 11793 join.go:346] [preflight] WARNING: JoinControlPane.controlPlane settings will be ignored when control-plane flag is not set.
[preflight] Running pre-flight checks
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists
[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

解决办法:删除相关残留文件

rm -f /etc/kubernetes/kubelet.conf    #删除k8s配置文件

  

rm -f /etc/kubernetes/pki/ca.crt    #删除K8S证书

  然后重新加入

验证一下:

至此,问题解决!

第三个:

端口占用提示:[ERROR Port-10250]: Port 10250 is in use

解决办法:查看占用进程,然后杀掉,再加入

sudo yum install -y net-tools -q    #安装相关工具(-q:静默安装)

  然后查看端口

netstat -ntpl | grep 10250

  

可以看出,是K8S占用了,那就尝试重启服务看看能不能解决

此时,端口已经不在使用了,然后重新加入

加入成功,问题解决!

第四个:

  应用yaml文件提示:unknown field "NodePort" in io.k8s.api.core.v1.ServicePort; if you choose to ignore these errors, turn validation off with --validate=false

错误原因,yaml参数填写错误,在这里我的是NodePort这段写错了,正确的nodeport模式指定具体值时应首字母小写

一开始写成了“NodePort”,后来改成“nodePort”之后问题解决

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

第五个:

加入master提示:error execution phase kubelet-start: error uploading crisocket: timed out waiting for the condition

解决办法:

swapoff -a    #关闭swap交换
kubeadm reset  #重置K8S配置
systemctl daemon-reload&&systemctl restart docker kubelet  #重置配置,重启服务

  

rm -rf $HOME/.kube/config  #删除配置文件

 

iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X  #更新iptables规则

 最后重新加入即可,至此,问题解决!

第六个

  加入master提示:[ERROR FileExisting-nsenter]: nsenter not found in system path

node节点信息如下:

master节点信息为:

Centos7

解决方法如下:

rm -f util-linux-2.25.tar.gz*&&wget https://k8s-1252147235.cos.ap-chengdu.myqcloud.com/docker/util-linux-2.25.tar.gz
mkdir -p /cx/&&tar -zxvf util-linux-2.25.tar.gz -C /cx/
sudo apt-get install autopoint autoconf libtool automake make
./configure --without-python --disable-all-programs --enable-nsenter --without-ncurses
make nsenter; cp nsenter /usr/local/bin

可以看到,此时已经没有之前那个错误警告了,不过出现了新的问题-------------------------------------------emmmmmmmmmmmmm

第七个

加入master节点提示:/proc/sys/net/bridge/bridge-nf-call-iptables does not exist

解决办法如下:

modprobe br_netfilter&&echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

 

K8S部署遇到的问题处理汇总的更多相关文章

  1. Python服务Dokcer化并k8s部署实例

    这篇文章记录了我试验将一个基于python的服务docker化并k8s部署的过程. 服务介绍Docker化设计业务代码改造创建docker镜像K8S部署设计yaml文件运行服务介绍这是一个用 pyth ...

  2. ballerina 学习二十七 项目k8s部署&& 运行

    ballerina k8s 部署和docker 都是同样的简单,编写service 添加注解就可以了 参考项目 https://ballerina.io/learn/by-guide/restful- ...

  3. Rancher+K8S部署手册

    目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等. Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没 ...

  4. Jenkins+Git+Docker+K8s部署

    准备工作 Jenkins已安装 Docker和K8s部署运行成功 代码管理工具使用Git 最近公司项目使用Jenkins+Git+Docker+K8s进行持续化构建部署,这里笔者整理了一下构建部署的相 ...

  5. K8S部署

    k8S部署 柯穴上网 安装openvpn来获取docker镜像(不是本文重点不做详述) 软件包安装 1 关闭iptables,禁用firewalld,关闭selinux 2 配置yum仓库(使用阿里云 ...

  6. Prometheus K8S部署

    Prometheus K8S部署 部署方式:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/prometheus ...

  7. [转帖]k8s 部署问题解决

    k8s 部署问题解决 https://www.jianshu.com/p/f53650a85131 本文记录一下在部署 k8s 时遇到的一些问题及解决方法,具体部署流程可以参考 ubuntu 安装 k ...

  8. k8s部署etcd集群

    1.k8s部署高可用etcd集群时遇到了一些麻烦,这个是自己其中一个etcd的配置文件 例如: [Unit] Description=Etcd Server After=network.target ...

  9. 阿里nacos k8s部署

    阿里nacos k8s部署 [root@master1 nacos]# cat nacos-quick-start.yaml --- apiVersion: v1 kind: Service meta ...

随机推荐

  1. 【题解】HDU5845 Best Division (trie树)

    [题解]HDU5845 Best Division (trie树) 题意:给定你一个序列(三个参数来根),然后请你划分子段.在每段子段长度小于等于\(L\)且子段的异或和\(\le x\)的情况下最大 ...

  2. 「Vijos 1284」「OIBH杯NOIP2006第二次模拟赛」佳佳的魔法阵

    佳佳的魔法阵 背景 也许是为了捕捉猎物(捕捉MM?),也许是因为其它原因,总之,佳佳准备设计一个魔法阵.而设计魔法阵涉及到的最关键问题,似乎就是那些带有魔力的宝石的摆放-- 描述 魔法阵是一个\(n ...

  3. 你确定你了解什么是linux系统?

    1.什么是linux发行版 就Linux的本质来说,它只是操作系统的核心,负责控制硬件.管理文件系统.程序进程等,并不给用户提供各种工具和应用软件.所谓工欲善其事,被必先利其器,一套在优秀的操作系统核 ...

  4. LEFT函数使用

    详解:LEFT函数用于从一个文本字符串的第一个字符开始返回指定个数的字符 1.提取A2单元格从左往右2位字符 2.函数使用用途: LEFT函数用于从一个文本字符串的第一个字符开始返回指定个数的字符 语 ...

  5. Ant Design框架中不同的组件访问不同的models中的数据

    Ant Design框架中不同的组件访问不同的models中的数据 本文记录了我在使用该框架的时候踩过的坑,方便以后查阅. 一.models绑定 在某个组件(控件或是页面),要想从某个models中获 ...

  6. MySQL之性能优化

    查看执行计划explain     1.1 Explain命令:它可以对select语句进行分析,并输出select执行的详细信息,以对开发人员针对性优化  1.2 Explain的用法:在selec ...

  7. Java字符串(String类)

    定义方法: 1.String demo = "test"; 2.String demo = new String(); 3.String demo = new String(&qu ...

  8. WIN10升级后输入法无法输入中文

    查看是否安装了中文输入法,可能在升级后用户文件出现问题. 在设置>语言.添加一下中文输入法.

  9. Spring Boot 入门(十一):集成 WebSocket, 实时显示系统日志

    以前面的博客为基础,最近一篇为Spring Boot 入门(十):集成Redis哨兵模式,实现Mybatis二级缓存.本篇博客主要介绍了Spring Boot集成 Web Socket进行日志的推送, ...

  10. Spring Boot2 系列教程 (十五) | 服务端参数校验之一

    估计很多朋友都认为参数校验是客户端的职责,不关服务端的事.其实这是错误的,学过 Web 安全的都知道,客户端的验证只是第一道关卡.它的参数验证并不是安全的,一旦被有心人抓到可乘之机,他就可以有各种方法 ...