1、问:什么是 Kubernetes?为什么它对于容器编排至关重要?
答:Kubernetes 是一个开源容器编排平台,可以自动化容器化应用程序的部署、扩展和管理,确保高可用性和可靠性。
2、问:说出 Kubernetes 集群的关键组件的名称。
答:Kubernetes 集群由 Master(API Server、Controller Manager、Scheduler、etcd)和 Node(容器运行所在)组成。
3、问:Kubernetes 中的 Pod 是什么?
答:Pod 是 Kubernetes 中最小的可部署单元,包含一个或多个共享相同网络命名空间的容器。
4、问:区分 Deployment 和 StatefulSet。
答:部署通过滚动更新来管理无状态应用程序,而 StatefulSets 用于具有稳定网络身份的有状态应用程序。
5、问:Kubernetes 如何处理服务发现?
答:Kubernetes 使用 DNS 进行服务发现,您可以通过服务的 DNS 名称访问服务。
6、问:解释一下 Kubernetes Secrets 的概念。
答:Kubernetes Secrets 用于安全地存储 API 密钥、密码和令牌等敏感信息。它们采用 Base64 编码,可以作为卷安装或用作环境变量。
7、问:什么是 Kubernetes ConfigMap,它为什么有用?
答:ConfigMap 将配置数据存储为键值对,可以将其作为环境变量注入到 Pod 中,也可以作为文件挂载。对于将配置与应用程序代码分离很有用。
8、问:如何将应用程序公开到 Kubernetes 集群之外?
答:您可以使用服务(ClusterIP、NodePort、LoadBalancer)或入口控制器公开应用程序来管理 HTTP 流量
9、问:Kubernetes 中的标签和选择器是什么?
答:标签是附加在资源上的键值对,选择器用于根据标签对资源进行过滤和分组。
10、问:解释 Kubernetes 滚动更新和回滚。
答:滚动更新会逐渐用新 Pod 替换旧 Pod,以确保零停机时间。如果出现问题,则回滚到以前的版本。
11、问:如何在 Kubernetes 部署中执行滚动更新?
答:您可以使用 kubectl set image 来更新 Deployment 的镜像。例如,要更新名为“myapp”的部署中的“web”容器,请运行: kubectl set image deployment/myapp web=mynewimage:v2
12、问:如何对卡在“Pending”状态的 Pod 进行故障排除?
答:使用 kubectl 描述 pod 检查事件,检查资源请求/限制,并确保节点具有可用资源。示例:kubectl describe pod mypod.。
13、问:举例解释ConfigMap。
答:ConfigMap 存储配置数据。
14、问:解释如何创建和使用 Kubernetes Secret。
答:创建一个 Secret 并在 Pod 中将其用作环境变量或卷。
15、问:如何使用 Horizontal Pod Autoscaling (HPA) 水平扩展 Deployment?
答:使用指标(例如 CPU 利用率)配置 HPA
16、问:什么是DaemonSet,您能提供一个实际用例吗?
答:DaemonSet 确保 Pod 在所有或特定节点上运行。用它来监控代理。
17、问:如何创建 Kubernetes 作业,何时使用它?
答:创建一个作业来运行任务直至完成。
18、问:Pod 安全策略 (PSP) 是什么,为什么它们很重要?
答:PSP 定义 Pod 的安全策略。
19、问:解释 Ingress 控制器如何工作并提供示例。
答:入口ingress控制器管理到服务的 HTTP 和 HTTPS 路由。
20、问:Helm 图表是什么?如何使用它们来部署应用程序?
答:Helm 图表是 Kubernetes 应用程序的包
21、问:当更新出错时,如何在 Kubernetes 中进行回滚?
答:使用 kubectl rollout undo 将 Deployment 恢复到以前的版本。示例:回滚“myapp”部署到之前的版本:kubectl rollout undo deployment/myapp
22、问:如何配置 Ingress 控制器以启用 SSL 终止?
答:可以使用 TLS 设置来配置 Ingress 资源。
23、问:描述 Kubernetes 持久卷 (PV) 和持久卷声明 (PVC)。
持久卷声明 (PVC) 向 PV 请求存储资源。它们的作用就像来自应用程序的“存储请求”
24、问:什么是 Kubernetes Federation,什么时候有用?
答:Kubernetes Federation 允许将多个集群作为单个实体进行管理,有助于多云或多区域部署。
25、问:Kubernetes 中如何保证跨环境的应用配置一致性?
答:使用 Helm 图表、ConfigMap 和特定于环境的覆盖来有效管理配置。
26、问:解释 Kubernetes 中自定义资源定义 (CRD) 的概念。
答:CRD 扩展了 Kubernetes 以支持自定义资源类型,允许您定义和管理自己的资源和控制器。
27、问:什么是 Kubernetes RBAC,为什么它很重要?
答:基于角色的访问控制 (RBAC) 定义了谁可以在集群中执行操作,确保对用户和服务帐户进行细粒度的访问控制。
28、问:如何保护 Kubernetes 集群的安全?
答:使用 RBAC、Pod 安全策略、网络策略保护集群,并使用 Helm 等工具进行包管理。
29、问:解释一下 Pod、ReplicaSet 和 Deployment 之间的区别。
答:Pod是最小的单元,ReplicaSet保证指定数量的Pod运行,Deployment管理滚动更新和回滚。
30、问:Kubernetes 中的网络策略是什么?
答:网络策略定义了用于控制进出 Pod 的入口和出口流量的规则,提供网络分段。