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

关于CRI-O

Kubernetes最初使用Docker作为默认的容器运行时。然而,随着Kubernetes的发展和OCI标准的确立,社区开始寻找更专门化的解决方案,以减少复杂性和提高性能。CRI-O的主要目标是提供一个轻量级的容器运行时,它可以直接运行OCI容器镜像,并与Kubernetes无缝集成。

1. 主要特性

  • 轻量级:相比于其他容器运行时,CRI-O的代码库更小,依赖更少,从而减小了安全风险和维护成本。
  • 符合OCI标准:CRI-O完全支持OCI标准,这意味着它可以运行任何符合OCI规范的容器镜像。
  • Kubernetes集成:CRI-O专为Kubernetes设计,并与Kubernetes的CRI(Container Runtime Interface)完全兼容,确保了与Kubernetes的无缝集成。
  • 可扩展性:通过插件架构,CRI-O可以灵活地扩展其功能,以适应不同的需求。

2. 架构

  • Kubelet:Kubernetes的Kubelet组件通过CRI与CRI-O通信。
  • CRI-O守护进程:CRI-O守护进程负责处理来自Kubelet的请求,并管理容器的生命周期。
  • OCI运行时:CRI-O使用底层的OCI运行时(如runc)来创建和管理容器。

3. 主要组件

  • CRI-O守护进程:这是CRI-O的核心,它负责处理CRI请求,并调用底层的OCI运行时。
  • OCI运行时:例如runc,它是一个遵循OCI标准的低级别容器运行时,负责容器的实际创建和管理。
  • 存储插件:CRI-O支持多种存储驱动,用于管理容器的文件系统层。
  • 网络插件:通过CNI(Container Network Interface)插件,CRI-O可以与各种网络方案集成。

安装前准备

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

安装CRI-O

1、配置第三方镜像源

cat <<EOF | tee /etc/yum.repos.d/cri-o.repo
[cri-o]
name=CRI-O
baseurl=https://pkgs.k8s.io/addons:/cri-o:/prerelease:/main/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/addons:/cri-o:/prerelease:/main/rpm/repodata/repomd.xml.key
EOF

2、安装CRI-O

yum -y install cri-o

3、配置开机启动

systemctl enable crio

4、配置CRI-O:配置私有仓库和pause_image

vi /etc/crio/crio.conf.d/10-crio.conf [crio.image]
insecure_registries = ["192.168.XX.XX"
]pause_image="192.168.XX.XX/kubeadm/pause:3.9"
signature_policy = "/etc/crio/policy.json"

5、启动CRI-O

systemctl start crio

安装kubeadm、kubelet、kubectl

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

Node加入集群

按照《kubernetes集群部署:环境准备及master节点部署(二)》中“初始化kubernetes master节点”-“3、初始化master节点”中提示加入即可:

kubeadm join 192.168.XX.190:6443 --token abcdef.0123456789abcdef \--discovery-token-ca-cert-hash sha256:cd24961c8aafeff6a2fcc8cbadf2525cafec0ecb1b8afea866a23409ebeefcba 

但是,如果需要进行定制化配置,则需要通过初始化文件启动Node并加入集群。

1、自定义Node初始化文件:如下红色字体分别配置master地址、criSocket和node名称。

~]# 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:///var/run/crio/crio.sock
  imagePullPolicy: IfNotPresent
  name: k8s130-node191
  taints: null

2、初始化并加入集群

~]# kubeadm join --config kubeadm-join.default.yaml |tee kubeadm-join.log 

打印如下内容说明加入集群成功

安装之后处理

1、验证:执行kubectl get node命令,node状态显示Ready。

kubectl get node
NAME             STATUS   ROLES           AGE     VERSION
k8s130-node190   Ready    control-plane   7h57m   v1.30.2
k8s130-node191   Ready    <none>          7h53m   v1.30.2

2、执行如下命令,成功创建kube-proxy和calico-node等Pod,状态为Running。

kubectl get po -o wide -n kube-system|grep node191  

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

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

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

相关文章

Mysql--基础知识点--87--分库、分表、分区的情景

MySQL中的分库、分表和分区是数据库优化的重要手段&#xff0c;用于解决数据量增长、性能瓶颈以及高并发等问题。下面将分别说明何时进行分库、分表和分区&#xff1a; 一、分库 何时分库&#xff1a; 并发量高&#xff1a;当数据库的连接数达到上限&#xff0c;且通过调整配…

Docker学习笔记(三)Dockerfile

一、什么是Dockerfile Dockerfile 是一个用于自动化构建 Docker 镜像的文本文件&#xff0c;其中包含了从一个基础镜像开始&#xff0c;到最终形成所需定制镜像的所有指令集。这个文件中的每一条指令都对应着构建镜像过程中的一个步骤或一层&#xff0c;指导 Docker 如何安装软…

【无标题】Jenkins 配置项目打包,基于已有的项目

加粗样式 1.新建任务 德达一体化->新建任务 输入任务名称&#xff08;不可重名&#xff09;&#xff0c;下面任务类型选择复制已有的项目 2.配置任务 2-1. 描述 写该任务的描述 打包记录保存设置 2-2. 源码管理 指定Gitlab地址以及登录用户 指定分支&#xff1a; 例如&a…

PHP智慧门店微信小程序系统源码

&#x1f50d;【引领未来零售新风尚】&#x1f50d; &#x1f680;升级启航&#xff0c;智慧零售新篇章&#x1f680; 告别传统门店的束缚&#xff0c;智慧门店v3微信小程序携带着前沿科技与人性化设计&#xff0c;正式启航&#xff01;这个版本不仅是对过往功能的全面优化&a…

从GREE格力看如何起全球商标名称!

有些主体需要走出去出口到国外&#xff0c;普推商标知产老杨看到在一些海外电商平台的出售产品&#xff0c;也会需要英文商标&#xff0c;有的会申请申请注册中英结合商标&#xff0c;在国外申请注册也是比较方便。 格力开始想用“GLEE”(快乐)这个词作为商标名称&#xff0c;但…

【JavaWeb程序设计】JSP编程II

目录 一、输入并运行下面的import_test.jsp页面 1.1 代码运行结果 1.2 修改编码之后的运行结果 二、errorPage属性和isErrorPage属性的使用 2.1 下面的hello.jsp页面执行时将抛出一个异常&#xff0c;它指定了错误处理页面为errorHandler.jsp。 2.1.2 运行截图 2.2 下面…

医疗器械FDA | FDA如何对医疗器械网络安全认证进行审查?

FDA医械网络安全文件出具​https://link.zhihu.com/?targethttps%3A//www.wanyun.cn/Support%3Fshare%3D24315_ea8a0e47-b38d-4cd6-8ed1-9e7711a8ad5e FDA对医疗器械的网络安全认证进行审查时&#xff0c;主要关注以下几个方面&#xff0c;以确保医疗器械在网络环境中的安全性…

模板语句——02

模板语句的数据来源 1.谁可以给模板语句提供数据支持&#xff1f; data选项 2.data选项的类型是什么&#xff1f; Object | Function (对象或者函数) 3.data配置项的专业叫法&#xff1a;vue 实例的数据对象。&#xff08;data实际上是给整个&#xff09;vue实例提供数据的来…

2 极/2 零 (2P2Z) 补偿器

极/2 零 &#xff08;2P2Z&#xff09; 补偿器是模拟 II 型控制器的数字实现。它是一种滤波器&#xff0c;通过考虑两个极点和一个零点&#xff0c;将特定的增益和相位升压引入系统。您必须战略性地选择每个极点和零点的频率位置&#xff0c;这将有助于实现所需的系统性能。在该…

团队编程:提升代码质量与知识共享的利器

目录 前言1. 什么是团队编程&#xff1f;1.1 团队编程的起源1.2 团队编程的工作流程 2. 团队编程的优势2.1 提高代码质量2.2 促进知识共享2.3 增强团队协作2.4 提高开发效率 3. 团队编程的挑战3.1 开发成本较高3.2 需要良好的团队协作3.3 个人风格和习惯的差异3.4 长时间的集中…

[C++][CMake][生成可执行文件][下]详细讲解

目录 1.搜索文件1.aux_source_directory2.file 2.包含头文件3.变量操作1.追加1.使用set拼接2.使用list拼接 2.字符串移除3.list其他操作 4.宏定义5.预定义宏 1.搜索文件 如果一个项目里边的源文件很多&#xff0c;在编写CMakeLists.txt文件的时候不可能将项目目录的各个文件一…

大数据期末复习——hadoop、hive等基础知识

一、题型分析 1、Hadoop环境搭建 2、hadoop的三大组件 HDFS&#xff1a;NameNode&#xff0c;DataNode&#xff0c;SecondaryNameNode YARN&#xff1a;ResourceManager&#xff0c;NodeManager &#xff08;Yarn的工作原理&#xff09; MapReduce&#xff1a;Map&#xff0…

七人互助拼团模式:共创共赢的电商新篇章

在当今电商行业的繁荣浪潮中&#xff0c;七人互助拼团模式犹如一股清流&#xff0c;凭借其独特的激励机制与深厚的互助合作文化&#xff0c;赢得了消费者与商家的广泛赞誉。这一模式不仅重新定义了团购体验&#xff0c;更在无形中强化了社群间的联系与协作&#xff0c;共同绘制…

学懂C#编程:属性(Property)的概念定义及使用详解

在C#中&#xff0c;属性&#xff08;Property&#xff09;是一种特殊的类成员&#xff0c;它提供了一种灵活的机制来读取、写入或计算私有字段的值。属性使得类的字段可以像公共数据成员一样被访问&#xff0c;同时还可以在访问时执行自定义的逻辑&#xff0c;如数据验证、计算…

解决loguru在multiprocessing并发场景下子线程日志无法记录到文件问题

logger对象在创建时必须从父进程传递给子进程才能记录日志&#xff0c;有两种传递方式&#xff1a; 第一种&#xff1a;通过类定义一个日志变量&#xff0c;然后外部传入logger对象来记录日志。 # workers_a.py class Worker:_logger Nonestaticmethoddef set_logger(logger…

中英双语介绍日本东京(Tokyo)

中文版 东京介绍 东京是日本的首都&#xff0c;也是日本的政治、经济、文化和国际交流中心。以下是对东京的详细介绍&#xff0c;包括其地理位置、人口、经济、教育、文化和主要景点。 地理位置 东京位于日本关东地区的南部&#xff0c;地理坐标大致为北纬35度41分&#xf…

C语言_练习题

求最小公倍数 思路&#xff1a;假设两个数&#xff0c;5和7&#xff0c;那么最小至少也要7吧&#xff0c;所以先假定最小公倍数是两个数之间较大的&#xff0c;然后看7能不能同时整除5和7&#xff0c;不能就加1继续除 int GetLCM(int _num1, int _num2) {int max _num1>_n…

C++11中新特性介绍-之(二)

11.自动类型推导 (1) auto类型自动推导 auto自动推导变量的类型 auto并不代表某个实际的类型&#xff0c;只是一个类型声明的占位符 auto并不是万能的在任意场景下都能推导&#xff0c;使用auto声明的变量必须进行初始化&#xff0c;以让编译器推导出它的实际类型&#xff0c;…

直接交付和间接交付

路由器在IP数据包的传输过程中&#xff0c;根据源主机与目的主机是否位于同一物理网络&#xff0c;会采用直接交付或间接交付两种方式。以下是对这两种交付方式的清晰归纳&#xff1a; 一、直接交付 定义&#xff1a; 直接交付发生在源主机与目的主机位于同一个物理网络时&a…

Laravel语言之桥:本地化与国际化的实现艺术

标题&#xff1a;Laravel语言之桥&#xff1a;本地化与国际化的实现艺术 Laravel框架提供了一套强大的国际化&#xff08;Internationalization&#xff0c;简称I18n&#xff09;和本地化&#xff08;Localization&#xff0c;简称L10n&#xff09;支持&#xff0c;使得开发者…