【Kubernetes】常见面试题汇总(三)

2024-09-08 14:12

本文主要是介绍【Kubernetes】常见面试题汇总(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

9.简述 Kubernetes 的缺点或当前的不足之处?

10.简述 Kubernetes 相关基础概念?


9.简述 Kubernetes 的缺点或当前的不足之处?

Kubernetes 当前存在的缺点(不足)如下:

① 安装过程和配置相对困难复杂;

② 管理服务相对繁琐;

③ 运行和编译需要很多时间;

④ 它比其他替代品更昂贵;

⑤ 对于简单的应用程序来说,可能不需要涉及 Kubernetes 即可满足。


10.简述 Kubernetes 相关基础概念?

(1)master:

- k8s 集群的管理节点,负责管理集群,提供集群的资源数据访问入口。

- 拥有 Etcd 存储服务(可选),运行 Api Server 进程,Controller Manager 服务进程及 Scheduler 服务进程。

(2)node(worker):

- Node(worker) 是 Kubernetes 集群架构中运行 Pod 的服务节点,是 Kubernetes 集群操作的单元,用来承载被分配 Pod 的运行,是 Pod 运行的宿主机。

- 运行 dockereninge 服务,守护进程 kunelet 及负载均衡器 kube-proxy。

(3)pod:

- 运行于 Node 节点上,若干相关容器的组合。

- Pod 内包含的容器运行在同一宿主机上,使用相同的网络命名空间、IP 地址和端口,能够通过 localhost 进行通信。

- Pod 是 Kurbernetes 进行创建、调度和管理的最小单位,它提供了比容器更高层次的抽象,使得部署和管理更加灵活。一个 Pod 可以包含一个容器或者多个相关容器。

(4)label:

- Kubernetes 中的 Label 实质是一系列的 Key/Value 键值对,其中 key 与 value 可自定义。

- Label 可以附加到各种资源对象上,如 Node、Pod、Service、RC 等。

- 一个资源对象可以定义任意数量的 Label,同一个 Label 也可以被添加到任意数量的资源对象上去。

- Kubernetes 通过 LabelSelector(标签选择器)查询和筛选资源对象。

(5)Replica set(副本集):

- Pod 只是单个应用实例的抽象,要构建高可用应用,通常需要构建多个同样的副本,提供同一个服务。

- Kubernetes 为此抽象出副本集 Replica Set,其允许用户定义 Pod 的副本数,每一个 Pod 都会被当作一个无状态的成员进行管理,Kubernetes 保证总是有用户期望的数量的 Pod 正常运行。

- 当某个副本宕机以后,控制器将会创建一个新的副本。当因业务负载发生变更而需要调整扩缩容时,可以方便地调整副本数量。

(6)Deployment:

- Deployment 在内部使用了 RS 来实现目的,Deployment 相当于 RC 的一次升级,其最大的特色为可以随时获知当前 Pod 的部署进度。

(7)HPA(Horizontal Pod Autoscaler):

- Pod 的横向自动扩容,也是 Kubernetes 的一种资源,通过追踪分析 RC 控制的所有 Pod 目标的负载变化情况,来确定是否需要针对性的调整 Pod 副本数量

(8)Service:

- Service 定义了 Pod 的逻辑集合和访问该集合的策略,是真实服务的抽象。

- Service提供了一个统一的服务访问入口以及服务代理和发现机制,关联多个相同 Label 的 Pod,用户不需要了解后台 Pod 是如何运行。

(9)Volume:

- Volume 是 Pod 中能够被多个容器访问的共享目录。

- Kubernetes 中的 Volume 是定义在 Pod 上,可以被一个或多个 Pod 中的容器挂载到某个目录。

(10)Namespace:

- Namespace 用于实现多租户的资源隔离,可将集群内部的资源对象分配到不同的 Namespace 中,形成逻辑上的不同项目、小组或用户组便于不同的 Namespace 在共享使用整个集群的资源的同时还能被分别管理。

这篇关于【Kubernetes】常见面试题汇总(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1148332

相关文章

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A