Kubernetes 常见面试题(六)

news/2024/4/24 8:27:27/文章来源:https://blog.csdn.net/qq_44534541/article/details/127250404

51. 简述 Kubernetes 网络策略?

答:为实现细粒度的容器间网络访问隔离策略,Kubernetes 引入 Network Policy。Network Policy 的主要功能是对 Pod 间的网络通信进行限制和准入控制,设置允许访问或禁止访问的客户端 Pod 列表。Network Policy 定义网络策略,配合策略控制器(Policy Controller)进行策略的实现。

52. 简述 Kubernetes 网络策略原理?

答:Network Policy 的工作原理主要为:policy controller 需要实现一个 API Listener,监听用户设置的 Network Policy 定义,并将网络访问规则通过各 Node 的 Agent 进行实际设置(Agent 则需要通过 CNI 网络插件实现)。

53. 简述 Kubernetes 中 flannel 的作用?

答:Flannel 可以用于 Kubernetes 底层网络的实现,主要作用有:

  • 它能协助 Kubernetes,给每一个 Node 上的 Docker 容器都分配互相不冲突的IP 地址。
  • 它能在这些 IP 地址之间建立一个覆盖网络(Overlay Network),通过这个覆盖网络,将数据包原封不动地传递到目标容器内。

54. 简述 Kubernetes Calico 网络组件实现原理?

答:
Calico 是一个基于 BGP 的纯三层的网络方案,与 OpenStack、Kubernetes、AWS、GCE 等云平台都能够良好地集成。

Calico 在每个计算节点都利用 Linux Kernel 实现了一个高效的 vRouter 来负责数据转发。每个 vRouter 都通过 BGP 协议把在本节点上运行的容器的路由信息向整个Calico 网络广播,并自动设置到达其他节点的路由转发规则。

Calico 保证所有容器之间的数据流量都是通过 IP 路由的方式完成互联互通的。Calico节点组网时可以直接利用数据中心的网络结构(L2 或者 L3),不需要额外的 NAT、隧道或者 Overlay Network,没有额外的封包解包,能够节约 CPU 运算,提高网络
效率。

55. 简述 Kubernetes 共享存储的作用?

答:Kubernetes 对于有状态的容器应用或者对数据需要持久化的应用,因此需要更加可靠的存储来保存应用产生的重要数据,以便容器应用在重建之后仍然可以使用之前的数据。因此需要使用共享存储。

56. 简述 Kubernetes 数据持久化的方式有哪些?

答:Kubernetes 通过数据持久化来持久化保存重要数据,常见的方式有:

  • EmptyDir(空目录):没有指定要挂载宿主机上的某个目录,直接由 Pod 内保
    部映射到宿主机上。类似于 docker 中的 manager volume。
  • 场景:
    • 只需要临时将数据保存在磁盘上,比如在合并/排序算法中;
    • 作为两个容器的共享存储。
  • 特性:
    • 同个 pod 里面的不同容器,共享同一个持久化目录,当 pod 节点删除时,volume 的数据也会被删除。
    • emptyDir 的数据持久化的生命周期和使用的 pod 一致,一般是作为临时存储使用。
  • Hostpath:将宿主机上已存在的目录或文件挂载到容器内部。类似于 docker 中的 bind mount 挂载方式。
    • 特性:增加了 pod 与节点之间的耦合。

PersistentVolume(简称 PV):如基于 NFS 服务的 PV,也可以基于 GFS 的 PV。它的作用是统一数据持久化目录,方便管理。

57. 简述 Kubernetes PV 和 PVC?

答:
PV 是对底层网络共享存储的抽象,将共享存储定义为一种“资源”。
PVC 则是用户对存储资源的一个“申请”。

58. 简述 Kubernetes PV 生命周期内的阶段?

答:某个 PV 在生命周期中可能处于以下 4 个阶段(Phaes)之一。

  • Available:可用状态,还未与某个 PVC 绑定。
  • Bound:已与某个 PVC 绑定。
  • Released:绑定的 PVC 已经删除,资源已释放,但没有被集群回收。
  • Failed:自动资源回收失败。

59. 简述 Kubernetes 所支持的存储供应模式?

答:Kubernetes 支持两种资源的存储供应模式:静态模式(Static)和动态模式(Dynamic)。

  • 静态模式:集群管理员手工创建许多 PV,在定义 PV 时需要将后端存储的特性进行设置。
  • 动态模式:集群管理员无须手工创建 PV,而是通过 StorageClass 的设置对后端存储进行描述,标记为某种类型。此时要求 PVC 对存储的类型进行声明,系统将自动完成 PV 的创建及与 PVC 的绑定。

60. 简述 Kubernetes CSI 模型?

答:Kubernetes CSI 是 Kubernetes 推出与容器对接的存储接口标准,存储提供方只需要基于标准接口进行存储插件的实现,就能使用 Kubernetes 的原生存储机制为容器提供存储服务。CSI 使得存储提供方的代码能和 Kubernetes 代码彻底解耦,部署也
与 Kubernetes 核心组件分离,显然,存储插件的开发由提供方自行维护,就能为Kubernetes 用户提供更多的存储功能,也更加安全可靠。

CSI 包括 CSI Controller 和 CSI Node:

  • CSI Controller 的主要功能是提供存储服务视角对存储资源和存储卷进行管理和操作。
  • CSI Node 的主要功能是对主机(Node)上的 Volume 进行管理和操作。

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

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

相关文章

12个小细节让普源示波器使用更加高效(上)

俗话说细节决定成败,示波器作为电子测量的第一工具,虽然使用简单,但并不是每个人都能注意到细节。运用好细节,可以使你的示波器使用更加的便捷。以下由安泰测试带来普源示波器测量相关的12个小细节可作为示波器常识快速自检的小文…

Spring Boot(4):@Import注解和@Conditional注解

说明:基于atguigu学习笔记。 在了解spring boot自动配置原理前,再来了解下两个注解Import注解和Conditional注解。 Import Import注解主要用于导入某些特殊的Bean,这些特殊的Bean和Bean Definitaion 有关。 主要用于导入Configuration 类…

Python实现桌面挂件,做一只可爱的桌面宠物~

文章目录嗨嗨,大家好 ~ 我是小圆相关文件开发工具相关模块:环境搭建安装原理简介1.初始化一个窗口组件:效果2.设置一下窗口的属性:随机导入一张图片,看效果随机导入一个宠物的所有图片的函数代码3.宠物随机出现在桌面上…

服务端渲染的探索与实践

服务端渲染(SSR)近两年炒得很火热,相信各位同学对这个名词多少有所耳闻。本节我们将围绕“是什么”(服务端渲染的运行机制)、“为什么”(服务端渲染解决了什么性能问题 )、“怎么做”(服务端渲染的应用实例与使用场景)这三个点,对服务端渲染进行探索。 服务端渲染是一…

GOM引擎登录器的研究,逆向技术在这款GOM20151108引擎上是一个大舞台

最近遇到一个逆向类课题,是关于GOM20151108版本对应登录器研究。刚接触传奇的时候是2002年,那时候网吧玩SF,都是手动用IP直接连接,当时的一款 联创传奇 很好玩,有传送戒子,木域戒指,土域戒指&am…

不会 Vue,但不影响我学 diff 算法

前言 现在社会各行各业大都面临着寒冬,互联网行业最近还出现了裁员潮,导致前端是越来越卷,普通学校的应届生不仅要跟985、211毕业的学生以及研究生进行竞争,甚至还需要和最近刚被裁的、有了几年工作经验的程序员竞争,…

page.json

uni-app需要给page.json文件需要进行配置路由,否则会不报错,也跳转不过去

【数模/启发式算法】蚁群算法

文章目录简介符号说明核心思想流程图文章使用到的测试函数基本步骤蚁群算法代码简介 蚁群算法是一种用来寻找优化路径的概率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。 这种算法具有分布计算、信息正…

Arduino播放声音

玩软件有点虚无,没有实际东西,所以接下来要体验下硬件与软件结合。 1 Arduino Arduino是一种包含硬件(各种型号的Arduino板)和软件(Arduino IDE)的开源电子平台。硬件部分是可以用来做电路连接的Arduino电…

小白学习Java第四十三天

Git概述 (一)什么是Git Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一…

设计模式学习笔记(五) - 观察者模式 Observer

目录 观察者模式 Observer 一、背景描述 Version 1 (面向过程) Version 2 (面向对象) Version 3 (单个观察者) Version 4 (多个观察者) Version 5 (分离观察者与被观察者) 二、不同事件下的观察者模式 三、事件本身也可以形成继承体系 四、观察者常用场景 观察者模式…

Selenium基础 — 鼠标操作

1、鼠标事件介绍 前面例子中我们已经学习到可以用click()来模拟鼠标的单击操作,而我们在实际的web产品测试中发现,有关鼠标的操作,不单单只有单击,有时候还要用到右击,双击,拖动等操作,这些操作…

【Nginx】认识与基本使用 Nginx 实现反向代理、配置负载均衡

文章目录1. Nginx 概述1.1 Nginx 介绍1.2 Nginx 下载和安装1.3 Nginx 目录结构2. Nginx 命令3. Nginx 配置文件结构4. Nginx 具体应用4.1 部署静态资源4.2 反向代理4.2.1 介绍4.2.2 配置反向代理4.3 负载均衡4.3.1 介绍4.3.2 配置负载均衡4.3.3 负载均衡策略1. Nginx 概述 1.1…

Ubuntu开机界面出现“error found when loading /root/.profile”

原因 今天一开始按照一篇文章,想把普通用户的权限提高到最高权限,修改了**/etc/passwd**文件,然后重启,发现之前的用户进不去了,一开机就出现如下信息 解决方法 1、重启虚拟机进入recovery模式(长按shi…

计算机网络-第一章 | 王道考研

目录 一、基本介绍 定义 功能 组成 分类 标准化工作 标准的分类 标准化工作相关组织 二、性能指标 ※ 速率 带宽 ※吞吐量 时延 时延带宽积 往返时延RTT 利用率 三、分层结构 ※ 分层基本规则 正式认识分层 7层OSI参考模型 怎么来的 怎么分的 怎么传的…

<特殊类设计与单例模式>——《C++高阶》

目录 1.请设计一个类,不能被拷贝 2. 请设计一个类,只能在堆上创建对象 3. 请设计一个类,只能在栈上创建对象 4. 请设计一个类,不能被继承 5. 请设计一个类,只能创建一个对象(单例模式) 后记:●由于…

GD32F307VC+WIN10+VSCODE+GCC+JLINK环境build

为了构建Cortex M系列单片机免费开源的开发环境,网络上了解来看VSCODEGCCJLINK是一套比较高效的组合方式,下面记录环境搭建的流程。 我这边的PC环境为 WIN10专业版64bit。 工具准备 1. arm-none-eabi-gcc下载及安装 官网下载链接:Downloa…

c++数据结构:数组和向量

线性表: 在数据元素的非空有限集中 存在唯一的一个被叫做“第一个”的数据元素存在唯一的一个被叫做“最后一个”的数据元素除第一个之外,集合中的每个数据元素均只有一个前驱除最后一个之外,每个集合元素均只有一个后继数据结构中线性结构指…

文字识别检测入门(1)

CTPN 优点:对水平文字检测效果超级好 缺点:对扭曲的文字不好 RRPN 在faster的基础上改进 RPN改为RRPN ROI pooling改进为RROI pooling 能解决旋转,但是解决不了弯曲的曲面问题 EAST Anchor free 特征合并,检测不同尺度文本 检测各…

刷爆leetcode第三期 0007~0010

刷爆leetcode第三期 0007~0010 题目一 反转链表解法一解法二题目二 链表的中间节点题目三 链表的倒数第K个节点题目四 合并两个有序链表题目一 反转链表 解法一 给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 示例 1&#xff1a…