许昌公司网站开发,舟山网站seo,电商网站前端模板,租车网站模版参考K8S面试题#xff08;史上最全 持续更新#xff09;_kubernetes常见面试题-CSDN博客做的个人总结#xff0c;规划是每天看10题#xff0c;thx#xff01;
1. 请详述kube-proxy原理? 每个node节点都会运行一个kube-proxy的进程#xff0c;核心功能是将service的访问…参考K8S面试题史上最全 持续更新_kubernetes常见面试题-CSDN博客做的个人总结规划是每天看10题thx
1. 请详述kube-proxy原理? 每个node节点都会运行一个kube-proxy的进程核心功能是将service的访问转发到后端pod上 kube-proxy通过监听集群列表并对本机的iptables修改从而实现网络路由其中的负载均衡也是通过iptables来实现的
2. k8s集群外流量怎么访问Pod 可以通过Service的NodePort方式访问会在所有节点监听同一个端口比如30000访问节点的流量会被重定向到对应的Service上面
3. K8S 资源限制 QoS BestEffort什么都不设置CPU or Memory佛系申请资源 BurstablePod 中的容器至少一个设置了CPU 或者 Memory 的请求 GuaranteedPod 中的所有容器必须设置 CPU 和 Memory并且 request 和 limit 值相等
4. kubelet 监控 Node 节点资源使用是通过什么组件来实现的 用Metrics Server提供核心指标包括Node、Pod的CPU和内存的使用。而Metrics Server需要采集node上的cAdvisor提供的数据资源 当 kubelet 服务启动时它会自动启动 cAdvisor 服务然后 cAdvisor 会实时采集所在节点的性能指标及在节点上运行的容器的性能指标。 kubelet 的启动参数 --cadvisor-port 可自定义 cAdvisor 对外提供服务的端口号默认是 4194
5. deployment/rs的区别 deployment是rs的超集也是升级版提供更多的部署功能如回滚、暂停和重启、 版本记录、事件和状态查看、滚动升级和替换升级
6. rc/rs实现原理 Replication Controller 可以保证Pod始终处于规定的副本数 而当前推荐的做法是使用DeploymentReplicaSet ReplicaSet 号称下一代的 Replication Controller当前唯一区别是RS支持set-based selector RC是通过ReplicationManager监控RC和RC内Pod的状态从而增删Pod以实现维持特定副本数的功能RS也是大致相同。
7. 简述Kubernetes RC的机制? Replication Controller用来管理Pod的副本保证集群中存在指定数量的Pod副本。当定义了RC并提交至Kubernetes集群中之后Master节点上的Controller Manager组件获悉并同时巡检系统中当前存活的目标Pod并确保目标Pod实例的数量刚好等于此RC的期望值若存在过多的Pod副本在运行系统会停止一些Pod反之则自动创建一些Pod。
8. 简述Kubernetes Pod的常见调度方式? Deployment或RC该调度策略主要功能就是自动部署一个容器应用的多份副本以及持续监控副本的数量在集群内始终维持用户指定的副本数量 NodeSelector定向调度当需要手动指定将Pod调度到特定Node上可以通过Node的标签Label和Pod的nodeSelector属性相匹配 NodeAffinity亲和性调度亲和性调度机制极大的扩展了Pod的调度能力目前有两种节点亲和力表达硬规则必须满足指定的规则调度器才可以调度Pod至Node上类似nodeSelector语法不同软规则优先调度至满足的Node的节点但不强求多个优先级规则还可以设置权重值 Taints和Tolerations污点和容忍Taint使Node拒绝特定Pod运行Toleration为Pod的属性表示Pod能容忍运行标注了Taint的Node
9. 简述Kubernetes deployment升级过程? 初始创建Deployment时系统创建了一个ReplicaSet并按用户的需求创建了对应数量的Pod副本 当更新Deployment时系统创建了一个新的ReplicaSet并将其副本数量扩展到1然后将旧ReplicaSet缩减为2之后系统继续按照相同的更新策略对新旧两个ReplicaSet进行逐个调整
最后新的ReplicaSet运行了对应个新版本Pod副本旧的ReplicaSet副本数量则缩减为0。
10. 简述Kubernetes deployment升级策略? 在Deployment的定义中可以通过spec.strategy指定Pod更新的策略 目前支持两种策略Recreate重建和RollingUpdate滚动更新 默认值为RollingUpdate Recreate设置spec.strategy.typeRecreate表示Deployment在更新Pod时会先杀掉所有正在运行的Pod然后创建新的Pod RollingUpdate设置spec.strategy.typeRollingUpdate表示Deployment会以滚动更新的方式来逐个更新Pod。同时可以通过设置spec.strategy.rollingUpdate下的两个参数maxUnavailable和maxSurge来控制滚动更新的过程。