
Kubernetes 常见运维面试题 - 专题150题
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOCX
简介:
本专题汇集了150道Kubernetes运维领域的常见面试题目,涵盖从基础概念到高级实践的各项知识点,旨在帮助技术人员认证前或求职时更好地准备。
本课程主要讲解的是关于目前主流的k8s容器运维技术相关的面试专题,大概有150题左右,包含了几乎所有k8s常见的面试题目。这对于深入理解k8s概念有很大的帮助,并且对于求职高薪职位(如:中、高级运维工程师或Kubernetes运维工程师)有很大助力,可以提高我们的面试通过率,拿到好的工作机会。
根据给定的信息,我们可以提炼出一系列与 Kubernetes (k8s) 相关的重要知识点。这些知识点涵盖了容器运维技术的基础及面试中的常见问题:
### 1. Kubernetes 中的资源类型及其区别
- **Pod**: 是Kubernetes中最小的基本调度单元,一个 Pod 内可以包含多个容器但通常建议每个 Pod 包含一个容器。Pod 提供了一个共享的网络命名空间和文件系统来促进容器间的通信。
- **ReplicaSet (RS)**: 用于确保集群中的特定数量副本始终存在。当某个副本丢失时,RS会自动创建新的Pod进行补充以维持指定的数量不变。
- **Deployment**: 基于 ReplicaSets 的高级抽象,提供声明式的更新机制和滚动升级回滚能力,允许用户安全地更改应用配置或镜像版本。
- **DaemonSet**: 保证所有(或某些)节点上运行一个 Pod。适用于集群监控服务等场景。
- **StatefulSet**: 设计用于有状态的应用程序,支持持久化存储及有序的部署、扩展和终止操作,适合数据库使用环境。
- **Service**: 提供一组具有相同标签的Pod网络访问能力,并通过 Service 名称来实现对这些 Pod 的访问。
- **Ingress Controller**: Ingress 为集群内外部服务提供HTTP路由功能。Ingress Controller 是处理 Ingress 规则的实际执行者,可以是 Nginx、Traefik 等反向代理的实例。
- **ConfigMap**: 存储非机密数据(如应用配置)的键值对集合,使配置与代码分离。
- **Secret**: 类似于 ConfigMap 但用于存储敏感信息,例如密码和密钥等。
- **ServiceAccount**: Pod 的身份标识符。通过 ServiceAccount 绑定 Role 或 ClusterRole 来限制 Pod 对 Kubernetes API 资源的访问权限。
### 2. Pod 健康检查
- **LivenessProbe(存活探测)**:用于检测Pod是否正常运行,如果失败则会触发重启机制。
- **ReadinessProbe(就绪探测)**:确定Pod是否准备好接收流量。只有当 ReadinessProbe 成功时,Pod 才被认为是可接受请求的状态。
### 3. Kubernetes 认证方式
- 使用 X509 证书进行身份验证,并通过 Role 和 RoleBinding 来管理权限。
- 利用 ServiceAccount 结合 Role 或 ClusterRole 控制服务账号对资源的访问权限。
### 4. Kubernetes 中的不同类型的证书和私钥
- **Etcd 数据库集群内部使用的证书**:用于 Etcd 集群成员间的认证通信。
- **Apiserver 和 Etcd 之间的证书**:确保 Apiserver 与 Etcd 的安全连接。
- **其他客户端到 Apiserver 的证书**:包括各类服务和工具访问 Kubernetes API 所需的凭证,如 Nginx Ingress Controller、Kubelet 等。
### 5. 各个节点上的组件及其作用
#### Master 节点
- **Kube-apiserver**: 集群的核心管理器提供 REST 接口。
- **Kube-controller-manager**: 控制核心控制循环,包括 Node, Endpoint, Namespace 的管理等。
- **Kube-scheduler**: 用于调度 Pod 到合适的节点上运行。
#### Node 节点
- **Kubelet**: 在每个节点上的代理服务,负责管理和监控Pod和容器。
- **Kube-proxy**: 实现服务发现及负载均衡功能的组件。
#### 公共组件
- **etcd**: 分布式键值存储系统用于保存集群的状态数据。
以上知识点不仅涵盖了 Kubernetes 的基本概念和技术细节,并且涉及了面试中可能遇到的问题,有助于加深对 Kubernetes 的理解和掌握。这对于准备应聘中高级运维工程师或Kubernetes 运维工程师职位的人来说是非常宝贵的资源。
全部评论 (0)


