kubernetes集群部署:node节点部署和cri-docker运行时安装(四)

安装前准备

同《kubernetes集群部署:环境准备及master节点部署(二)》

安装cri-docker

在 Kubernetes 1.20 版本之前,Docker 是 Kubernetes 默认的容器运行时。然而,Kubernetes 社区决定在 Kubernetes 1.20 及以后的版本中逐步淘汰对 Docker 的直接支持,一直到Kubernetes 1.24版本彻底不再支持Docker作为kubernetes的默认容器运行时,原因如下:

  1. CRI 标准化:Kubernetes 团队推出了 CRI(Container Runtime Interface),旨在标准化容器运行时的接口,使 Kubernetes 能够与不同的容器运行时(如 containerd、CRI-O)无缝集成。
  2. Docker Shim:为了使 Kubernetes 能够与 Docker 一起工作,Kubernetes 需要一个称为 "dockershim" 的组件,充当 Kubernetes 和 Docker 之间的桥梁。这增加了额外的复杂性和维护负担。

为了解决这一问题,并让仍然依赖 Docker 的用户继续使用,cri-dockerd 项目应运而生。

什么是 cri-dockerd

cri-dockerd 是一个外部的开源项目,目的是提供一个兼容 Kubernetes CRI 的 Docker 运行时。它是 Docker 和 Kubernetes 之间的桥梁,使 Kubernetes 可以使用 Docker 作为容器运行时,同时符合 CRI 标准。

功能和特点

  1. 兼容性cri-dockerd 保持与现有 Docker 工作流程和工具的兼容性,用户可以继续使用熟悉的 Docker CLI 和生态系统。
  2. 标准化接口:通过实现 CRI 接口,cri-dockerd 确保 Kubernetes 可以与 Docker 一起无缝工作。
  3. 开源项目cri-dockerd 是一个社区驱动的开源项目,保证了其可持续性和社区支持。

安装Docker

1、配置第三方镜像源

~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、安装Docker

dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

3、修改Docker配置文件,修改私有仓库地址。

tee /etc/docker/daemon.json<<-'EOF'
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"
],"insecure-registries": ["192.168.XX.101"]
}
EOF

4、启动并设置开机启动项

systemctl start docker
systemctl enable docker.service

安装 cri-dockerd

1、下载cri-dockerd软件包

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.14/cri-dockerd-0.3.14-3.el8.x86_64.rpm

2、安装cri-dockerd

~]# rpm -ivh cri-dockerd-0.3.14-3.el8.x86_64.rpm 
~]# cri-dockerd --version
cri-dockerd 0.3.14 (683f70f)

3、修改cri-dockerd服务文件,增加红色字体配置(配置网络插件和pause image),否则~~哼哼

ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni --pod-infra-container-image=192.168.XX.101/kubeadm/pause:3.9

4、启动并配置开机启动项

systemctl enable cri-docker
systemctl enable --now cri-docker.socket
systemctl start cri-docker

安装kubeadm、kubelet、kubectl

同《kubernetes集群部署:环境准备及master节点部署(二)》

Node加入集群

同《kubernetes集群部署:node节点部署和CRI-O运行时安装(三)》

但是初始化启动文件需要改一下:

~]# cat kubeadm-join.default.yaml 
apiVersion: kubeadm.k8s.io/v1beta3
caCertPath: /etc/kubernetes/pki/ca.crt
discovery:
  bootstrapToken:
    apiServerEndpoint: k8s130-node190:6443
    token: abcdef.0123456789abcdef
    unsafeSkipCAVerification: true
  timeout: 5m0s
  tlsBootstrapToken: abcdef.0123456789abcdef
kind: JoinConfiguration
nodeRegistration:
  criSocket: unix:///run/cri-dockerd.sock
  imagePullPolicy: IfNotPresent
  name: k8s130-node189
  taints: null

安装之后处理

同《kubernetes集群部署:node节点部署和CRI-O运行时安装(三)》

集群搭建完成后联调

1、启动1个mysql,然后启动3个myweb,可看到均衡调度到了2个Node上了。

2、分别创建了mysql的svc和myweb的svc,并将myweb的8080端口映射到Node上的30080,通过如下URL访问效果如下:

至此,我们部署的1master+2node的集群环境,分别尝试使用了Containerd、CRI-O、Docker三种运行时,其中Docker比较特殊,需要额外部署一个CRI(cri-docker)作为桥梁。本人不禁感叹一声:昔日的小甜甜 现在的牛夫人。

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

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

相关文章

【C++】开源:量化金融计算库QuantLib配置与使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍量化交易库QuantLib配置与使用。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#…

Java中的数据可视化与图表库选择

Java中的数据可视化与图表库选择 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在现代软件开发中&#xff0c;数据可视化是将抽象数据转化为易于理解的图形化…

【JVM基础篇】Java垃圾回收器介绍

垃圾回收器&#xff08;垃圾回收算法实现&#xff09; 垃圾回收器是垃圾回收算法的具体实现。由于垃圾回收器分为年轻代和老年代&#xff0c;除了G1&#xff08;既能管控新生代&#xff0c;也可以管控老年代&#xff09;之外&#xff0c;新生代、老年代的垃圾回收器必须按照ho…

Redis中list类型操作命令(操作演示、命令语法、返回值、时间复杂度、注意事项等)

文章目录 lpush 命令lrange 命令lpushx 命令rpush 命令rpushx 命令lpop 命令rpop 命令lindex 命令linsert 命令llen 命令lrem 命令ltrim 命令lset 命令blpop 和 brpop lpush 命令 从左侧向列表中插入指定的元素 语法&#xff1a;lpush key value [value……] 时间复杂度&#…

【C语言】自定义类型:联合和枚举

前言 前面我们学习了一种自定义类型&#xff0c;结构体&#xff0c;现在我们学习另外两种自定义类型&#xff0c;联合 和 枚举。 目录 一、联合体 1. 联合体类型的声明 2. 联合体的特点 3. 相同成员联合体和结构体对比 4. 联合体大小的计算 5. 用联合体判断当前机…

C语言实现顺序表字符型数据排序

实现直接插入、冒泡、直接选择排序算法。 #include <stdio.h> #include <stdlib.h>typedef char InfoType;#define n 10 //假设的文件长度&#xff0c;即待排序的记录数目 typedef char KeyType; //假设的关键字类型 typedef struct { //记录类型KeyType…

vue3+vite搭建第一个cesium项目详细步骤及环境配置(附源码)

文章目录 1.创建vuevite项目2.安装 Cesium2.1 安装cesium2.2 安装vite-plugin-cesium插件&#xff08;非必选&#xff09;2.3 新建组件页面map.vue2.4 加载地图 3.完成效果图 1.创建vuevite项目 打开cmd窗口执行以下命令&#xff1a;cesium-vue-app是你的项目名称 npm create…

【LeetCode:3101. 交替子数组计数 + 滑动窗口 + 数学公式】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

转盘输入法-键盘加鼠标版本

序 转盘输入法&#xff0c;给你的聊天加点新意。它不用常见的九宫格或全键盘&#xff0c;而是把字母摆在圆盘上&#xff0c;一滑一滑&#xff0c;字就出来了&#xff0c;新鲜又直接。 键盘加鼠标版本GIF演示 演示软件下载 转盘输入法PC演示版本EXE下载https://download.csdn…

Unity编辑器扩展之Inspector面板扩展

内容将会持续更新&#xff0c;有错误的地方欢迎指正&#xff0c;谢谢! Unity编辑器扩展之Inspector面板扩展 TechX 坚持将创新的科技带给世界&#xff01; 拥有更好的学习体验 —— 不断努力&#xff0c;不断进步&#xff0c;不断探索 TechX —— 心探索、心进取&#xff…

MySQL主从复制_腾讯云

腾讯云-CVM自建基于GTID复制的mysql作为CDB的从库 腾讯云MySQL主库SQL操作 # 查看log_bin日志是否启动成功 SHOW VARIABLES LIKE %log_bin%;# 查看主库是否开启了GTID功能 SHOW GLOBAL VARIABLES LIKE %gtid_mode%; # 创建用户并授权 mysql> CREATE USER user_repl % IDENT…

GPU 资源池化云平台解决方案​

目录 Kubernetes 一、Kubernetes平台概述 二、举例说明 三、结论 运营商行业算力池化解决方案 企业级GPU 资源池化云平台解决方案​ Kubernetes (简称k8s或kube)是一个可移植、可扩展的开源平台,专门用于管理容器化的工作负载和服务。它是由Google开发并贡献给开源社…

前后端分离Nginx

背景 旧的部署方式是将前端代码打包进后端包的resource server {listen 80;listen 443 ssl;server_name xxx.test.com;location / {proxy_pass http://xxx.test.com;} }后端&#xff1a;https:// xxx.test.com/simcard/querySimcard 前端&#xff1a;https:// x…

阿里云服务器配置、搭建(针对Spring boot和MySQL项目)

这是一篇极其详细且痛苦的文章&#xff0c;还是在两位后端的大佬手把手教导下、以及我找遍全网所有资料、问了N遍AI、甚至直接申请阿里云工单一对一询问客服一整天、连续清空再上传反复30多次整个项目jar包......总结出来的终极要人命踩坑的问题总结 一、首先购买服务器 其实不…

Java的JSONPath(fastjson)使用总结

背景 最近使用json实现复杂业务配置, 因为功能需要解析读取json的中节点数据。如果使用循环或者stream处理&#xff0c;可以实现&#xff0c;但是都过于麻烦。在想能否使用更简单json读取方式&#xff0c;正好发现fastjson支持该功能&#xff0c;本文做一个记录 案例说明 示…

磁盘分区工具 -- 傲梅分区助手 v10.4.1 技术员版

软件简介 傲梅分区助手是一款功能强大的磁盘分区工具&#xff0c;它专为Windows系统设计&#xff0c;帮助用户更高效地管理他们的硬盘。该软件支持多种分区操作&#xff0c;包括创建、格式化、调整大小、移动、合并和分割分区。此外&#xff0c;它还提供了复制硬盘和分区的功能…

06-6.4.4 拓扑排序

&#x1f44b; Hi, I’m Beast Cheng &#x1f440; I’m interested in photography, hiking, landscape… &#x1f331; I’m currently learning python, javascript, kotlin… &#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

java基础:方法

一、方法 1、Java方法是语句的集合&#xff0c;它们在一起执行一个功能。 方法是解决一类问题的步骤的有序集合方法包含于类或对象中方法在程序中被创建&#xff0c;在其他地方被引用 2、设计方法的原则&#xff1a;方法的本意是功能块&#xff0c;就是实现某个功能的语句块…

如何选择一家适合自己的商城源码?

商城源码的选择取决于多个因素&#xff0c;包括商城的功能需求、稳定性、易用性、可定制性以及价格等。启山智软作为在市场上被广泛认可且表现优异的商城源码提供商&#xff0c;具有以下的特点和优势&#xff1a; 特点①&#xff1a;国内知名的B2B2C开源商城源码系统&#xff…

python多线程与多进程开发实践及填坑记(3)

1. 前言 1.1. 概述 基于Flask、Pika、Multiprocessing、Thread搭建一个架构&#xff0c;完成多线程、多进程工作。具体需求如下&#xff1a; 并行计算任务&#xff1a;使用multiprocessing模块实现并行计算任务&#xff0c;提高计算效率、计算能力。消息侦听任务&#xff1a…