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

2023-10-30

一、背景

由于客户网络处于专网环境下, 使用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

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

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

3、设置kubectl开机自启

systemctl enable kubelet

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 微服务架构下的移动架构实践

    转载本文需注明出处 EAII企业架构创新研究院 违者必究 如需加入微信群参与微课堂 架构设计与讨论直播请直接回复此公众号 加群 姓名 公司 职位 微信号 大家好 我是普元信息移动产品的负责人 郝振明 很高兴又与大家见面了 今天和大家分享的主
  • 怎么使用51单片机实现人脸识别?

    使用 51 单片机实现人脸识别可以通过以下步骤来实现 准备必要的硬件设备 包括 51 单片机 摄像头和相应的连接线 安装并配置相应的开发环境 如 Keil IAR 等 准备人脸识别所需的人脸数据库 这可以通过手动收集人脸图像并进行标记来实现
  • linux内核态和用户态(通俗易懂)

    一 内核态 用户态概念 内核态 也叫内核空间 是内核进程 线程所在的区域 主要负责运行系统 硬件交互 用户态 也叫用户空间 是用户进程 线程所在的区域 主要用于执行用户程序 二 内核态和用户态的区别 内核态 运行的代码不受任何限制 CPU可
  • 在为水质担忧吗?——水质检测大屏展示系统启动(inscode直观运行)

    前言 作者主页 雪碧有白泡泡 个人网站 雪碧的个人网站 推荐专栏 java一站式服务 React从入门到精通 前端炫酷代码分享 从0到英雄 vue成神之路 uniapp 从构建到提升 从0到英雄 vue成神之路 解决算法 一个专栏就够了 架
  • 动态规划法求解编辑距离问题

    问题描述 设A和B是两个字符串 现在要用最少的字符操作次数 将字符串A转换为字符串B 这里所说的字符操作共有3种 1 删除一个字符 2 插入一个字符 3 将一个字符替换另一个字符 例如 A sfdqxbw B gfdgw 结果为4 问题求解
  • STM32超声波模块测距

    特别注意 单独t link只能提供3 3v电压 模块接5v电压只能收到3 3V 供电的时候请接上micro口 模块介绍 HC SR04超声波模块可提供2cm 400cm的距离感测功能 测量精度可以达到3mm 通过声音340m s t 2可以
  • TCP3次握手连接协议和4次握手断开连接协议

    TCP IP 状态机 如下图所示 在TCP IP协议中 TCP协议提供可靠的连接服务 采用三次握手建立一个连接 如图1所示 SYN包表示标志位syn 1 ACK包表示标志位ack 1 SYN ACK包表示标志位syn 1 ack 1 1 第
  • 关于stm32f429的MDA2D的M2M模式

    LTDC的使用问题 可参考官方例程的配置 需要注意的是 它只是一个LCD控制器 需要定义缓存的地址 可以设置在flash里 但是不便于操作 一般还是建议设置外部SDRAM里 LTDC中DMA2D的使用问题 429中LTDC的2D加速功能还比
  • 记Tomcat删除war包问题

    由于不清楚tomcat部署原理 误认为tomcat部署完成之后 可以把war删除 然后以后每次部署 只需要增量部署就行了 然后还怕由于war包的存在 增量部署的内容会被覆盖掉 不清楚war包什么时候会自动重新部署 于是 rm rf mm w
  • Python将.py文件打包成.exe可执行文件

    1 安装Pyinstaller库 pip install pyinstaller 2 在 py文件的所在文件夹Shift 右键 打开后输入pyinstaller F 要打包的文件名称 例如Mqtt py F参数表示覆盖打包 如果有旧的会覆盖
  • [电路设计]按键方案

    电路设计 按键方案 本文记录和介绍几种按键解决方案 包括普通按键 按键编码电路 ADC按键的工作原理 1 普通按键 一般使用的按键原理图如下图所示 由按键 上拉电阻和消抖滤波电容组成 按键断开时 K e y I i n
  • 级数求和公式

    级数求和公式是用于求解有限的或无限的等差 等比数列的总和 它的一般形式为 Sn a1 a2 a3 an 其中 a1 为该级数的首项 an 为该级数的末项 Sn 表示该级数的和 1 如果是有限等差数列 其求和公式为 Sn n a1 an 2
  • Spring Cloud Eureka注册中心组件搭建

    第一步 Idea 新建spring boot项目 选中Cloud 中 Eureka Server 第二部 配置文件 将application application 后缀改为application yml 也可以不修改 我是用的yml 粘贴
  • 计算机指令格式

    计算机的指令格式与机器的字长 存储器的容量及指令的功能都有很大的关系 从便于程序设计 增加基本操作并行性 提高指令功能的角度来看 指令中应包含多种信息 但在有些指令中 由于部分信息可能无用 这将浪费指令所占的存储空间 并增加了访存次数 也许
  • idea中处理依赖注入爆红问题

    1 这是idea里的编译异常 这里会出现依赖注入爆红的情况 有以下两种方式 1 1 方式一 在进行注入的时候 并没有UserMapper这个接口 所以爆异常 解决方式 需要创建一个UserMapper接口并交给Spring容器管理 1 2
  • 【转】伺服电机三环控制的原理(位置环,运动环,电流环)

    运动伺服一般都是三环控制系统 从内到外依次是电流环速度环位置环 1 首先电流环 电流环的输入是速度环PID调节后的那个输出 我们称为 电流环给定 吧 然后呢就是电流环的这个给定和 电流环的反馈 值进行比较后的差值在电流环内做PID调节输出给
  • 剑指offer(C++版本)

    剑指offer c 版本 二维数组查找 替换空格 从尾到头打印链表 重建二叉树 用两个栈实现队列 旋转数组的最小数字 斐波那契数列 跳台阶 矩阵覆盖 二进制1的个数 数值的整数次方 调整数组顺序使奇数位于偶数前面 链表中倒数第k个结点 反转
  • 【ANN预测】基于遗传算法优化 ANN附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号
  • qt在windows下交叉编译arm架构程序

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

    一 背景 由于客户网络处于专网环境下 使用kubeadm工具安装K8S集群 由于无法连通互联网 所有无法使用apt工具安装kubeadm kubelet kubectl 当然你也可以使用apt get工具在一台能够连通互联网环境的服务器上下