【从问题中去学习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 副本的更先进工具。
相关推荐
Hhuhkt5 分钟前
3D 云养宠小游戏
学习
无人生还别怕30 分钟前
如何安装任意版本docker
运维·docker·容器
程序员老赵2 小时前
Docker 部署 Redmine:轻松搭建私有化项目管理平台
docker·容器·开源
派大鑫wink2 小时前
纯前端实现软考中级·软件设计师备考学习网站
前端·学习
smartpi_ai2 小时前
51 单片机写好了,大模型语音怎么接?17T 全驱动的现成方案、双板串口分工的边界与画板前的三项硬件确认
单片机·嵌入式硬件·学习
小楼昨夜又东风1263 小时前
一文理清K8s PVC挂载完整流程
容器·rpc·kubernetes
辣知3 小时前
辣知·化智82 人类文明演化规律文化传承
学习
Coisinier4 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统
小猿姐4 小时前
KubeBlocks Enterprise v2.3 发布!
redis·kubernetes·aiops
小雪崩5 小时前
嵌入式学习:Linux驱动开发总结
linux·驱动开发·学习