K8s面试题——情景篇

文章目录

  • 一、考虑一家拥有分布式系统的跨国公司,拥有大量数据中心,虚拟机和许多从事各种任务的员工。您认为这样公司如何以与 Kubernetes 一致的方式管理所有任务?
  • 二、考虑一种情况,即公司希望通过维持最低成本来提高其效率和技术运营速度。您认为公司将如何实现这一目标?
  • 三、假设一家公司想要修改它的部署方法,并希望建立一个更具可扩展性和响应性的平台。您如何看待这家公司能够实现这一目标以满足客户需求?
  • 四、考虑一家拥有非常分散的系统的跨国公司,期待解决整体代码库问题。您认为公司如何解决他们的问题?
  • 五、我们所有人都知道,从单片到微服务的转变解决了开发方面的问题,但却增加了部署方面的问题。公司如何解决部署方面的问题?
  • 六、考虑一家拼车公司希望通过同时扩展其平台来增加服务器数量,公司如何有效地实现这种资源分配?
  • 七、您认为公司如何处理服务器及其安装?
  • 八、考虑一种情况,公司希望向具有各种环境的客户提供所有必需的分发。您认为他们如何以动态的方式实现这一关键目标?
  • 九、假设公司希望在不同的云基础架构上运行各种工作负载,从裸机到公共云。公司将如何在不同界面的存在下实现这一目标?
  • 十、您如何看待公司从单—服务转向微服务并部署其服务容器?
  • 十一、Pod 启动失败如何解决以及常见的原因有哪些
  • 十二、你所用的到的日志分析工具有哪些以及它们如何与 K8s 集群通讯
  • 十三、Iptables 四个表五个链
  • 十四、Kubernetes 如何简化容器化部署?
  • 十五、您能否简要介绍一下 Kubernetes 中主节点的工作?
  • 十六、kube-apiserver 和 kube-scheduler 的作用是什么?
  • 十七、副本集和复制控制器之间有什么区别?

一、考虑一家拥有分布式系统的跨国公司,拥有大量数据中心,虚拟机和许多从事各种任务的员工。您认为这样公司如何以与 Kubernetes 一致的方式管理所有任务?

  • 正如我们所有人都知道 IT 部门推出了数千个容器,其任务在分布式系统中遍布全球众多节点。
  • 在这种情况下,公司可以使用能够为基于云的应用程序提供敏捷性,横向扩展功能和DevOps 实践的东西。
  • 因此,该公司可以使用 Kubernetes 来定制他们的调度架构并支持多种容器格式。这使得容器任务之间的亲和性成为可能,从而提供更高的效率,并为各种容器网络解决方案和容器存储提供广泛支持。

二、考虑一种情况,即公司希望通过维持最低成本来提高其效率和技术运营速度。您认为公司将如何实现这一目标?

  • 公司可以通过构建 CI/CD 管道来实现 DevOps 方法,但是这里可能出现的一个问题是配置可能需要一段时间才能启动并运行。
  • 因此,在实施 CI/CD 管道之后,公司的下一步应该是在云环境中工作。一旦他们开始处理云环境,他们就可以在集群上安排容器,并可以在 Kubernetes 的帮助下进行协调。这种方法将有助于公司缩短部署时间,并在各种环境中加快速度。

三、假设一家公司想要修改它的部署方法,并希望建立一个更具可扩展性和响应性的平台。您如何看待这家公司能够实现这一目标以满足客户需求?

  • 为了给数百万客户提供他们期望的数字体验,公司需要一个可扩展且响应迅速的平台,以便他们能够快速地将数据发送到客户网站。现在,要做到这一点,公司应该从他们的私有数据中心(如果他们使用任何)转移到任何云环境,如 AWS。
  • 不仅如此,他们还应该实现微服务架构,以便他们可以开始使用 Docker 容器。一旦他们准备好基础框架,他们就可以开始使用最好的编排平台,即 Kubernetes。这将使团队能够自主地构建应用程序并快速交付它们。

四、考虑一家拥有非常分散的系统的跨国公司,期待解决整体代码库问题。您认为公司如何解决他们的问题?

  • 那么,为了解决这个问题,我们可以将他们的单片代码库转移到微服务设计,然后每个微服务都可以被视为一个容器。因此,所有这些容器都可以在 Kubernetes 的帮助下进行部署和协调。

五、我们所有人都知道,从单片到微服务的转变解决了开发方面的问题,但却增加了部署方面的问题。公司如何解决部署方面的问题?

  • 团队可以试验容器编排平台,例如 Kubernetes,并在数据中心运行。因此,通过这种方式,公司可以生成模板化应用程序,在五分钟内部署它,并在此时将实际实例集中在暂存环境中。
  • 这种 Kubernetes 项目将有数十个并行运行的微服务,以提高生产率,即使节点出现故障,也可以立即重新安排,而不会影响性能。

六、考虑一家拼车公司希望通过同时扩展其平台来增加服务器数量,公司如何有效地实现这种资源分配?

  • 这个问题的解决方案就是 Kubernetes。Kubernetes 确保资源得到有效优化,并且只使用特定应用程序所需的那些资源。因此,通过使用最佳容器编排工具,公司可以有效地实现资源分配。

七、您认为公司如何处理服务器及其安装?

  • 公司可以采用集装箱化的概念。一旦他们将所有应用程序部署到容器中,他们就可以使用 Kubernetes 进行编排,并使用像 Prometheus 这样的容器监视工具来监视容器中的操作。
  • 因此,利用容器的这种使用,在数据中心中为它们提供更好的容量规划,因为它们现在将受到更少的限制,因为服务和它们运行的硬件之间存在抽象。

八、考虑一种情况,公司希望向具有各种环境的客户提供所有必需的分发。您认为他们如何以动态的方式实现这一关键目标?

  • 该公司可以使用 Docker 环境,组建一个横截面团队,使用 Kubernetes 构建 Web 应用程序。这种框架将帮助公司实现在最短的时间内将所需产品投入生产的目标。
  • 因此,在这样的机器运行的情况下,公司可以向所有具有各种环境的客户发放电子邮件。

九、假设公司希望在不同的云基础架构上运行各种工作负载,从裸机到公共云。公司将如何在不同界面的存在下实现这一目标?

  • 该公司可以将其基础设施分解为微服务,然后采用 Kubernetes。这将使公司在不同的云基础架构上运行各种工作负载。

十、您如何看待公司从单—服务转向微服务并部署其服务容器?

  • 由于公司的目标是从单一应用程序转向微服务,它们最终可以逐个构建,并行构建,只需在后台切换配置。然后他们可以将这些内置微服务放在 Kubernetes 平台上。
  • 因此,他们可以从一次或两次迁移服务开始,并监控它们以确保一切运行稳定。一旦他们觉得一切顺利,他们就可以将其余的应用程序迁移到他们的 Kubernetes 集群中。

十一、Pod 启动失败如何解决以及常见的原因有哪些

  1. 一般查看系统资源是否满足,然后就是查看 pod 日志看看原因。
  2. describe 通过这个参数查看 pod 失败的原因。
  3. 还有就是看组件日志,apiserver 等组件日志,有没有异常。
  4. 访问不到看看网络插件状态和日志,还有就是 dns 状态和日志。

十二、你所用的到的日志分析工具有哪些以及它们如何与 K8s 集群通讯

  • k8s 上面会跑大量的 pod/容器。 特别是集群相关的控制面 容器、业务容器,有时候我们要对容器日志进行监控与分析处理,这时一套好用的日志系统就格外的重要。

  • 而成熟的日志解决方案有哪些呢? 以前的 ELK , k8s 主推的基于云原生的 EFK ,这里的 F 是 CNCF 认证的子项目 fluentd ,fluentd 是 ruby 的项目,由于个人体验习惯与 yaml 配置,以及项目特点, 选择了 filebeat ,所以 整套日志系统使用的技术包括(elasticsearch、fidlebeat 、kibana)。

  • 官方项目地址

十三、Iptables 四个表五个链

  • raw 表:确定是否对该数据包进行状态跟踪
  • mangle 表:为数据包设置标记
  • nat 表:修改数据包中的源、目标 IP 地址或端口
  • filter 表:确定是否放行该数据包(过滤)
  • INPUT:处理入站数据包
  • OUTPUT:处理出站数据包
  • FORWARD:处理转发数据包
  • POSTROUTING 链:在进行路由选择后处理数据包
  • PREROUTING 链:在进行路由选择前处理数据包

十四、Kubernetes 如何简化容器化部署?

  • 由于典型的应用程序具有跨多个主机运行的容器集群,因此所有这些容器都需要相互通信。因此,要做到这一点,您需要一些可以平衡负载,缩放和监视容器的东西。
  • 由于 Kubernetes 与云无关,并且可以在任何公共/私有提供商上运行,因此必须选择简化容器化部署。

十五、您能否简要介绍一下 Kubernetes 中主节点的工作?

  • Kubernetes 主节点控制节点,并且在节点内部存在容器。现在,这些单独的容器包含在 Pod 内,每个 Pod 内,您可以根据配置和要求拥有各种数量的容器。
  • 因此,如果必须部署 Pod,则可以使用用户界面或命令行界面来部署它们。然后,在节点上调度这些Pod,并根据资源需求将 Pod 分配给这些节点。kube-apiserver 确保在 Kubernetes 节点和主组件之间建立了通信。

十六、kube-apiserver 和 kube-scheduler 的作用是什么?

  • kube – apiserver 遵循横向扩展架构,并且是主节点控制面板的前端。这将公开Kubernetes 主节点组件的所有 API,并负责在 Kubernetes 节点和 Kubernetes 主组件之间建立通信。
  • kube-scheduler调度程序负责在工作节点上分配和管理工作负载。因此,它根据资源需求选择最合适的节点来运行计划外的 Pod,并跟踪资源利用率。它可以确保未在已满的节点上调度工作负载。

十七、副本集和复制控制器之间有什么区别?

  • 副本集和复制控制器执行几乎相同的操作。它们两者都确保在任何给定时间都运行指定数量的 Pod 副本。不同之处在于使用选择器来复制容器。副本集使用基于集合的选择器,而复制控制器使用基于权益的选择器。
  • 基于股权的选择器:这种类型的选择器允许按标签键和值进行过滤。因此,以通俗易懂的术语来说,基于权益的选择器将仅查找具有与标签词组完全相同的词组的豆荚。
    • 示例:假设您的标签键为 app = nginx,那么使用此选择器,您只能查找标签为 app 等于 nginx 的吊舱。
  • 基于选择器的选择器:这种类型的选择器允许根据一组值过滤键。因此,换句话说,基于选择器的选择器将查找其标签已在集合中提及的 Pod。
    • 示例:说您的标签密钥说(nginx,NPS,Apache)中为 app。然后,使用此选择器,如果您的应用等于 nginx,NPS 或 Apache 中的任何一个,则选择器会将其视为真实结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app 经验分享,从入门到离职(年度实战总结:经验篇)——上传图片以及小程序隐私保护指引设置

文章目录 🔥年度征文📋前言⏬关于专栏 🎯关于上传图片需求🎯前置知识点和示例代码🧩uni.chooseImage()🧩uni.chooseMedia()📌uni.chooseImage() 与 uni.chooseMedia() 🧩uni.chooseF…

语义分割结果后处理与可视化:轮廓、中心点和重心标记

目标 介绍一个用于语义分割后处理和可视化的Python脚本。该脚本通过OpenCV库实现,可以在图像中标记出分割区域的轮廓、中心点和重心,以提供更直观的视觉反馈 import cv2 import numpy as npfilename ./mask/3.png # 读取灰度图像 gray_image cv2.imre…

【playwright】新一代自动化测试神器playwright+python系列课程14_playwright网页相关操作_获取网页标题和URL

Playwright 网页操作_获取网页标题和URL 在做web自动化测试时,脚本执行完成后需要进行断言,判断脚本执行是否存在问题。在断言时通常选择一些页面上的信息或者页面上元素的状态来断言,使用网页标题或url来断言就是常见的断言方式&#xff0c…

ssh:connect to host github.com port 22: Connection timed out

解决流程 1.将github的端口由22改为443 ssh -T -p 443 gitssh.github.com 2.接着输入yes进行确认 The authenticity of host [ssh.github.com]:443 ([192.168.1.100]:443) cant be established. TG45532 key fingerprint is SHA256:dfjeDFlkkfdfkDFKEidkfkDFkkKKdjFESDCFLE. …

Java-NIO篇章(2)——Buffer缓冲区详解

Buffer类简介 Buffer类是一个抽象类,对应于Java的主要数据类型,在NIO中有8种缓冲区类,分别如下: ByteBuffer、 CharBuffer、 DoubleBuffer、 FloatBuffer、 IntBuffer、 LongBuffer、 ShortBuffer、MappedByteBuffer。 本文以它的…

Zabbix分布式监控系统概述、部署、自定义监控项、邮件告警

目录 前言 (一)业务架构 (二)运维架构 一、Zabbix分布式监控平台 (一)Zabbix概述 (二)Zabbix监控原理 (三)Zabbix 6.0 新特性 1. Zabbix server高可用…

10- OpenCV:基本阈值操作(Threshold)

目录 1、图像阈值 2、阈值类型 3、代码演示 1、图像阈值 (1)图像阈值(threshold)含义:是将图像中的像素值划分为不同类别的一种处理方法。通过设定一个特定的阈值,将像素值与阈值进行比较,根…

BEESCMS靶场小记

MIME类型的验证 image/GIF可通过 这个靶场有两个小坑: 1.缩略图勾选则php文件不执行或执行出错 2.要从上传文件管理位置获取图片链接(这是原图上传位置);文件上传点中显示图片应该是通过二次复制过去的;被强行改成了…

路由器的妙用:使用无线路由器无线桥接模式充当电脑的无线网卡

文章目录 需求说明第一步:重置、连接路由器第二步:设置无线桥接模式第三步:电脑连接路由器上网 需求说明 在原路由无线覆盖的范围内,使用无网卡台式和其他主机,并且有闲置的无线路由器或者网线太短,可以使…

添加边界值分析测试用例

1.1创建项目成功后会自动生成封装好的函数,在这些封装好的函数上点击右键,添加边界值分析测试用例,如下图所示。 1.2生成的用例模版是不可以直接运行的,需要我们分别点击它们,让它们自动生成相应测试用例。如下图所示&…

nas-群晖docker查询注册表失败解决办法(平替:使用SSH命令拉取ddns-go)

一、遇到问题 群晖里面的docker图形化界面现在不能直接查询需要下载的东西,原因可能就是被墙了,那么换一种方式使用SSH命令下载也是可以的,文章这里以在docker里面下载ddns-go为例子。 二、操作步骤 (一)打开群晖系统…

【Py/Java/C++三种语言详解】LeetCode每日一题240117【哈希集合】LeetCode2744、最大字符串匹配数目

文章目录 题目链接题目描述解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目链接 LeetCode2744、最大字符串匹配数目 题目描述 给你一个下标从 0 开始的数组 words ,数组中包含 互不相同 的字符串。 如果字符串 words[i] 与字…

《Redis:NoSQL演进之路与Redis深度实践解析》

文章目录 关于NoSQL为什么引入NoSQL1、单机MySQL单机年代的数据库瓶颈 2、Memcached(缓存) MySQL 垂直拆分 (读写分离)3、分库分表水平拆分MySQL集群4、如今的网络架构5、总结 NoSQL的定义NoSQL的分类 Redis入门Redis能干嘛&…

原生SSM整合(Spring+SpringMVC+MyBatis)案例

SSM框架是Spring、Spring MVC和MyBatis三个开源框架的整合,常用于构建数据源较简单的web项目。该框架是Java EE企业级开发的主流技术,也是每一个java开发者必备的技能。下面通过查询书籍列表的案例演示SSM整合的过程. 新建项目 创建文件目录 完整文件结…

《设计模式的艺术》笔记 - 桥接模式

介绍 桥接模式将抽象部分与其实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体模式或接口模式 实现 myclass.h // // Created by yuwp on 2024/1/12. //#ifndef DESIGNPATTERNS_MYCLASS_H #define DESIGNPATTERNS_MYCLASS_H#…

google网站流量怎么获取?

流量是一个综合性的指标,可以说做网站就是为了相关流量,一个网站流量都没有,那其实就跟摆饰品没什么区别 而想从谷歌这个搜索引擎里获取流量,一般都分为两种方式,一种是网站seo,另一种自然就是投广告&#…

线程的使用

线程的创建方式 1、实现Runnable Runnable规定的方法是run(),无返回值,无法抛出异常 实现Callable 2、Callable规定的方法是call(),任务执行后有返回值,可以抛出异常 3、继承Thread类创建多线程 继承java.lang.Thread类&#xff0…

C++ //练习 1.15 编写程序,包含第14页”再探编译“中讨论的常见错误。熟悉编译器生成的错误信息。

C Primer(第5版) 练习 1.15 练习 1.15 编写程序,包含第14页”再探编译“中讨论的常见错误。熟悉编译器生成的错误信息。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /******************…

[足式机器人]Part2 Dr. CAN学习笔记-Ch04 Advanced控制理论

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - Ch04 Advanced控制理论 1. 绪论2. 状态空间表达State-Space Representation3. Phase Portrait相图,相轨迹3 1. 1-D3 2. 2-D3 3. General Form3 4. Summary3.5. 爱情中的数学-Phase …

四、基础篇 vue条件渲染

v-if v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 truthy 值的时候被渲染。 <template><div class"content"><div v-if"show">show渲染了</div></div> </template><script> export de…