备战面试K8S

备战面试&&K8S

  • Kubernetes
    • 关于Docker
      • Docker的优缺点分析
    • WebAssembly
      • WebAssembly与Container比较
    • Ctr
    • Crictl
      • Ctr和CriCtl的区别
    • Pod生命周期
      • PodConditions
      • 容器状态
      • Pod容器组成
      • 生命周期的流程
    • Kubelet
  • EFK
      • 日志采集工具的优缺点

Kubernetes

容器运行接口 Container Runtime Interface (CRI): a plugin interface which enables kubelet to use a wide variety of container runtimes, without the need to recompile. CRI consists of a protocol buffers and gRPC API, and libraries, with additional specifications and tools under active development.
容器运行时 (Container Runtime): 它负责拉取并运行容器镜像。

关于Docker

Docker曾是流行的容器运行时。常见的容器运行时还有containerd 和 CRI-O等。
在这里插入图片描述

Docker的优缺点分析

优点:

  • 快:容器的启停、重启以秒或毫秒为单位。
  • 敏捷: 像虚拟机一样敏捷。
  • 轻量:一台服务器可以部署100~1000个container。

WebAssembly

它相对于容器体积更小、速度更快、安全性更强和可移植性更高。

WebAssembly与Container比较

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

简介
github

Ctr

Ctr是Containerd自带的CLI命令行工具

Crictl

Crictl是k8s中CRI(容器运行时接口)的客户端,k8s使用该客户端和containerd进行交互。

Ctr和CriCtl的区别

# 查看运行的容器
ctr task ls 
ctr container ls
crictl ls
# 查看镜像
ctr image ls
crictl images
# 查看容器日志
ctr 没有
crictl logs
# 查看容器数据信息
ctr container info
crictl inspect
# 查看容器资源
crictl stats
# 启动、关闭已有的容器
ctr task start/kill
crictl start/stop
# 运行一个新的容器
ctr run
crictl运行的最小单元为pod
# 修改镜像标签
ctr image tag
# 创建一个新的容器
ctr container create
crictl create
# 导入镜像
ctr image import
# 导出镜像
ctr image export
# 删除容器
ctr container rm
crictl rm
# 删除镜像
ctr image rm 
crictl rmi 
# 拉取镜像
ctr image pull
crictl pull
# 推送镜像
ctr image push

Pod生命周期

在这里插入图片描述

  • Pending:挂起。Pod已被Kubernetes系统接受,但有一个或者多个容器镜像尚未创建。等待时间包括调度Pod的时间和通过网络下载镜像的时间,这可能需要花点时间。
  • Running: 运行中。该Pod已经绑定到了一个节点上,Pod中所用的容器都已被创建(而非运行)。至少有一个容器正在运行,或者正处于启动或重启状态。
  • Succeeded: 成功。Pod中的所用容器都被成功终止,并且不会再重启。
  • Failed: 失败。Pod中的所用容器都已终止了,并且至少有一个容器是因为失败终止。也就是说,容器以非0状态退出或者被系统终止。
  • Unknown: 未知。因为某些原因无法取得Pod的状态,通常是因为与Pod的所在主机通信失败。

PodConditions

在这里插入图片描述

  • PodScheduled: Pod已经被调度到某节点。
  • ContainersReady: Pod中所有容器都已就绪。
  • Initialized: 所有的init容器都已成功完成。
  • Ready: Pod可以为请求提供服务,并且应该被添加到对应服务的负载均衡池中。

容器状态

在这里插入图片描述

  • Waiting: 此状态的容器仍在运行它完成启动所需要的操作:例如,从某个容器镜像仓库拉取容器镜像,或者向容器应用Secret数据等等。当你使用kubectl来查询包含Waiting状态的容器的Pod时,其中的Reason字段给出了容器处于等待状态的原因。
  • Running: 此状态表明容器正在执行状态并且没有问题发生。如果配置了postStart回调,那么该回调已经执行且已完成。你可以使用kubelet来查询包含Running状态的容器Pod,其中的Reason字段给出了容器进入Running状态的信息。
  • Terminated: 此状态的容器已经开始执行并且或者正常结束或者因为某些原因失败。你可以使用kubelet来查询包含Terminated状态的容器Pod,其中Reason字段给出了容器进入此状态的原因、退出代码以及容器执行期间的起止时间。

Pod容器组成

  • Infra/Pause Container: 基础容器。Pod中所有容器的父容器,为其他容器提供共享的命名空间和网络空间。
    • 用户不可见,无需感知。
    • kubelet的启动命令选项中,通过"–pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7"指定基础容器。
    • 启动PID命名空间,它在每个Pod中都作为PID为1的进程,并回收僵尸进程。
  • Init Containers: 初始化容器。一般用于服务等待处理以及注册Pod信息等。
    • 先于业务容器开始运行。
    • 顺序执行,执行成功退出(exit 0),全部执行成功后开始启动业务容器。
  • Containers: 业务容器。
    • 并行启动,启动成功后一直Running。

生命周期的流程

在这里插入图片描述

  • 用户通过UI或CLI提交一个Pod创建请求给Kubernetes集群的控制面(HTTP:8080/HTTPS:6443)。
  • API Server接收到请求后进行验证身份和鉴权,写入存储系统etcd。
  • Scheduler通过API Server的watch,或者叫做notification的机制得到这个信息。
  • Scheduler接收到Pod创建请求后,会根据集群各节点的内存状态进行一次调度决策,
  • Scheduler在完成调度之后,它会向API Server返回可调度的节点的信息。
  • API Server接收到这次操作之后,会把调度决策的结果再次写到etcd,然后通知相应的节点去真正的执行Pod的启动。
  • 相应节点的kubelet接收到创建Pod的请求后通过调用Container runtime去配置容器及其运行环境,并调度Storage Plugin进行容器存储的配置,并调度Network Plugin进行容器网络的配置。

在这里插入图片描述

Kubelet

如果容器中的进程能够在遇到问题或者不健康的情况下自行崩溃,kubelet将根据Pod的restartPolicy自动执行修复操作。

EFK

日志采集工具的优缺点

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

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

相关文章

CTFHub(web SQL注入)

CTFHub技能树 Web-SQL注入 详解_666c6167-CSDN博客 Ctfhub - web -- SQL注入_ctfhub sql注入-CSDN博客 整数型注入 方法一 根据提示输入1, 闭合方式就是 1 ,整数型 存在两列,这里已经给出了字段,不需要再order by了 爆出数据库…

yolov7模型输出层预测方法解读

本文从代码的角度分析模型训练阶段输出层的预测包括以下几个方面: 标注数据(下文统称targets)的正样本分配策略,代码实现位于find_3_positive。候选框的生成,会介绍输出层的预测值、GT、grid、 anchor之间的联系损失函…

算法练习第20天|回溯算法 77.组合问题 257. 二叉树的所有路径

1.什么是回溯算法? 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。其本质是穷举,穷举所有可能,然后选出我们想要的答案。 2.为什么要有回溯算法? 那么既然回溯法并不高效为什么还要用它呢? 因为有的问题能暴力…

Hive进阶(2)----HDFS写入数据流程(赋图助君理解)

HDFS写入数据流程 一、写入流程 1、 Client向NameNode发起RPC请求,来确定请求文件block所在的位置; 2、 NameNode会视情况返回文件的部分或者全部block列表,对于每个block,NameNode都会返回含有该block副本的DataNode地址&…

Ubuntu22.04.4 - 网络配置 - 笔记

一、设置固定ip 1、cd /etc/netplan 查看文件夹下的配置文件 我这里叫 00-installer-config.yaml 2、sudo nano /etc/netplan/00-installer-config.yaml 完成配置后,按下Ctrl O保存更改,然后按下Ctrl X退出nano编辑器。 3、sudo netplan apply 4、ip …

前端开发攻略---合并表格单元格,表格内嵌套表格实现手风琴效果。

1、演示 2、思路 1、用传统的 <table></table> 表格标签来实现比较麻烦。因此通过模拟 表格标签 的写法用<div></div>来实现 2、表头和表格列数是相同的&#xff0c;因此可以确定代码结构 <div class"table"><div class"head…

PotPlayer 图像截取

PotPlayer 图像截取 1. PotPlayer2. PotPlayer 下载2.1. PotPlayer 240305 3. 图像截取References 1. PotPlayer http://www.potplayercn.com/ PotPlayer 是 KMPlayer 原作者姜勇囍进入新公司 Daum 之后推出的&#xff0c;继承了 KMPlayer 所有的优点&#xff0c;拥有异常强大…

Flask项目在Pycharm中设置局域网访问

打开PyCharm导入本应用。点击Run标签中的Edit Configurations 其中Target type选择Script path&#xff0c;Target填入本项目中app.py的路径&#xff0c;Additional optional填入--host0.0.0.0(不要有空格)。 再重新运行项目&#xff0c;会观察到除了原本的http://127.0.0.1:50…

【EI会议征稿通知】2024年图像处理、机器学习与模式识别国际学术会议(IPMLP 2024)

2024年图像处理、机器学习与模式识别国际学术会议&#xff08;IPMLP 2024) 2024 International Conference on Image Processing, Machine Learning and Pattern Recognition 重要信息 大会官网&#xff1a;www.ipmlp.net&#xff08;点击参会/投稿/了解会议详情&#xff09;…

【赛题】2024年“华中杯”数模竞赛赛题发布

2024年"华中杯"数学建模网络挑战赛——正式开赛&#xff01;&#xff01;&#xff01; 赛题已发布&#xff0c;后续无偿分享各题的解题思路、参考文献&#xff0c;帮助大家最快时间&#xff0c;选择最适合是自己的赛题。祝大家都能取得一个好成绩&#xff0c;加油&a…

uiautomation、pytest、schedule实现桌面程序自动化(初级)02

一&#xff1a;安装uiAutomation 前置条件:安装python、pycharm 命令行安装 Pip install uiautomation2.0.17 #指定版本 二&#xff1a;安装辅助工具&#xff1a;inspect.exe和、Accessibility Insights For Windows定位元素工具 辅助工具介绍 步骤中提到…

Hive进阶(4)----MapReduce的计算过程(赋图助君理解)

MapReduce的计算过程 MapReduce是一种编程模型和处理大规模数据集的方法。它通常用于分布式计算环境中&#xff0c;能够将数据处理任务分解成独立的部分&#xff0c;分配给多台计算机进行并行处理。这个模型由Google提出&#xff0c;并在开源领域中得到了广泛的应用和实现。Map…

无法连接到MongoDB Atlas 的Cloud Database

打开Mongodb网页: 选择允许任何地址连接 连接成功

Docker容器嵌入式开发:在Ubuntu上配置RStudio与R语言、可视化操作

目录 一、dirmngr工具二、R环境安装与配置三、验证是否安装成功四、安装Rstudio五、可视化操作参考 以上是在Ubuntu 18.04上安装最新版本的R语言环境的步骤摘要。首先&#xff0c;通过添加CRAN镜像源并安装GPG密钥来配置软件源。然后&#xff0c;更新软件包列表并通过apt安装R语…

SQL --索引

索引 INDEX 伪列 伪装起来的列&#xff0c;不容易被看见&#xff0c;要特意查询才能看见 ROWNUM&#xff1a; 是对查询结果自动生成的一组连续的自然数序号。 SELECT emp.*,ROWNUM FROM emp例题&#xff1a;查询emp表中&#xff0c;前三个员工 SELECT * FROM * from emp w…

【创建型模式】建造者模式

一、建造者模式概述 建造者模式定义&#xff1a;将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同得表示。(对象创建型模式)。 建造者模式分析&#xff1a; 1.将客户端与包含多个部件得复杂对象得创建过程分离&#xff0c;客户端无需知道复杂对象…

【unity】【C#】游戏音乐播放和发布

今天我们来认识一下有关 unity 音乐的一些知识 我们先创建 AudioClips 文件夹&#xff0c;这个文件夹通常就是 unity 中存放音乐的文件夹&#xff0c;然后拖进音乐文件进去 这里为大家提供了两个音乐&#xff0c;有需要可以自取 百度网盘&#xff1a;https://pan.baidu.com/s…

RIP最短路实验(华为)

思科设备参考&#xff1a;RIP最短路实验&#xff08;思科&#xff09; 一&#xff0c;技术简介 RIP&#xff08;Routing Information Protocol&#xff0c;路由信息协议&#xff09;是一种基于距离矢量的内部网关协议&#xff0c;工作原理是每个路由器周期性地向邻居路由器发…

React Ant Design 简单实现如何选中图片

效果&#xff1a; 代码&#xff1a; 定义的初始值和方法 const [selected, setSelected] useState(0); // 表示当前选中的图片索引const handleClick (index) > {if (selected index) {setSelected(null); // 如果点击的是已选中的图片&#xff0c;则取消选中状态} else…

JVM虚拟机(十)Java内存泄漏的排查思路

目录 一、可能产生内存泄露的地方二、复现堆内存泄漏三、如何排查堆内存问题&#xff1f;3.1 获取对内存快照 dump3.2 使用 Visual VM 去分析 dump 文件3.3 定位内存溢出问题 一、可能产生内存泄露的地方 在进行排查 Java 的内存泄漏问题之前&#xff0c;首先我们要知道哪里可…