【从问题中去学习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 副本的更先进工具。
相关推荐
张忠琳3 小时前
【client-go v0.36.1】(store Part 3)Store 超深度分析 — 集成模式、完整数据流、不变量、与 DeltaFIFO 协作
云原生·kubernetes·informer·store·client-go
数智工坊3 小时前
机器人运动控制:采样、优化与学习三大流派深度对比与实战
android·学习·机器人
ZC跨境爬虫3 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
赵渝强老师5 小时前
【赵渝强老师】Kubernetes(K8s)中的金丝雀升级
linux·docker·云原生·容器·kubernetes
鹤落晴春6 小时前
【K8s】配置存储卷
云原生·容器·kubernetes
MartinYeung56 小时前
[论文学习]隐私保护联邦特徵选择与差分隐私的的工程实践框架
学习
qeen876 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
Flandern11117 小时前
Pull Requests(PR)
学习·github·pr
张忠琳7 小时前
【client-go v0.36.1】(DeltaFIFO Part 1)DeltaFIFO 超深度分析 — 模块定位、类结构、接口层次、构造与初始化
云原生·kubernetes·deltafifo·informer·client-go
nashane8 小时前
HarmonyOS 6学习:JsCrash“闪退”法医指南——从FaultLog堆栈还原崩溃现场的终极手册
学习·华为·harmonyos