k8s面试题总结(十二)

1.简述ETCD适应的场景?

  1. 适用于数据高一致性的场景,确保分布式环境中的数据是一致的。
  2. 适用于服务高可用时的场景。
  3. 适用于多节点数据分布式存储的场景。
  4. 适用于服务之间协调和交互使用的场景。

2.Etcd集群之间是怎么同步数据的?

在etcd集群中,节点之间通过Raft一致性算法实现数据同步。

Raft保证了数据的高可用性和一致性,确保在集群中的节点保持相同的数据状态。

3.静态pod的适用场景

静态pod通常用于在k8s启动前启动一些核心服务(如网路插件CNI,DNS服务等),它能确保这些关键服务在kubelet启动时运行,不受API-Server服务的可用性以及网络故障的影响。

4.简述k8s中pod的常见调度方式?

  1. Pod的优选和预选调度:根据优选和预选机制,淘汰不符合的node节点,进行调度。
  2. 节点亲和性和反亲和性:通过设置规则,将需要部署在一起的pod部署在同一节点,不需要的分开进行部署。
  3. 资源限制和请求:设置资源需求和限制来影响pod被调度到哪个节点。

5.简述一下k8s中删除pod的流程。

  1. 触发删除请求:用户或控制器(如Deployment,StatefulSet)发出删除pod的请求,可通过命令行工具kubectl或通过API请求来完成删除命令。
  2. API-Server更新状态:API-Server收到删除请求后,会更新pod的状态,将其标记为Terminating(终止中)。
  3. 发送终止信号:k8S向pod中的每个容器发送终止信号(SIGTERM),这通知容器需要优雅的关闭。
  4. 等待终止期限:k8s等待一个预定义的终止期限(默认30秒),在这段时间内,容器可以完成它们的清理工作。
  5. 强制终止:如果容器在终止期限内没有终止,k8s会发送强制终止信号(SIGKILL),但可能导致数据丢失。
  6. 资源释放:当所有容器都成功终止并清理,k8s会释放与pod相关的资源。
  7. 从etcd中删除对象:k8s会从etcd中删除pod的对象记录。
相关推荐
熙客2 小时前
阿里云负载均衡SLB的使用
网络·阿里云·云原生·云计算·负载均衡
yannan2019031313 小时前
Docker容器
运维·docker·容器
小宁爱Python13 小时前
Windows Docker Desktop占用C盘空间过大解决办法集合
运维·docker·容器
JAVA学习通14 小时前
发布自己的 jar 包到 Maven 中央仓库 ( mvnrepository.com )
人工智能·docker·自然语言处理·容器·rocketmq
Cloud孙文波14 小时前
探索Apache APISIX:动态高性能API网关
云原生·kubernetes·apisix
木亦汐丫17 小时前
Docker 镜像版本Alpine、Slim、Bookworm、Bullseye、Stretch、Jessie
运维·docker·容器·debian·alpine·slim·bullseye
中草药z19 小时前
【Docker】零基础上手:原理+Ubuntu/Windows GUI 安装 + 镜像源 / 目录优化
运维·ubuntu·docker·容器·gui·安装·cgroups
勇往直前plus19 小时前
如何利用docker部署springboot应用
spring boot·docker·容器
小北爱编程ma20 小时前
【云原生】用Prometheus Operator监听Golang服务指标,并用Granafa可视化展示
云原生
NineData20 小时前
NineData云原生智能数据管理平台新功能发布|2025年9月版
数据库·云原生·devops·ninedata·数据库迁移·数据复制·风险sql管控