2026年Kubernetes岗位测试考试题及答案解析_第1页
2026年Kubernetes岗位测试考试题及答案解析_第2页
2026年Kubernetes岗位测试考试题及答案解析_第3页
2026年Kubernetes岗位测试考试题及答案解析_第4页
2026年Kubernetes岗位测试考试题及答案解析_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年Kubernetes岗位测试考试题及答案解析一、单项选择题(每题2分,共30分)1.Kubernetes中用于管理无状态应用的最常用工作负载资源是以下哪一项?A.StatefulSetB.DaemonSetC.DeploymentD.Job答案C解析Deployment是无状态应用的标准工作负载资源,提供副本管理、滚动更新和回滚能力。StatefulSet用于有状态应用,DaemonSet用于每个节点运行一个Pod,Job用于一次性任务。2.Pod中所有容器共享的网络命名空间中不包括以下哪一项?A.IP地址B.端口空间C.文件系统D.localhost通信答案C解析同一Pod内的容器共享网络命名空间,因此共享IP地址和端口空间,可通过localhost通信。文件系统由各容器自身的镜像层和挂载卷决定,不因网络命名空间共享而自动共享。3.在Deployment滚动更新中,若希望确保新Pod就绪后才能继续替换旧Pod,应配置以下哪个字段?A.progressDeadlineSecondsB.minReadySecondsC.revisionHistoryLimitD.strategy.rollingUpdate.maxSurge答案B解析minReadySeconds指定新创建的Pod就绪后至少等待多久才被视为可用,可延缓滚动更新进程,保证稳定性。progressDeadlineSeconds用于限制整体更新时长,maxSurge控制更新时额外扩容数量。4.Service的默认类型是以下哪一项?A.NodePortB.LoadBalancerC.ClusterIPD.ExternalName答案C解析Service默认类型为ClusterIP,仅在集群内部提供虚拟IP访问。NodePort在节点上开放端口,LoadBalancer依赖云厂商负载均衡,ExternalName将服务映射到外部DNS名称。5.下列哪个命令可以查看Pod中容器的实时日志流?A.kubectldescribepodB.kubectlgetpodC.kubectllogs-fD.kubectlattach答案C解析kubectllogs-f持续输出日志流,类似tail-f。kubectldescribepod查看事件和详细状态,kubectlgetpod查看资源列表,kubectlattach连接到容器标准输入输出。6.在Kubernetes中,ConfigMap的主要用途是什么?A.存储敏感凭证B.存储非敏感配置数据C.提供持久化存储D.定义网络策略答案B解析ConfigMap用于存储非敏感配置,如环境变量、配置文件等。敏感凭证应使用Secret存储,持久化存储由PersistentVolume和StorageClass实现,网络策略由NetworkPolicy资源定义。7.以下哪个组件负责将外部请求路由到Service对应的后端Pod?A.kube-schedulerB.kube-proxyC.kubeletD.etcd答案B解析kube-proxy在每个节点上运行,维护网络规则并转发Service流量。kube-scheduler负责Pod调度,kubelet管理节点上的容器,etcd存储集群数据。8.若Pod需要稳定的网络标识和有序部署,应优先使用哪种控制器?A.DeploymentB.ReplicaSetC.StatefulSetD.CronJob答案C解析StatefulSet为每个Pod提供稳定的网络标识、持久存储和有序的扩缩容与更新,适合数据库等有状态服务。Deployment和ReplicaSet面向无状态应用,CronJob用于定时任务。9.Kubernetes集群中用于存储所有集群状态数据的键值数据库是:A.kube-apiserverB.etcdC.kube-controller-managerD.CoreDNS答案B解析etcd是Kubernetes的后端存储,保存所有资源对象和集群状态。kube-apiserver是唯一直接读写etcd的组件,kube-controller-manager运行控制器,CoreDNS负责集群内部DNS解析。10.节点上负责接收kube-apiserver指令并管理Pod生命周期的组件是:A.kube-schedulerB.kube-proxyC.kubeletD.containerruntime答案C解析kubelet是每个节点上的主要代理,负责同步Pod定义、启动和停止容器。containerruntime是实际运行容器的软件,受kubelet调用。11.使用kubectltaintnodemasternode-role.kubernetes.io/master:NoSchedule-命令的作用是:A.给master节点添加污点B.从master节点移除污点C.删除master节点D.重启master节点答案B解析taint命令末尾的-表示移除污点。无-时为添加污点。NoSchedule污点阻止Pod调度到节点上。12.RBAC中用于将权限与用户或组绑定的资源对象是:A.RoleB.ClusterRoleC.RoleBindingD.ServiceAccount答案C解析RoleBinding将Role或ClusterRole中的权限授予用户、组或ServiceAccount。Role和ClusterRole用于定义权限集合,ServiceAccount是Pod使用的身份。13.以下哪个标签选择器操作符在Kubernetes中受支持且表示值在给定集合中?A.==B.!=C.inD.~=答案C解析基于集合的选择器支持in、notin和exists。==和!=属于基于等值的选择器,~=不是有效操作符。14.Namespace的主要作用是:A.提高节点CPU性能B.实现多租户资源隔离和配额管理C.加速容器镜像拉取D.替代CNI网络插件答案B解析Namespace提供逻辑隔离,配合ResourceQuota和LimitRange可进行资源配额管理,适用于多租户或环境隔离。其他选项与Namespace功能无关。15.用于限制Pod中容器可使用CPU上限的字段是:A.requests.cpuB.limits.memoryC.limits.cpuD.requests.memory答案C解析limits.cpu指定容器CPU使用上限,超出会被内核限制。requests.cpu是调度时预留的CPU资源量,memory相关字段用于内存约束。二、多项选择题(每题3分,共15分)1.以下哪些资源属于Kubernetes命名空间级别的资源?(选3项)A.PodB.ServiceC.NodeD.ConfigMap答案A、B、D解析Pod、Service、ConfigMap都隶属于某个Namespace。Node是集群级别的资源,不属于任何Namespace。2.Deployment控制器支持以下哪些能力?A.滚动更新B.版本回滚C.自动水平扩缩容决策D.副本数量管理答案A、B、D解析Deployment支持滚动更新、回滚和副本数管理。自动水平扩缩容决策由HorizontalPodAutoscaler根据指标执行,不属于Deployment自身能力。3.Kubernetes中用于暴露服务的方式包括以下哪些类型?A.ClusterIPB.NodePortC.IngressD.StatefulSet答案A、B、C解析ClusterIP、NodePort和Ingress都是服务暴露方式。StatefulSet是工作负载控制器,与服务暴露无关。4.关于Pod探针,以下说法正确的是?A.livenessProbe用于探测容器是否存活B.readinessProbe用于探测容器是否就绪接收流量C.startupProbe用于探测容器是否成功启动D.探针只支持HTTP协议答案A、B、C解析三种探针用途描述均正确。探针支持HTTP、TCP和exec命令三种方式,不只支持HTTP协议。5.以下哪些方式可以将配置数据注入到Pod中的容器?A.环境变量B.挂载ConfigMap卷C.挂载Secret卷D.直接修改etcd数据答案A、B、C解析Kubernetes支持通过环境变量、ConfigMap卷和Secret卷注入配置。直接修改etcd数据不是受支持的配置注入方式,且风险极高。三、判断题(每题1分,共10分)1.Kubernetes仅供Linux工作负载使用,不支持Windows容器。答案错误解析Kubernetes的Windows节点支持Windows容器,集群可同时运行Linux和Windows节点。2.默认情况下,Service通过环境变量和DNS两种方式被Pod发现。答案正确解析Pod创建时,kubelet会注入Service环境变量,同时CoreDNS为Service提供DNS解析。3.在生产环境中应使用latest镜像标签以确保始终运行最新版本。答案错误解析使用latest标签会导致不可预测的部署结果,缺乏可回溯性,生产环境应使用明确的不可变版本标签。4.同一Namespace中的Pod默认可以互相访问。答案正确解析在默认网络模型下,Pod间可直接通信。若需要限制访问,应配置NetworkPolicy。5.NodePort服务默认端口范围是30000至32767。答案正确解析Kubernetes默认的NodePort范围为30000-32767,可通过kube-apiserver的--service-node-port-range参数调整。6.kube-proxy的IPVS模式相比iptables模式在大规模Service场景下具有更好的转发性能。答案正确解析IPVS使用哈希表转发流量,相比iptables线性规则链在大规模模式下性能更优,且支持更多负载均衡算法。7.一个Pod只能包含一个容器。答案错误解析Pod可以包含一个或多个容器,多个容器共享网络和存储资源,是Kubernetes调度的最小单元。8.Helm是Kubernetes官方集成的内置组件,随集群自动安装。答案错误解析Helm是CNCF毕业项目,但不是Kubernetes内置组件,需要单独安装客户端(helm)和可选的Tiller(Helmv2)或直接使用Helmv3。9.DaemonSet确保指定的Pod在每个符合条件的节点上运行一个副本。答案正确解析DaemonSet用于部署日志采集、节点监控等场景,默认在集群每个节点运行一个副本,可通过nodeSelector或affinity限定节点范围。10.kubelet直接对etcd进行读写操作以获取Pod定义。答案错误解析kubelet不直接访问etcd,而是通过kube-apiserver获取Pod定义。etcd只与kube-apiserver交互。四、简答题(每题5分,共15分)1.简述Deployment滚动更新的工作流程。答案(1)用户提交新的Deployment配置,ReplicaSet控制器创建新的ReplicaSet;(2)新ReplicaSet逐步扩容,按maxSurge和maxUnavailable策略创建新Pod;(3)新Pod就绪后,旧ReplicaSet逐步缩容;(4)更新完成后,旧ReplicaSet保留历史版本,以支持回滚;(5)通过kubectlrolloutstatus可查看更新进度。解析滚动更新的核心是渐进式替换Pod,保证在更新过程中始终有可用副本对外服务。2.简述探针在Kubernetes中的应用场景及livenessProbe与readinessProbe的区别。答案livenessProbe用于检测容器是否存活,若探测失败则重启容器,适用于死锁、内存泄漏等场景。readinessProbe用于检测容器是否就绪接收流量,探测失败时Service会将对应Pod从后端列表中摘除,待恢复后重新加入,适用于启动缓慢或依赖服务未就绪的场景。两者核心区别在于失败后的处理方式不同:liveness触发重启,readiness仅摘除流量。3.简述Ingress与NodePortService的区别及各自适用场景。答案NodePort通过在每个节点上开放固定端口暴露服务,访问方式为节点IP:端口,适合小型集群和测试环境。Ingress提供HTTP/HTTPS路由规则,基于域名和路径将外部流量转发到内部Service,支持负载均衡、TLS终止和虚拟主机,适合需要统一入口、多个服务共享一个公网入口的生产环境。Ingress需要安装IngressController才能生效。五、综合应用题(每题10分,共30分)1.某业务系统由前端Web服务和后端API服务组成,现需在Kubernetes中部署,要求如下:•前端Web实例3个,采用滚动更新,最大允许不可用1个副本•后端API实例5个,采用滚动更新,最大允许额外启动2个副本•后端API需对外提供访问入口•生产环境需限制整体更新时长不超过120秒请写出对应的Deployment核心配置,并说明每项配置的作用。前端Deployment核心配置:replicas:3

strategy:

type:RollingUpdate

rollingUpdate:

maxUnavailable:1

maxSurge:0后端Deployment核心配置:replicas:5

strategy:

type:RollingUpdate

rollingUpdate:

maxSurge:2

maxUnavailable:0Deployment公共配置:spec:

progressDeadlineSeconds:120Service配置要点:为后端API创建Service,类型可根据生产环境选择ClusterIP(配合Ingress)或LoadBalancer(云环境直接暴露)。作用说明:maxUnavailable:1表示更新期间最多允许1个副本不可用;maxSurge:2表示更新期间最多额外扩容2个新副本;progressDeadlineSeconds:120表示若120秒内更新未完成则标记为失败。解析:实际场景中,maxUnavailable与maxSurge不能同时为0,且进度超时后Deployment会记录失败原因,便于运维定位。2.某集群节点内存为8GiB,现需部署一个Java应用Pod,配置如下:containers:

-name:java-app

image:java-app:1.0

resources:

requests:

memory:256Mi

cpu:250m

limits:

memory:512Mi

cpu:500m请回答以下问题:(1)调度器会为该Pod预留多少内存和CPU?(2)当容器内存使用超过512Mi时会怎样?(3)若节点上已调度累计requests资源达到可用资源上限,此时再创建1个requests为100Mi的Pod,会发生什么?答案:(1)调度器会预留256Mi内存和250mCPU(即0.25核)。(2)当容器内存超过512Mi上限时,内核OOMKiller会杀死容器中占用内存最高的进程,Pod状态变为OOMKill。(3)节点资源不足以满足新Pod的requests时,调度器不会将该Pod调度到该节点,Pod会处于Pending状态,直到有足够资源的节点可用或该节点释放资源。解析:requests用于调度预留,limits用于运行时限制。内存超过limits触发OOMKill;CPU超过limits一般不会被杀死,而是被内核限制使用率。3.某生产集群需对审计日志进行采集和持久化存储,要求每个节点运行一个日志采集器,采集器需要读取宿主机/var/l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论