Kubernetes 二进制部署 《easzlab / kubeasz项目部署》- 03-安装容器运行时

Kubernetes 二进制部署 《easzlab / kubeasz项目部署》

    • 03-安装容器运行时

03-安装容器运行时

项目根据k8s版本提供不同的默认容器运行时:

k8s 版本 < 1.24 时,支持docker containerd 可选
k8s 版本 >= 1.24 时,仅支持 containerd
[root@k8s-master-01 kubeasz]# cat playbooks/03.runtime.yml
# to install a container runtime
- hosts:- kube_master- kube_noderoles:- { role: docker, when: "CONTAINER_RUNTIME == 'docker'" }- { role: containerd, when: "CONTAINER_RUNTIME == 'containerd'" }

kubeasz 集成安装 containerd

注意:k8s 1.24以后,项目已经设置默认容器运行时为 containerd,无需手动修改
执行安装:分步安装ezctl setup xxxx 03

命令对比

命令dockercrictl(推荐)ctr
查看容器列表docker pscrictl psctr -n k8s.io c ls
查看容器详情docker inspectcrictl inspectctr -n k8s.io c info
查看容器日志docker logscrictl logs
容器内执行命令docker execcrictl exec
挂载容器docker attachcrictl attach
容器资源使用docker statscrictl stats
创建容器docker createcrictl createctr -n k8s.io c create
启动容器docker startcrictl startctr -n k8s.io run
停止容器docker stopcrictl stop
删除容器docker rmcrictl rmctr -n k8s.io c del
查看镜像列表docker imagescrictl imagesctr -n k8s.io i ls
查看镜像详情docker inspectcrictl inspecti
拉取镜像docker pullcrictl pullctr -n k8s.io i pull
推送镜像docker pushctr -n k8s.io i push
删除镜像docker rmicrictl rmictr -n k8s.io i rm
查看Pod列表crictl pods
查看Pod详情crictl inspectp
启动Podcrictl runp
停止Podcrictl stopp

containerd和docker命令大体相似,我们甚至可以通过alias来把crictl改成docker

alias docker=crictl
[root@k8s-master-01 kubeasz]# cat roles/containerd/tasks/main.yml
- name: 获取是否已经安装containerdshell: 'systemctl is-active containerd || echo "NoFound"'register: containerd_svc- block:- name: 准备containerd相关目录file: name={{ item }} state=directorywith_items:- "{{ bin_dir }}/containerd-bin"- "/etc/containerd"- name: 加载内核模块 overlaymodprobe: name=overlay state=present- name: 下载 containerd 二进制文件copy: src={{ item }} dest={{ bin_dir }}/containerd-bin/ mode=0755with_fileglob:- "{{ base_dir }}/bin/containerd-bin/*"tags: upgrade- name: 下载 crictlcopy: src={{ base_dir }}/bin/crictl dest={{ bin_dir }}/crictl mode=0755- name: 添加 crictl 自动补全lineinfile:dest: ~/.bashrcstate: presentregexp: 'crictl completion'line: 'source <(crictl completion bash) # generated by kubeasz'- name: 创建 containerd 配置文件template: src=config.toml.j2 dest=/etc/containerd/config.tomltags: upgrade- name: 创建systemd unit文件template: src=containerd.service.j2 dest=/etc/systemd/system/containerd.servicetags: upgrade- name: 创建 crictl 配置template: src=crictl.yaml.j2 dest=/etc/crictl.yaml- name: 开机启用 containerd 服务shell: systemctl enable containerdignore_errors: true- name: 开启 containerd 服务shell: systemctl daemon-reload && systemctl restart containerdtags: upgrade- name: 轮询等待containerd服务运行shell: "systemctl is-active containerd.service"register: containerd_statusuntil: '"active" in containerd_status.stdout'retries: 8delay: 2tags: upgradewhen: "'NoFound' in containerd_svc.stdout"

需要注意config.toml.j2这个文件中的sandbox_image = "{{ SANDBOX_IMAGE }}",这个沙盒镜像在kubelet启动pod的时候会用到,所以如果无法启动pod,很有可能是这个插件没装好。不过kubeasz项目已经为我们填好了

[root@k8s-master-01 kubeasz]# ./ezctl setup k8s-cluster-01 03
[root@k8s-master-01 kubeasz]# ansible node -m shell -a "systemctl is-active containerd"
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
192.168.17.241 | CHANGED | rc=0 >>
active
192.168.17.240 | CHANGED | rc=0 >>
active

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

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

相关文章

亚马逊认证考试系列 - 知识点 - EMR简介

一、AWS EMR 简介 AWS EMR 是 Amazon Web Services 的托管 Hadoop 框架&#xff0c;它简化了在云中处理大规模数据的过程。EMR 支持基于 Hadoop、Spark、Presto 和其他大数据技术的分布式计算框架。主要特性和优势弹性伸缩&#xff1a;根据工作负载的需要自动扩展或收缩计算集…

vue2实现拖拽排序效果

1、首先下载 vuedraggable 插件 npm i -S vuedraggable2、使用方法 <template><div><div style"display: flex; justify-content: center; align-items: center"><div style"width: 120px; height: 60px; line-height: 60px; text-align…

独家揭秘:AI大模型在实践中的应用!

在当今社会&#xff0c;人工智能技术被广泛应用于各行各业。其中&#xff0c;AI大模型作为人工智能领域的热门话题&#xff0c;正逐渐成为现实生活中的重要应用。AI大模型是一种基于深度学习和神经网络技术的计算机模型&#xff0c;能够通过大规模数据的训练和学习&#xff0c;…

利用小红书笔记利用小红书笔记API:开发者的内容创新利器

小红书是一个备受欢迎的社交平台&#xff0c;它为用户提供了分享购物心得、旅行体验、美妆技巧等内容的平台。对于开发者来说&#xff0c;小红书笔记API&#xff08;如果开放的话&#xff09;可以是一个强大的工具&#xff0c;用于实现内容创新、数据分析以及用户互动等多种功能…

dpdk-vdpa中QEMU热迁移脏页log内存的分配和传递流程

migration_thread qemu_savevm_state_setup ram_save_setup ram_init_all ram_init_bitmaps memory_global_dirty_log_start //全局标脏 MEMORY_LISTENER_CALL_GLOBAL(log_global_start, Forward); .log_global_start = vhost_log_global_start, vhost_migration_logvhost_dev_…

SpringMVC-异步调用,拦截器与异常处理

1.异步调用 1.发送异步请求 <a href"javascript:void(0);" id"testAjax">访问controller</a> <script type"text/javascript" src"js/jquery-3.7.1.js"></script> <script type"text/javascript&qu…

linux系统elk集群组件filebeat部署

Filebeat 部署 Filebeat 部署下载解压修改配置启动 Filebeat 部署 为什么用 Filebeat &#xff0c;而不用原来的 Logstash 呢&#xff1f; 原因很简单&#xff0c;资源消耗比较大。 Filebeat 需要部署在每台应用服务器上&#xff0c;可以通过 Salt 来推送并安装配置。 下载 …

C语言学习--练习2

目录 1.排序数组 2.多数元素 3.存在重复元素 4.最大间距 5.按奇偶排序数组 6.最小时间差 1.排序数组 /*** Note: The returned array must be malloced, assume caller calls free().*/ int cmp(const void*a,const void*b){return *(int*)a-*(int*)b; } int* sortArray(i…

C语言抽象代码(其五)

水博客 今天突发奇想&#xff0c;可不可以用中文写代码。 然后我发现可以用#define完成。 我们看代码 非常好理解就是用前面代替后面。比如&#xff1a; 主函数 代替 int main 非常简单

二叉搜索树题目:二叉搜索树迭代器

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;二叉搜索树迭代器 出处&#xff1a;173. 二叉搜索树迭代器 难度 4 级 题目…

MongoDB聚合运算符:$dateAdd

文章目录 语法使用时间测量时区 举例添加未来日期根据日期范围筛选调整夏令时 $dateAdd聚合运算符将Date()对象按指定的时间单位递增。 语法 {$dateAdd: {startDate: <Expression>,unit: <Expression>,amount: <Expression>,timezone: <tzExpression>…

wails+elementplus 打造GUI程序

商品系统 git地址&#xff1a;https://github.com/daimao0/goods-system 技术栈 本系统使用 wails vue3 elementplus gorm 数据库使用 sqlite 本地系统没有上云和账户能力&#xff0c;可以通过系统备份和导入来同步数据库如何使用 打包&#xff1a;wails build --platf…

代码随想录算法训练营day29

题目&#xff1a;491.递增子序列、46.全排列、47.全排列 II 参考链接&#xff1a;代码随想录 491.递增子序列 思路&#xff1a;一开始按照基本回溯的模板来写。当路径长度大于2时加入ans&#xff0c;结束条件为开始位置到达末尾。for循环部分遍历第一个加入path中的数&#…

计讯物联智慧工业园区系统平台全面提升园区智能化水平

工业园区聚集着各种生产要素&#xff0c;是纺织、机械、家具等诸多产业集中的区域&#xff0c;更是资源消耗和污染物排放的集中地。根据某些工业园区环境调研&#xff0c;园区入驻企业从生产原料到生产制造过程大多带有有毒有害、易燃易爆的特性&#xff0c;再加上装置大型化、…

SpringBoot 热部署。

SpringBoot 热部署。 文章目录 SpringBoot 热部署。 pom.xml。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional…

LeetCode-第137题-只出现一次的数||

1.题目描述 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。 2.样例描述 3.思路描述 先把数组排序&am…

M2TS转MP4怎么转?超快的方法~

M2TS格式的优点主要体现在对高清视频的完美支持&#xff0c;能够提供极致的视觉体验。然而&#xff0c;由于其相对较大的文件大小&#xff0c;有时可能不太适合网络传输。此外&#xff0c;部分不支持M2TS的播放设备可能导致一定的兼容性问题。 想要播放m2ts视频&#xff0c;可…

【kubernetes】关于k8s集群如何将pod调度到指定node节点?

目录 一、k8s的watch机制 二、scheduler的调度策略 Predicate&#xff08;预选策略&#xff09; 常见算法&#xff1a; priorities&#xff08;优选策略&#xff09;常见的算法有&#xff1a; 三、k8s的标签管理之增删改查 四、k8s的将pod调度到指定node的方法 方案一&am…

DFS回溯-经典全排列问题(力扣)

前言 对于全排列问题&#xff0c;常用的做法是设置一个vis数组来确定位置i上的数字是否被访问&#xff0c;因为是全排列问题&#xff0c;所以不同的顺序也是不一样的排列&#xff0c;因此每次都是从起点开始询问**(注意起点到底是0还是1)** 46全排列(最简单的模板) class So…

Object.assign 这算是深拷贝吗

在JavaScript中&#xff0c;Object.assign() 是一个用于合并对象属性的常见方法。然而&#xff0c;对于许多开发者来说&#xff0c;关于它是否执行深拷贝的认识可能存在一些混淆。先说答案Object.assign() 不属于深拷贝&#xff0c;我们接着往下看。 Object.assign() 概览 首…