K8s 常见面试题
k8s是一个开源的容器编排平台,用于管理云平台中多个主机上的容器化应用。Kubernetes的目标是使部署容器化的应用简单且高效,提供了应用部署、规划、更新和维护的一种机制。
定义和功能
Kubernetes(简称K8s)是一个开源系统,用于自动部署、扩展和管理容器化应用程序。它能够自动化运维管理多个跨机器的Docker程序,确保应用在复杂的云环境中顺畅运行。Kubernetes的核心功能包括:
- 服务发现与负载均衡:无需修改应用程序即可使用服务发现机制。
- 存储编排:自动挂载所选存储系统,包括本地存储。
- Secret和配置管理:部署更新Secrets和应用程序的配置时不必重新构建容器镜像。
- 批量执行:管理批处理和CI工作负载。
- 水平扩缩:通过命令、UI或基于CPU使用情况自动扩缩应用程序。
- 自动化上线和回滚:分步骤地将更改上线,监视应用程序运行状况。
- 自动装箱:根据资源需求和其他约束自动放置容器。
- 自我修复:重新启动失败的容器,替换失效的容器。
架构和组件
Kubernetes的架构包括多个节点(Node),其中Master节点作为控制中心,负责管理和调度工作。主要组件包括: