【从问题中去学习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 副本的更先进工具。
相关推荐
尘似鹤11 分钟前
微信小程序学习(三)
学习
尘似鹤12 分钟前
微信小程序学习(二)
学习·微信小程序·小程序
小白不想白a2 小时前
【Ansible】使用ansible部署k8s集群前的准备工作脚本
容器·kubernetes·ansible
啥也不会的小胡2 小时前
深入理解 Docker:从入门到实践
docker·容器
Lin_Aries_04219 小时前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
岁岁种桃花儿9 小时前
详解 Kubernetes 命令:kubectl exec -it nginx -- bash 及实战场景
运维·nginx·kubernetes
Coovally AI模型快速验证10 小时前
从避障到实时建图:机器学习如何让无人机更智能、更安全、更实用(附微型机载演示示例)
人工智能·深度学习·神经网络·学习·安全·机器学习·无人机
人逝花落空.10 小时前
docker容器的三大核心技术UnionFS(下)
运维·docker·容器
东木君_11 小时前
RK3588:MIPI底层驱动学习——入门第三篇(IIC与V4L2如何共存?)
学习
say_fall11 小时前
C语言底层学习(2.指针与数组的关系与应用)(超详细)
c语言·开发语言·学习