2024年运维最全Kubernetes 常见面试题(七)_efk 面经(3),高级Linux运维都应该知道

本文分享了一套全面的Linux运维学习资料,涵盖从零基础到高级进阶的内容,重点介绍了Kubernetes的Worker节点加入、Pod资源控制、Requests/Limits影响、MetricService以及EFK日志管理。鼓励系统学习以克服自学难题,同时提出一个技术交流学习社区,助力IT行业人员共同成长。
摘要由CSDN通过智能技术生成

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

61. 简述 Kubernetes Worker 节点加入集群的过程?

答:通常需要对 Worker 节点进行扩容,从而将应用系统进行水平扩展。主要过程如下:

  • 1、在该 Node 上安装 Docker、kubelet 和 kube-proxy 服务;
  • 2、然后配置 kubelet 和 kubeproxy 的启动参数,将 Master URL 指定为当前Kubernetes 集群 Master 的地址,最后启动这些服务;
  • 3、通过 kubelet 默认的自动注册机制,新的 Worker 将会自动加入现有的Kubernetes 集群中;
  • 4、Kubernetes Master 在接受了新 Worker 的注册之后,会自动将其纳入当前集群的调度范围。
62. 简述 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 的使用量也会增加。

63. 简述 Kubernetes Requests 和 Limits 如何影响 Pod 的调度?

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

64. 简述 Kubernetes Metric Service?

答:在 Kubernetes 从 1.10 版本后采用 Metrics Server 作为默认的性能数据采集和监控,主要用于提供核心指标(Core Metrics),包括 Node、Pod 的 CPU 和内存使用指标。

对其他自定义指标(Custom Metrics)的监控则由 Prometheus 等组件来完成。

65. 简述 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 目录下的容器日志输出。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

运维开发Kubernetes(k8s)面试题中,通常会涉及到以下几个方面: 1. Kubernetes基础知识:面试官可能会问你Kubernetes的概念、架构和组件,以及它的工作原理和优势等等。你需要了解Pod、Service、Namespace、Deployment、ReplicaSet等基本概念,并且能够解释它们之间的关系和作用。 2. 应用部署与管理:面试官可能会询问你如何在Kubernetes上进行应用的部署和管理。你需要熟悉使用Kubectl命令行工具或Helm进行应用的创建、更新和删除,并且了解如何进行应用扩缩容、滚动更新和版本回滚等操作。 3. 资源调度与管理:面试官可能会关注你对资源调度和管理的理解。你需要清楚如何为Pod分配CPU和内存资源,以及如何设置资源配额和限制。此外,你还需要了解Kubernetes的调度策略和调度器的工作原理。 4. 监控和日志:面试官可能会问你如何在Kubernetes中进行应用的监控和日志收集。你需要了解Prometheus、Grafana和EFK等常用的监控和日志工具,并且知道如何在Kubernetes中配置和使用它们。 5. 故障排查与修复:面试官可能会考察你对故障排查和修复的能力。你需要熟悉常见Kubernetes故障场景,如Pod启动失败、网络故障等,以及相应的排查和修复方法。 6. 安全与权限:面试官可能会询问你如何在Kubernetes中进行访问控制和安全设置。你需要了解RBAC的概念和使用方法,并且知道如何创建和管理用户、角色和角色绑定等。 总之,在准备运维开发Kubernetes面试时,你需要深入了解Kubernetes的架构和相关概念,并且熟悉常用的命令和工具。此外,实践经验和项目经历也非常重要,因此建议你在实际项目中多动手操作和实践,从而更好地准备和回答面试题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值