《Kubernetes部署篇:Ubuntu20.04基于二进制安装安装kubeadm、kubelet和kubectl》

news2024/10/6 18:30:51

一、背景

由于客户网络处于专网环境下, 使用kubeadm工具安装K8S集群,由于无法连通互联网,所有无法使用apt工具安装kubeadm、kubelet、kubectl,当然你也可以使用apt-get工具在一台能够连通互联网环境的服务器上下载kubeadm、kubelet、kubectl软件包,然后拷贝到专网主机上,通过dpkg工具安装kubeadm、kubelet、kubectl,这里并没有采用这种方式,在当前客户主机网络环境下,我们使用二进制方式来安装kubeadm、kubelet、kubectl。

kubeadm:用来初始化集群的指令。
kubelet:在集群中的每个节点上用来启动 Pod 和容器等。
kubectl:用来与集群通信的命令行工具。

环境信息如下所示:

操作系统 内核版本 kubeadm版本 kubelet版本 kubectl版本
Ubuntu 20.04.5 LTS 5.15.0-69-generic 1.24.17 1.24.17 1.24.17

注意:使用apt安装kubeadm、kubelet、kubectl会安装一些依赖软件,如cri-tools、ebtables、socat、kubernetes-cni等,如果使用二进制安装kubeadm、kubelet、kubectl,则需要单独安装这些软件。

在这里插入图片描述

版本信息如下所示:

软件名称 软件版本
cri-tools 1.26.0
ebtables 2.0.11
socat 1.7.3.3
kubernetes-cni 1.2.0

注意:当前环境的containerd版本为1.7.2,这里面提供的cni二进制文件,已经集成在cri-containerd-cni-1.7.2-linux-amd64.tar.gz二进制包里面了,所以无需单独下载安装。详情可参考《Kubernetes部署篇:Ubuntu20.04基于二进制安装安装cri-containerd-cni》

这些工具在Kubernetes中有不同的用途:

1、cri-tools(容器运行时工具):这是一个 用于与Kubernetes容器运行时接口(CRI)进行交互的命令行工具集。它提供了一些有用的功能,如创建、销毁和管理容器等。

2、ebtables(以太网桥规则管理工具):这是一个用于在Linux系统中管理以太网桥规则的工具。在Kubernetes中,ebtables 用于在网络分区中实现容器之间的隔离和通信

3、socat(网络工具):这是一个用于在Linux系统中建立各种类型网络连接的工具。在Kubernetes网络中,socat可以 用于创建端口转发、代理和转发等网络连接

4、kubernetes-cni(容器网络接口插件):这是Kubernetes的一个插件, 用于管理容器的网络连接。它负责为容器分配IP地址、配置网络路由和实现网络隔离等功能


二、操作步骤

2.1、安装 CNI 插件

说明:在安装cri-containerd-cni中已经完成了cni网络插件的安装,默认在/opt/cni/bin目录下,如下图所示:
在这里插入图片描述

如果你的containerd、runc、cri-tools、cni是分别下载对应的二进制包独立安装的,可以参考如下操作安装cni网络插件:

# 1、下载二进制包
wget https://github.com/containernetworking/plugins/releases/download/v1.2.0/cni-plugins-linux-amd64-v1.2.0.tgz

# 2、解压文件
mkdir -p /opt/cni/bin
tar axf cni-plugins-linux-amd64-v1.2.0.tgz -C /opt/cni/bin

2.2、安装 crictl

说明:ctr是containerd自带的CLI命令行工具,crictl是k8s中CRI(容器运行时接口)的客户端,k8s使用该客户端和containerd进行交互。如果你的containerd、runc、cri-tools、cni是分别下载对应的二进制包独立安装的,可以参考如下操作安装crictl:

# 1、下载二进制包
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.26.0/crictl-v1.26.0-linux-amd64.tar.gz
tar axf crictl-v1.26.0-linux-amd64.tar.gz -C /usr/local/bin

# 2、配置/etc/crictl.yaml
cat <<EOF | sudo tee /etc/crictl.yaml
runtime-endpoint: unix:///run/containerd/containerd.sock
EOF

2.3、安装ebtables和socat

apt install ebtables socat -y

如下图所示:
在这里插入图片描述


2.3、安装kubeadm、kubelet、kubectl

1、下载kubeadm、kubelet、kubectl二进制文件

方法一:

wget -P /usr/bin/ https://dl.k8s.io/v1.24.17/bin/linux/amd64/kubeadm
wget -P /usr/bin/ https://dl.k8s.io/v1.24.17/bin/linux/amd64/kubelet
wget -P /usr/bin/ https://dl.k8s.io/v1.24.17/bin/linux/amd64/kubectl

方法二:

wget https://dl.k8s.io/v1.24.17/kubernetes-server-linux-amd64.tar.gz
tar axf kubernetes-server-linux-amd64.tar.gz
cp kubernetes/server/bin/kubeadm  /usr/bin
cp kubernetes/server/bin/kubelet  /usr/bin
cp kubernetes/server/bin/kubectl  /usr/bin

2、安装kubeadm、kubelet、kubectl

mkdir /etc/systemd/system/kubelet.service.d
wget https://raw.githubusercontent.com/kubernetes/release/v0.4.0/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service
cp kubelet.service /etc/systemd/system/kubelet.service
wget https://raw.githubusercontent.com/kubernetes/release/v0.4.0/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf
cp kubeadm.conf /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl daemon-reload

说明:kubelet.service和10-kubeadm.conf文件,你可以找一台能访问互联网的服务器,使用apt工具安装kubeadm、kubectl、kubelet可以在对应目录下找到,将这两个文件拷贝到需要二进制部署kubeadm、kubectl、kubelet的主机上。

3、设置kubectl开机自启

systemctl enable kubelet

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:企业级K8s集群运维实战

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/957138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

说说Kappa架构

分析&回答 对于实时数仓而言&#xff0c;Lmabda架构有很明显的不足&#xff0c;首先同时维护两套系统&#xff0c;资源占用率高&#xff0c;其次这两套系统的数据处理逻辑相同&#xff0c;代码重复开发。 能否有一种架构&#xff0c;只需要维护一套系统&#xff0c;就可以…

【核磁共振成像】相位差重建

目录 一、相位差map重建一般步骤和反正切函数主值范围二、反正切运算三、可预期相位误差和伴随场的校正四、图形变形校正 一、相位差map重建一般步骤和反正切函数主值范围 MRI是一个相敏成像模态&#xff0c;MR原始数据傅里叶变换后的复数图像中每个像素值有模和相位。标准模重…

HTML5

写在前面 一、开个头 安装vscode 1.1 什么是网页 网站是指因特网上根据一定的规则&#xff0c;使用HTML等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”&#xff0c;通常是HTML格式的文件&#xff0c;它要通过浏览器来阅读。 网页是构成网站的基本元素…

uniapp 微信小程序 锚点跳转

uniapp文档 以下是我遇到的业务场景&#xff0c;是点击商品分类的某一类 然后页面滚动至目标分类&#xff0c; 首先第一步是设置锚点跳转的目的地&#xff0c;在目标的dom上面添加id属性 然后给每个分类每一项添加点击事件&#xff0c;分类这里的item数据里面有一字段是和上…

OpenCV(三):Mat类数据的读取

目录 1.Mat类矩阵的常用属性 2.Mat元素的读取 1.at方法读取Mat矩阵元素 at (int row,int col) 2.矩阵元素地址定位方式访问元素 3.Android jni demo 1.Mat类矩阵的常用属性 下面是一些Mat类的常用属性&#xff1a; rows: 返回Mat对象的行数。 cols: 返回Mat对象的列数。 …

SpringMVC概述与简单使用

1.SpringMVC简介 SpringMVC也叫做Spring web mvc,是 Spring 框架的一部分&#xff0c;是在 Spring3.0 后发布的。 2.SpringMVC优点 1.基于 MVC 架构 基于 MVC 架构&#xff0c;功能分工明确。解耦合&#xff0c; 2.容易理解&#xff0c;上手快&#xff1b;使用简单。 就可以…

AttributeError: ‘ConfigDict‘ object has no attribute ‘log_level‘

运行 python tools/train.py configs/pspnet/pspnet_r50-d8_512x512_80k_ade20k.py 时出现 问题 Traceback (most recent call last):File "tools/train.py", line 242, in <module>main()File "tools/train.py", line 167, in mainlogger get_ro…

0基础学习VR全景平台篇 第94篇:智慧景区浏览界面介绍

一、景区详细信息介绍 点击左上角的图标就可以看到景区详细信息例如景区简介&#xff0c;地址&#xff0c;开放信息&#xff0c;联系电话等 二、问题反馈中心 点击左下角的【问题反馈】按钮向作者进行问题反馈 三、开场地图 1、直接点击开场地图页面上的图标浏览该场景 2、通…

Java流数据

流数据 可以从不同的角度对流进行分类&#xff1a; 处理的数据单位不同&#xff0c;可分为&#xff1a;字符流&#xff0c;字节流 2.数据流方向不同&#xff0c;可分为&#xff1a;输入流&#xff0c;输出流 3.功能不同&#xff0c;可分为&#xff1a;节点流&#xff0c;处理…

【golang】简单介绍下goroutine

前面的两篇&#xff0c;从相对比较简单的锁的内容入手(也是干货满满)&#xff0c;开始了go的系列。这篇开始&#xff0c;进入更核心的内容。我们知道&#xff0c;go应该是第一门在语言层面支持协程的编程语言(可能是我孤陋寡闻)&#xff0c;goroutine也完全算的上是go的门面。g…

【微服务】服务发现和管理技术框架选型调研

选型背景 方案对比 结论 结合实际业务和开发需要&#xff0c;着重考虑性能可靠性、功能和社区支持程度三方面&#xff0c;认为Nacos更适合作为服务发现和管理的技术框架。具体理由如下&#xff1a; 性能更好&#xff0c;可靠性更高 经过阿里、APISIX、SpringCloudAlibaba,阿…

opencv案例06-基于opencv图像匹配的消防通道障碍物检测与深度yolo检测的对比

基于图像匹配的消防通道障碍物检测 技术背景 消防通道是指在各种险情发生时&#xff0c;用于消防人员实施营救和被困人员疏散的通道。消防法规定任何单位和个人不得占用、堵塞、封闭消防通道。事实上&#xff0c;由于消防通道通常缺乏管理&#xff0c;导致各种垃圾&#xff0…

1688API技术解析,实现关键词搜索淘宝商品(商品详情接口等)批量获取,可高并发

要使用1688API接口采集商品详情&#xff0c;可以按照以下步骤进行&#xff1a; 获取API接口权限&#xff1a;申请1688的app key和app secret&#xff0c;并获取access_token。 编写API请求代码&#xff1a;使用Python等编程语言&#xff0c;编写API请求代码。以下是一个Python…

【陈老板赠书活动 - 11期】- 【MySQL从入门到精通】

![ 陈老老老板&#x1f9b8; &#x1f468;‍&#x1f4bb;本文专栏&#xff1a;赠书活动专栏&#xff08;为大家争取的福利&#xff0c;免费送书&#xff09; &#x1f468;‍&#x1f4bb;本文简述&#xff1a;生活就像海洋,只有意志坚强的人,才能到达彼岸。 &#x1f468;‍…

【数据分享】2006-2021年我国省份级别的集中供热相关指标(免费获取\20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国省份级别的市政设施水平相关指标、2006-2021年我国省份级别的各类建设用地面积数…

无涯教程-Android - ToggleButton函数

ToggleButton将已选中/未选中状态显示为按钮。它基本上是一个带有指示灯的开/关按钮。 Toggle Button ToggleButton属性 以下是与ToggleButton控件相关的重要属性。您可以查看Android官方文档以获取属性的完整列表以及可以在运行时更改这些属性的相关方法。 Sr.No.Attribute…

【高性能计算】opencl语法及相关概念(四):结合opencv进行图像高斯模糊处理

目录 高斯模糊简介主函数&#xff1a;host端设备端函数&#xff1a;mywork.cl效果图对比 高斯模糊简介 高斯模糊是一种常用的图像处理技术&#xff0c;用于减少图像中的噪点和细节&#xff0c;并实现图像的平滑效果。它是基于高斯函数的卷积操作&#xff0c;通过对每个像素周围…

单片机-如何让数码管动态显示

数码管硬件图 1、数码管 连接 74HC245 芯片 单片机IO口输出难稳定&#xff0c;需要数码管与单片机连接需要增加驱动电路&#xff0c; 使用 74HC245 abcdefgDP并联导出 74HC245 对数码管进行驱动&#xff0c;P0 是输出电流 来驱动各个段的 驱动芯片 增加电阻 是为了防止电流…

WPF实战项目十四(API篇):登录注册接口

1、新建UserDto.cs public class UserDto : BaseDto{private string userName;/// <summary>/// 用户名/// </summary>public string UserName{get { return userName; }set { userName value;OnPropertyChanged(); }}private string account;/// <summary>…

【论文阅读】自动驾驶中车道检测系统的物理后门攻击

文章目录 AbstractIntroduction 论文题目&#xff1a; Physical Backdoor Attacks to Lane Detection Systems in Autonomous Driving&#xff08;自动驾驶中车道检测系统的物理后门攻击&#xff09; 发表年份&#xff1a; 2022-MM&#xff08;ACM International Conference on…