当前位置: 首页 > news >正文

kenernetes/k8s笔试面试

k8s的基础概念

k8s本质是一个容器编排系统,可以管理容器的生命周期,应用部署,更新,维护,应用提供服务,扩容缩容应用,故障自愈。

k8s与docker的关系

docker:是一种轻量级的虚拟化技术。运维层面主要用途是:隔离各个应用部署时在系统上的冲突。一般使用dockerfile来自定义容器创建。

k8s是容器管理工具。它可以实现容器集群的自动化部署,自动化扩容,缩容等功能

K8s集群工作模式

k8s集群将机器划分为一个master结点和一群工作结点node

在mster结点机器上运行这一组进程: kube-apiserver,  kube-controller-manager 和 kube-scheduler ,   这些进程管理这集群资源的调度, 弹性伸缩 Pod调度, 安全控制,系统监控 等功能

简述k8s中的 minikube Kubectl kubelet?

Minikube 是一个本地运行单节点的k8s集群工具

Kubectl 是一个命令行工具,检查集群资源,创建,删除和更新组件,查看应用程序

Kubelet是一个代理服务,在每个结点上运行,并使从服务器与主服务器通信

工作节点kubelet的功能,作用是什么?

1. 节点管理

kubelet启动时会向api-server进行注册,然后定义的向api-server汇报本节点的状态,资源使用情况,节点是否失联等相关信息,master知道整个集群所有节点的资源情况。

2. pod管理

kubelet负责维护node节点上pod的生命周期(创建,更新,删除)

3. 容器健康检查

pod中包含: 启动探针,存活探针,就绪探针。k8s会定期使用探针来检测容器是否存活,是否就绪。

4. metrics Server资源监控

node节点上metrics Server 用于监控Pod 的内存,CPU,网络等资源使用情况。

pod是什么?

k8s不会直接处理容器,使用多个容器共存的理念,这组容器就叫做pod

pod是k8s中可以创建管理的最小单元,也是基本单元。

pod有什么特点?

1. 每个pod就像一个独立的逻辑机器,k8s会为每个pod分配一个集群内部唯一的IP地址,所以每个pod都有自己的IP地址,主机名,进程等。

2. 一个pod可以包含一个或多个容器,1个pod只能运行在单个节点上,不可能1个pod跨节点运行。

3. 每个pod都有一个被称为“根容器”的pause容器,也称info容器,pause容器对应的镜像属于k8s的一部分

4. 一个pod里的多个容器共享一个pod的IP , 意味这一个pod里面的多个容器所占用的端口不能相同,否则端口冲突。

5. pod是k8s中扩容,缩容的基本单位,k8s的缩容 扩容都是针对pod 而非容器、

pod的重启策略有哪些?

Pod重启容器的策略是针对pod内所有容器的重启策略 , 不是重启pod

Always: 当容器终止退出后,总是重启容器,默认策略是Always

OnFilure: 当容器异常退出,退出状态码非0时,才重启容器

Never: 当容器终止退出,不管退出状态码是什么,从不重启容器。  

Pod一直处于pending状态,一般有哪些情况,怎么排查?

1. 一个pod刚创建的时候,会处于pending状态,正在拉取镜像,或正在创建容器的过程中

2, 调度器调度失败,Scheduler调度器无法为pod分配一个合适的node结点

3. pvc pv 无法动态创建。

deployment如何扩容或缩容

直接修改pod副本数即可

1. 修改yaml文件replicates字段数值, 然后 kubectl apply -f xxx.yaml 来实现更新

2. 使用 kubectl scale --replicates=5 deployment/deployment-nginx 命令来扩容缩容

deployment的更新策略有哪些?

1. recreate 重建更新, 会杀死集群所有正在运行的pod 然后在重新创建pod

2. rollingUpdate 滚动更新,在集群中逐个更新pod

deployment的回滚命令是什么?

在升级deployment时kubectl set image 命令加上 --record 参数可以记录具体的升级历史信息

使用 kubectl rollout history deployment/deployment-nginx 命令查看deployment升级历史记录

回滚到某个指定版本 kubectl rollout undo deployment/deployment-nginx --to-revision=2 命令来实现

k8s发布(暴露)服务 ,service 的类型有哪些?

1. nodeport: 最常用 用来对集群外暴露service 可以通过NodeIP:NodePort方式访问到service后端的endpoint

2. ClusterIP: k8s默认的ServiceType 通过集群内的ClusterIP在内部发布服务

简述ETCD是什么

etcd 是一个分布式,高可用,一致的key-value存储数据库

1 完全复制: 集群中每个节点都可以使用完整的存档

2.高可用性: 避免单点故障或网络延迟问题

3.一致性: 每次读取都会返回多主机的最新写入。

简述k8s自动扩容机制?

使用 HPA(Horizotal Pod Autoscaler) 控制器基于CPU使用率自动进行Pod扩缩容的功能

HPA周期性检查Pod资源性能指标,并与HPA资源对象中的扩缩容条件进行对比,满足条件对Pod副本数量进行调整。

相关文章:

kenernetes/k8s笔试面试

k8s的基础概念 k8s本质是一个容器编排系统,可以管理容器的生命周期,应用部署,更新,维护,应用提供服务,扩容缩容应用,故障自愈。 k8s与docker的关系 docker:是一种轻量级的虚拟化技术。运维层…...

我们真的是在做数据治理吗

我们真的是在做数据治理吗? 什么是数据治理? 数据治理和数据管理有什么区别? 相信即使是考过数据治理工程师的人,面对这2个问题也仍然会有这个疑问。 目前国际和国内对于数据治理没有明确统一的定义,对于数据治理的服…...

聊聊汽车电子的话题

当谈到汽车电子时,有许多有趣的话题可以探讨。以下是一些可能感兴趣的话题: 自动驾驶技术:自动驾驶技术正变得越来越先进,它们如何在汽车中实现?它们将如何改变我们的交通方式以及对道路安全的影响? 电动汽…...

ThinkPHP6企业OA办公系统

有需要请加文章底部Q哦 可远程调试 ThinkPHP6企业OA办公系统 一 介绍 勾股OA基于ThinkPHP6开发,前端Layui,数据库mysql,是一款实用的企业办公系统。可多角色登录,集成了系统设置、人事管理、消息管理、审批管理、日常办公、客户…...

PPS Tester测量原理和实施方法

怿星科技发布了新品PPS Tester,这是一款基于1PPS方法的时间同步精度测试设备。PPS Tester由硬件模块ETS2110和上位机软件ePPSTester构成。本文将围绕此设备的应用场景,介绍相关概念和设备使用方法。 什么是时间同步? 时间同步就是采取某项技…...

浅谈新电改背景下电网企业综合能源服务商业模式研究及发展方向

安科瑞 华楠 摘要: 新电改方案实施后,由于输配电价的改革和售电侧的放开,电网企业的盈利模式也随之发生了变化。这就要求电网企业转变服务理念与经营方式,来寻求竞争优势。基于“魏朱六要素商业模式”模型,对电网企业综合能源服务…...

SpringBoot + Docker 实现一次构建到处运行~

一、容器化部署的好处 图片 Docker 作为一种新兴的虚拟化方式,它可以更高效的利用系统资源,不需要进行硬件虚拟以及运行完整操作系统等额外开销。 传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行…...

clang-format格式化代码

1. clang-format简介 Clang-Format可用于格式化(排版)多种不同语言的代码。其自带的排版格式主要有:LLVM, Google, Chromium, Mozilla, WebKit等; 利用style参数配置风格。通过编写 .clang-format 文件,可以实现代码风格的配置。…...

品牌宣传与媒体传播是声誉管理的主要方式之一

企业声誉是现如今影响品牌信任度、客户忠诚度的重要因素,也被视为企业的一种无形资,更影响着企业未来的发展。因此,企业声誉管理也日渐成为企业管理的重要课题之一,尤其在品牌营销管理领域。 什么是声誉管理?声誉管理有…...

2023年8月7日-8月13日,(上午熟悉公司代码,周一到周五晚上优先工作所急视频教程,其他业余时间进行ue视频教程,为独立游戏做准备)

按照规划,上午熟悉公司源码,下午进行filament和ue渲染,晚上写工作代码。回家后泛读pbrt或者其他书籍催眠。 业余学习ue的各种视频教程,为独立游戏做准备(公司也实行末位淘汰,给自己留条后路)。累…...

Vue3 第二节 Vue3的响应式

1.Vue3的响应式原理 2.ref函数和reactive函数的对比 3.setup注意点 一.Vue3的响应式原理 1.Vue2.x中的响应式原理 ① 实现原理 对象类型:通过Object.defineProperty() 对属性的读取,修改进行拦截(数据劫持)数组类型&#xf…...

通过easyui实现动态控制表格字段显示、导出表格数据

前言 学过layui前端框架的都知道,layui默认帮我们实现了控制表格字段显示以及数据的导出功能。 1、控制表格字段显示 2、数据导出 3、导出为pdf:导出按钮的右边那个按钮就是打印pdf的 那么,easyui要怎么实现这些功能呢?这篇文章就…...

JWT入门,jwt可以解密吗?

JWT 什么是 JWT JSON Web Token,通过数字签名的方式,以 JSON 对象为载体,在不同的服务终端之间安全地传输信息 官网:https://jwt.io/SDK: https://jwt.io/libraries (含Java和各种语言)Java SDK(上面的SDK链接得到): https://g…...

36.利用解fgoalattain 有约束多元变量多目标规划问题求解(matlab程序)

1.简述 多目标规划的一种求解方法是加权系数法,即为每一个目标赋值一个权系数,把多目标模型转化为一个单目标模型。MATLAB的fgoalattain()函数可以用于求解多目标规划。 基本语法 fgoalattain()函数的用法: x fgoalattain(fun,x0,goal,weig…...

EPPlus 读取和生成Excel

在项目中添加了EPPlus库的引用,你可以通过NuGet包管理器或手动将EPPlus库添加到项目中。同时,需要注意的是EPPlus库支持的是xlsx格式的Excel文件。 读取 使用EPPlus读取本地Excel文件的示例代码如下: using OfficeOpenXml;public void Rea…...

Java wait() notify() join()用法讲解

一、wait() 1. 源码: 实际调用本地方法 2. 作用 释放当前锁,并让当前线程进入等待状态;timeoutMillis为等待时间,单位毫秒,如果为0则表示无限等待下去;该方法使用前提是:当前执行线程必须持…...

新手注意事项-visual studio 来实现别踩白块儿

自己之前为了熟悉easyx练习过一个简单的项目,别踩白块儿,链接在这里,别踩白块儿,当时比较稚嫩,很多东西都不会,可以说是只知道最基本的语法,头文件都不知道,一个一个查资料弄懂的&am…...

【力扣】2810. 故障键盘 <模拟>

【力扣】2810. 故障键盘 你的笔记本键盘存在故障,每当你在上面输入字符 ‘i’ 时,它会反转你所写的字符串。而输入其他字符则可以正常工作。给你一个下标从 0 开始的字符串 s ,请你用故障键盘依次输入每个字符。返回最终笔记本屏幕上输出的字…...

Docker desktop使用配置

1. 下载安装 https://www.docker.com/ 官网下载并安装doker desktop 2. 配置镜像 (1)首先去阿里云网站上进行注册:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors (2)注册完成后搜索:容…...

第一百二十一天学习记录:线性代数:矩阵乘法运算(宋浩板书)

在编程和学习数据结构的过程中,发现有些算法会用到矩阵和矩阵的乘法运算,因此先将这一个知识点学习一下。 矩阵和行列式的区别 各种矩阵的概念 矩阵运算 乘法☆ 总结三条不满足...

模拟实现消息队列项目(系列3) -- 服务器模块(硬盘管理)

目录 前言 1. 创建项目 2. 创建核心类 2.1 Exchange 2.2 MSQueue 2.3 Binding 2.4 Message 3. 数据库设计 3.1 SQLite 配置 3.2 Mapper层代码实现 3.2.1 创建表操作 3.2.2 交换机 队列 绑定的增加和删除 3.3 实现DataBaseManager 3.4 DataBaseManager单元测试 4.…...

【iOS】锁

线程安全 当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得…...

杰发科技(合肥)2021笔试题

笔试时间:2020.10.17 ,10:30-12:00。 岗位:Linux 驱动工程师。 题型:选择题8道,填空题10道,编程题4道。 杰发科技主要做汽车电子,由北京四维图新控股,对汽车电子感兴趣的有机会可以应聘试试。 选择题 1、128,4 #include<stdio.h> unsigned int getstrsiz…...

Java堆排序

目录 PriorityQueue自己实现 PriorityQueue public class PriorityQueueMain {public static void main(String[] args) {int[] temp {40, 2, 33, 26, 35, 8, 8, 26, 29, 2};PriorityQueue<Integer> priorityQueue new PriorityQueue<>();for (int i 0; i <…...

GitHub的基本使用教程

GitHub是一个基于web的版本控制和协作平台。它允许开发人员将他们的代码存储库存储在云中&#xff0c;并与其他人一起进行工作。GitHub还提供了各种工具和功能来帮助开发人员管理和组织他们的代码项目&#xff0c;包括拉出请求、问题跟踪、代码评论等等。此外&#xff0c;它托管…...

objectMapper.configure 方法的作用和使用

objectMapper.configure 方法是 Jackson 提供的一个用于配置 ObjectMapper 对象的方法。ObjectMapper 是 Jackson 库的核心类&#xff0c;用于将 Java 对象与 JSON 数据相互转换。 configure 方法的作用是设置 ObjectMapper 的配置选项&#xff0c;例如设置日期格式、设置序列…...

面试热题(x的平方根)

给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a;不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.5) 或者 x ** 0.5 。 这道题虽然是简单题…...

食品溯源合约 -- 智能合约实例

前提 Roles: 实现对用户地址的角色权限管控,添加、删除角色。 Producer: 生产商角色管控。 ... FoodInfoItem: 食品信息管控。生产商、中间商、超市添加食品信息。 Trace:食品溯源合约,主要负责对以上几个合约的统筹协作。 Roles // SPDX-License-Identifier: MIT pragm…...

SAP系统中二代增强提供了4中增强函数的查找方法

1 Introduction The second enhancement is used widely by sap .We can set break-point in the function . The function is in the SMOD FG. 2 Detail SAP系统中二代增强提供了4中增强函数的查找方法&#xff1a; MODX_ALL_ACTIVE_MENUENTRIES (菜单增强) MODX_FUNCTION…...

RabbitMQ-SpringBoot2

1.依赖引用 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 2.配置文件 spring: rabbitmq: host: 192.168.2.17 port: 5672 usernam…...