《Kubernetes部署篇:Ubuntu20.04基于containerd部署kubernetes1.25.14集群(多主多从)》

2023-11-13

一、架构图

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


二、环境信息

  • 1、资源下载

基于containerd部署容器版kubernetes1.25.14集群资源合集

  • 2、部署规划
主机名 K8S版本 系统版本 内核版本 IP地址 备注
k8s-master-12 1.25.14 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.12 master节点 + etcd节点
k8s-master-13 1.25.14 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.13 master节点 + etcd节点
k8s-master-14 1.25.14 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.14 master节点 + etcd节点
k8s-worker-15 1.25.14 Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.15 worker节点
- - - - 192.168.1.110 vip(虚拟ip)
k8s-lb-01 - Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.16 Nginx + keepalived
k8s-lb-02 - Ubuntu 20.04.5 LTS 5.15.0-69-generic 192.168.1.17 Nginx + keepalived

  • 3、集群网段
宿主机 集群Pod网段 集群Service网段
192.168.1.0/24 10.48.0.0/16 10.96.0.0/16

  • 4、基础软件版本
软件 版本 安装方式
containerd 1.7.2 apt工具
kubeadm、kubectl、kubelet v1.25.14 apt工具
kube-lb(nginx) 1.22.1 二进制
keepalived v2.2.7 二进制

使用apt工具安装containerd会一起安装runc,版本信息如下:

软件 版本
containerd 1.7.2
runc 1.1.7

使用apt工具安装kubeadm、kubectl、kubelet会一起安装cri-tools、ebtables、kubernetes-cni、ebtables、socat、conntrack,版本信息如下:

软件 版本
conntrack 1.4.5
cri-tools 1.26.0
kubernetes-cni 1.2.0
ebtables 2.0.11
socat 1.7.3
kubeadm 1.25.14
kubectl 1.25.14
kubelet 1.25.14

总结:

1、安装containerd,需要同时安装runc及cni网络插件。Containerd不能直接操作容器,需要通过runc来运行容器。默认Containerd管理的容器仅有lo网络(无法访问容器之外的网络),如果需要访问容器之外的网络则需要安装CNI网络插件。CNI(Container Network Interface) 是一套容器网络接口规范,用于为容器分配ip地址,通过CNI插件Containerd管理的容器可以访问容器之外的网络。

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

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

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

5、conntrack:这是一个用于连接跟踪的内核模块和工具。它允许您跟踪网络连接的状态和信息,如源IP地址、目标IP地址、端口号等。


  • 5、容器镜像版本
K8S镜像 calico镜像
registry.k8s.io/kube-apiserver:v1.25.14 docker.io/calico/cni:v3.26.1
registry.k8s.io/kube-controller-manager:v1.25.14 docker.io/calico/kube-controllers:v3.26.1
registry.k8s.io/kube-scheduler:v1.25.14 docker.io/calico/node:v3.26.1
registry.k8s.io/kube-proxy:v1.25.14 -
registry.k8s.io/pause:3.8 -
registry.k8s.io/coredns/coredns:v1.9.3 -
registry.k8s.io/etcd:3.5.6-0 -

K8S版本与calico版本对应关系,如下所示:

calico版本 calico yml文件下载 支持K8S版本
v3.24.6 calico.yml v1.22、v1.23、v1.24、v1.25
v3.25.2 calico.yml v1.23、v1.24、v1.25、v1.26
v3.26.1 calico.yml v1.24、v1.25、v1.26、v1.27

三、安装和配置先决条件

3.1、主机名设置

说明:分别在对应的节点IP上设置主机名。

主机IP 设置主机名
192.168.1.12 hostnamectl set-hostname k8s-master-12 && bash
192.168.1.13 hostnamectl set-hostname k8s-master-13 && bash
192.168.1.14 hostnamectl set-hostname k8s-master-14 && bash
192.168.1.15 hostnamectl set-hostname k8s-worker-15 && bash
192.168.1.16 ho
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《Kubernetes部署篇:Ubuntu20.04基于containerd部署kubernetes1.25.14集群(多主多从)》 的相关文章

随机推荐

  • Python 生成当前项目依赖包 requirements

    Python 生成当前项目依赖包 requirements 1 安装 pipreqs pip install pipreqs 2 执行命令 在当前工程目录生成 pipreqs encoding utf8 force 3 使用requirem
  • CentOS下ELK 7.2生产安全部署

    01 架构说明 在需要采集日志的服务器上部署Filebeat服务 它将采集到的日志数据推送到Kafka集群 Logstash服务通过input插件读取Kafka集群对应主题的数据 期间可以使用filter插件对数据做自定义过滤解析处理 然后
  • Android Studio 4.x 返回上一次编辑的地方

    Android Studio 升级到 4 x 后 返回上一次编辑的地方的快捷键变成了 Alt Shift 左箭头 了
  • JUC之ReentrantReadWriteLock

    JUC之ReentrantReadWriteLock 1 背景 由于ReentrantLock是独占可重入锁 因此在进行操作的时候 不能够满足多线程同时操作数据 为了满足并发场景下的临界资源的数据共享 出现了ReentrantReadWri
  • web上传图片到七牛云服务器

    本文通过java web的使用 把要上传的图片通过浏览器上传到服务器上面 文本仅供参考 可能出现很多不合理 1 创建对应的jsp页面 下面是jsp下面的对应的from表单 上传文件用的那么ImgFiles的属性名称 同样你可以使用其他的 或
  • 零基础开发NBIOT

    前言 shineblink core 开发板 简称Core 的库函数支持NBIOT通信功能 所以只用几行代码即可实现基于M5311 NB模块的联网通信 TCP UDP MQTT 功能 这里我们主要介绍通过TCP实现联网通信的功能 更多关于T
  • KVM MMU EPT内存管理

    转载请注明 转载自博客xelatex KVM 并附本文链接 谢谢 注 文章中采用的版本 Linux 3 11 https www kernel org pub linux kernel v3 x linux 3 11 tar gz qemu
  • 信息学奥赛C++语言: 螺旋方阵1

    题目描述 一个 n 行 n 列的螺旋方阵按如下方法生成 从方阵的左上角 第 1 行第 1 列 出发 初始时向右移动 如果前方是未曾经过的格子 则继续前进 否则 右转 重复上述操作直至经过方阵中所有格子 根据经过顺序 在格子中依次填入 1 2
  • 【学习笔记】性能测试——Jmenter的使用入门(自用)

    一 性能理论 性能测试理论 什么是性能测试 初始 服务器崩溃 宕机 客户机性能 概念 利用脚本或者工具对于被测系统进行一定的负载测试 观察性能指标是否满足用户需求 得到相关性能指标 并优化 性能测试的目的 不是完全为了找bug 是为了验证系
  • vue gyp错误

    gyp verb ensuring that file exists C Python27 python exe gyp ERR configure error gyp ERR stack Error Can t find Python e
  • POJ 2966 k-d Tree

    题意 二维平面中有n个点 求每个点和其他点的最远距离 include
  • 语义分割之FCN训练预测自己的数据集

    之前博客PyQt5实现深度学习平台Demo 八 c 调用python方式完成训练和预测 jiugeshao的专栏 CSDN博客中提到 接下来主精力还是先放在深度学习分类 检测 分割算法上面 之前虽然也对各算法做过了解 但没有一一用代码实现过
  • CUDA之窄带常规波束形成

    思路 现在手上有了cuda的复数矩阵乘法和复数矩阵转置 理论上讲可以做一个简单的波束形成了 按照matlab之并行计算 的思想把for循环都变成矩阵来做 复数矩阵定义 typedef struct int width int height
  • flutter是什么

    Flutter是Google开源的构建用户界面 UI 工具包 帮助开发者通过一套代码库高效构建多平台精美应用 支持移动 Web 桌面和嵌入式平台 Flutter 开源 免费 拥有宽松的开源协议 适合商业项目 截止2022年5月12日Flut
  • 回溯算法之最大团问题

    以下内容摘自 http wenku baidu com view 356779bdf121dd36a32d8243 html 本人第一篇博文 经验严重不足 尚未完成 先做做测试 大家多多包涵 回溯法的思想 穷举 暴力搜索整个解空间 找出所有
  • Unity IAP的使用

    http blog sina com cn s blog 94dfd97d0102wwap html 按照这个哥们的教程顺利完成内购 记下一些坑点 1 使用UnityIAP需要将应用先发布至Google 获取应用公钥 在服务和IPA中 2
  • 给程序员推荐的一款机械键盘

    一 Keychron品牌简介 Keychron是一个网红机械键盘 可以同时兼容多款操作系统 是众多科技博主推荐产品 Keychron是机械键盘网红品牌 因在油管上被无数码博主使用而爆红 国内的版本是京东京造K系列键盘 价格要比国外官网便宜
  • 深度学习算法发展:从多样到统一

    OpenAI在GPT 3模型基础上引入了人类反馈强化学习方法 RLHF 训练出InstructGPT模型 并据此发布了对话机器人ChatGPT 引起了互联网用户的注意 深度学习算法发展 从多样到统一 up pdf https url39 c
  • openwrt的路由器重置root密码

    家里路由器刷了openwrt 结果长期没登录 忘了root密码 很容易就找到了这里介绍的办法 http www openwrt org cn bbs thread 12327 1 1 html 但在我这里不行 那个recvudp exe一直
  • 《Kubernetes部署篇:Ubuntu20.04基于containerd部署kubernetes1.25.14集群(多主多从)》

    一 架构图 如下图所示 二 环境信息 1 资源下载 基于containerd部署容器版kubernetes1 25 14集群资源合集 2 部署规划 主机名 K8S版本 系统版本 内核版本 IP地址 备注 k8s master 12 1 25