【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(十三)

本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》从问题中去学习k8s

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

《DBA》db的介绍使用(mysql、redis、mongodb...)

思考一下问题:

61、简述Kubernetes Pod如何实现对节点的资源控制?

62、简述Kubernetes Requests和Limits如何影响Pod的调度?

63、简述Kubernetes Metric Service?

64、简述Kubernetes中,如何使用EFK实现日志的统一管理?

65、简述Kubernetes如何进行优雅的节点关机维护?

参考答案:

复制代码
61、简述Kubernetes Pod如何实现对节点的资源控制?
Kubernetes集群里的节点提供的资源主要是计算资源,计算资源是可计量的能被申请、分配和使用的基
础资源。当前Kubernetes集群中的计算资源主要包括CPU、GPU及Memory。CPU与Memory是被Pod
使用的,因此在配置Pod时可以通过参数CPU Request及Memory Request为其中的每个容器指定所需
使用的CPU与Memory量,Kubernetes会根据Request的值去查找有足够资源的Node来调度此Pod。
通常,一个程序所使用的CPU与Memory是一个动态的量,确切地说,是一个范围,跟它的负载密切相
关:负载增加时,CPU和Memory的使用量也会增加。

62、简述Kubernetes Requests和Limits如何影响Pod的调度?
当一个Pod创建成功时,Kubernetes调度器(Scheduler)会为该Pod选择一个节点来执行。对于每种
计算资源(CPU和Memory)而言,每个节点都有一个能用于运行Pod的最大容量值。调度器在调度
时,首先要确保调度后该节点上所有Pod的CPU和内存的Requests总和,不超过该节点能提供给Pod使
用的CPU和Memory的最大容量值。

63、简述Kubernetes Metric Service?
在Kubernetes从1.10版本后采用Metrics Server作为默认的性能数据采集和监控,主要用于提供核心指
标(Core Metrics),包括Node、Pod的CPU和内存使用指标。
对其他自定义指标(Custom Metrics)的监控则由Prometheus等组件来完成。

64、简述Kubernetes中,如何使用EFK实现日志的统一管理?
在Kubernetes集群环境中,通常一个完整的应用或服务涉及组件过多,建议对日志系统进行集中化管
理,通常采用EFK实现。
EFK是 Elasticsearch、Fluentd 和 Kibana 的组合,其各组件功能如下:
Elasticsearch:是一个搜索引擎,负责存储日志并提供查询接口;
Fluentd:负责从 Kubernetes 搜集日志,每个node节点上面的fluentd监控并收集该节点上面的系
统日志,并将处理过后的日志信息发送给Elasticsearch;
Kibana:提供了一个 Web GUI,用户可以浏览和搜索存储在 Elasticsearch 中的日志。
通过在每台node上部署一个以DaemonSet方式运行的fluentd来收集每台node上的日志。Fluentd将
docker日志目录/var/lib/docker/containers和/var/log目录挂载到Pod中,然后Pod会在node节点
的/var/log/pods目录中创建新的目录,可以区别不同的容器日志输出,该目录下有一个日志文件链接
到/var/lib/docker/contianers目录下的容器日志输出。

65、简述Kubernetes如何进行优雅的节点关机维护?
由于Kubernetes节点运行大量Pod,因此在进行关机维护之前,建议先使用kubectl drain将该节点的
Pod进行驱逐,然后进行关机维护。
相关推荐
lichenyang45314 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang45314 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang45314 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
Patrick_Wilson5 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
探索云原生6 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
云恒要逆袭6 天前
运行你的第一个Docker容器
后端·docker·容器
Java之美7 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
程序员老赵7 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程