应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

裸机搭建k8s集群可能遇到的坑

16506人阅读 2022/5/30 11:07 总访问:5194203 评论:0 收藏:0 手机
分类: K8S

执行yum-config-manager报错

如果执行yum-config-manager报错:yum-config-manager: 未找到命令。
这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令yum -y install yum-utils 安装就可以了。

执行 yum -y install yum-utils报错


执行yum -y install yum-utils,可能会遇到错:
repomd.xml signature could not be verified for kubernetes

是因为repo 的 gpg 验证不通过导致的,可以修改repo_gpgcheck=0跳过验证。

repo文件是CentOS中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用

在linux下,repo文件都是存放在/etc/yum.repos.d文件夹之中的
进入/etc/yum.repos.d,找到kubernetes.repo,文件打开修改即可

修改repo_gpgcheck=0跳过验证。

修改之后在执行yum -y install yum-utils就可以成功了

kubeadm init报错情况:一


/etc/kubernetes/manifests/kube-apiserver.yaml already exists
/etc/kubernetes/manifests/kube-controller-manager.yaml already exists
………………………..

这是因为前面已经执行过kubeadm init了或者是执行过很多次了

解决方法

方法1:使用 kubeadm reset来重置
  1. kubeadm reset
方法2:在后面加命令—ignore-preflight-errors=all 来忽略

比如:

  1. kubeadm init --image-repository=registry.aliyuncs.com/google_containers --ignore-preflight-errors=all
方法3:执行的时候接版本 比如—v=5 或者—v=更高的版本
  1. kubeadm init --image-repository=registry.aliyuncs.com/google_containers --v=5

k8s构建Flannel网络插件失败,k8s安装网络插件失败

  1. kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml


注意由于这是外国的网址很有可能会访问不到遇到错误:kube-flannel.yml The connection to the server raw.githubusercontent.com was refused。
是因为域名解析不了,所以访问不了。

解决方法:

不用域名登录,直接用ip登录,或者去/etc/hosts里设置下域名解析

1、通过第三方网站查询到raw.githubusercontent.com所对应的ip是多少
http://ip.tool.chinaz.com/raw.githubusercontent.com

2、修改/etc/hosts做好域名解析,ip最好用网站上查询到的最新的
使用vi命令打开hosts文件:

  1. vi /etc/hosts

添加:185.199.109.133 raw.githubusercontent.com

3、再次执行上面贴的命令就可以成功了

k8s 1.24版本的坑

E0519 23:21:51 .331778 25545 kubelet.go:2419] “Error getting node” err=”node \”master\” not found”

这种错,换成1.23版本就直接好了 -.-

如果是因为版本的问题造成的错误,可以先卸载然后在下载指定的版本

比如先卸载掉当前的k8s环境,在安装指定版本

先卸载k8s(我这里前面使用的是最新版)

  1. sudo yum remove -y kubelet kubeadm kubectl

安装指定版本的k8s

  1. yum install -y kubelet-1.16.2 kubeadm-1.16.2 kubectl-1.16.2 --disableexcludes=kubernetes

卸载Docker后在安装指定版本:


注意:不同版本的k8s需要对应不同版本的docker版本,如果想安装不同版本的k8s可以自行搜一下对应的Docker版本。不然也容易出现坑。

卸载Docker(我这里docker使用的也是最新版版本):

  1. sudo yum remove -y docker-ce

安装指定版本的docker

  1. yum install docker-ce-18.06.3.ce-3.el7

一直卡到 [preflight] Running pre-flight checks

可以考虑时间同步的问题


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

裸机搭建k8s集群

这里自己用虚拟机搭建的,可以整一个主节点,几个子节点。要保证虚拟机能访问外网,能获取自己的ip地址以及能相互ping通。...

k8s编写yaml文件的一些小问题

Yaml文件编写的小毛病kubenetes yaml 随在编写yaml文件中难免会出现一些磕磕碰碰的问题 建议大家去这个网站编写 yaml 文...

初探k8s

概念补充Deployment 是在 Pod 这个抽象上更为上层的一个抽象层,它可以定义一组 Pod 的副本数量,以及这个 Pod 的版本。一...

k8s 结合 Service 与 Deployment 部署容器

前言最近看到了学习k8s的网站,在文章末尾分享给大家,所以我最近的教程也会根据上面的课程来进行一些总结Service:暴露容...

k8s理论整理(持续更新)

整理一GOKubernetes 的工作节点负责运行应用程序 Pod 等工作负载;还可以运行网络或存储等扩展功能;每个节点上都运行了 ku...

k8s详解基本对象

k8s详解基本对象[TOC] 参考yaml代码如下apiVersion: apps/v1 kind: Deployment metadata: name: k8s-demo names...

.netcore 通过Flurl验证k8s内部访问与获取环境变量

.netcore验证k8s内部访问与获取环境变量[TOC] 创建k8s-name项目 项目结构如下 实验过程 st=>start: k8s-demo项...

.netcore 通过Flurl验证k8s内部访问与获取环境变量 (二)

.netcore验证k8s内部访问与获取环境变量 (二)[TOC] 修改k8s-name项目 NameController.cs [ApiController] ...

Mysql k8s部署Volume(hostPath)

Mysql K8s部署Volume[TOC] Mysql 与 Yaml 稍作修改这里提供的是官网的链接:https://kubernetes.io/docs/tasks/run-a...

k8s ConfigMap 配置中心

k8s ConfigMap 配置中心[TOC] ConfigMap 简介 ConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用...

k8s Deployment中Rollout与Rollback使用与滚动更新

k8s Deployment中Rollout与Rollback使用[TOC] Rollout 简介 Deployment 的 rollout 当且仅当 Deployment 的 pod temp...

kubectl proxy 让外部网络访问k8s service的ClusterIP

kubectl proxy 让外部网络访问K8S service的ClusterIP[TOC] 使用kubectl proxy命令就可以使API server监听在本地的800...

k8s 网络(笔记)

K8s 网络(笔记)[TOC] K8s 网络 Docker容器网络回顾K8s CNIFlannel 网络插件跨node的 pod to podCluster Service是什么...

Jenkins在k8s中的安装

Jenkins在k8s中的安装[TOC] k8s部署Jenkins.yaml--- apiVersion: apps/v1 kind: Deployment #设置资源的类型为Deploym...

Centos7安装k8s(基于kubeadm)

Centos7安装k8s(基于kubeadm)[TOC] 下载相关包 链接:https://pan.baidu.com/s/1H9MuZsf28f_3uyVHBUS8jQ提取码:w9tv ...