【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(二十三)

本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》从问题中去学习k8s

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

《DBA》db的介绍使用(mysql、redis、mongodb...)

思考一下问题:

91、Replica Set 和 Replication Controller之间有什么

区别?

参考答案:

复制代码
Replica Set 和 Replication Controller 都是 Kubernetes 中用于确保运行指定数量的 Pod 副本的资源。它们都用于提高应用的可用性和扩展性,但主要区别在于它们的功能和使用场景。

### 1. **Replication Controller (RC)**
Replication Controller 是 Kubernetes 的早期组件,用于确保任何时候都有指定数量的 Pod 副本在运行。如果有过多或过少的副本,Replication Controller 会相应地启动或终止 Pod,以匹配所需的副本数。它的主要特点和功能包括:
- **确保副本数量**:保证集群中运行指定数目的 Pod 副本。
- **自我修复**:如果一个 Pod 失败,RC 会自动创建新的 Pod 来替代。
- **简单的选择器**:使用基础的标签选择器来管理 Pod 组。

### 2. **Replica Set (RS)**
Replica Set 是 Replication Controller 的一个替代和增强,提供了更强大的 Pod 选择能力。Replica Set 是在 Kubernetes 1.2 版本中引入的,它支持基于集合的选择器,这允许更复杂的选择逻辑。其主要特点和功能包括:
- **支持集合选择器**:除了基础的等式选择器外,还支持集合操作,如 `in`, `notin`, 和 `exists`。
- **确保副本数量**:与 RC 类似,RS 也确保指定数量的 Pod 副本始终在运行。
- **自我修复能力**:如果一个 Pod 失败,RS 会自动替换它。
- **更广泛的应用**:由于其强大的选择器功能,RS 是创建 Deployment 时的首选。

### 主要区别
- **选择器的功能**:Replica Set 支持更复杂的选择器,这是它与 Replication Controller 最主要的区别。
- **推荐使用**:在新的 Kubernetes 部署中,推荐使用 Replica Set 或更高级的 Deployment(实际上使用 Replica Set),而不是使用 Replication Controller。

### 结论
虽然 Replication Controller 仍然在 Kubernetes 中受支持,但通常建议使用 Replica Set 或 Deployment,因为它们提供了更高级的功能和更灵活的配置选项。Replica Set 特别适用于需要复杂选择逻辑的场景,而 Deployment 在此基础上还添加了版本控制和回滚功能,是管理 Pod 副本的更先进工具。
相关推荐
云上艺旅5 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
c无序5 小时前
【Docker-7】Docker是什么+Docker版本+Docker架构+Docker生态
docker·容器·架构
FixBug_Nick5 小时前
使用Docker安装及使用最新版本的Jenkins
docker·容器·jenkins
你觉得2055 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
A旧城以西7 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ7 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL000757 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
吴梓穆7 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
ghostwritten7 小时前
Run Milvus in Kubernetes with Milvus Operator
容器·kubernetes·milvus
Three~stone7 小时前
MySQL学习集--DDL
数据库·sql·学习