linux面试高级篇

news2025/1/31 3:10:06

题目目录

    • 1.虚拟机常用有几种网络模式?请简述其工作原理或你个人的理解?
    • 2. Dockerfile中最常见的指令是什么?
    • 3.docker网络模式有哪些?
    • 4.Kubernetes有哪些核心组件这些组件负责什么工作?
    • 5. Pod是什么?
    • 6.描述一下Pod的生命周期有哪些状态?
    • 7.创建一个Pod会发生什么事?
    • 8.删除一个Pod会发生什么事情?
    • 9.k8s的Service是什么?
    • 10.k8s是怎么进行服务注册的?
    • 11.什么是Kubelet?
    • 12.云计算和虚拟化的关系是什么
    • 13.云计算有哪些分类
    • 14.公有云、私有云、混合云
    • 15.KVM虚拟机常用管理命令
    • 16.虚拟机磁盘技术中的 ROW 指的是什么
    • 17.ELK三大组件以及其各自的作用
    • 18.简述logstash的配置区域及其用途
    • 19.简要说明Elasticsearch数据的组织存储方式
    • 20.简述elasticsearch集群插件head的用途
    • 21.如何对Elasticsearch数据库进行增删改查
    • 22.查询Elasticsearch状态信息的 API 怎么使用?
    • 23.filebeat是什么,主要优势是什么
    • 24.kibana是什么
    • 25.如何区分filebeat转发来的不同类型的数据
    • 26.Docker与虚拟机相比有哪些优势
    • 27.熟练掌握镜像管理命令
    • 28.熟练掌握容器管理命令
    • 30.简述Dockerfile中常见命令关键字并说明用途
    • 31.如何查看私有仓库中的镜像和标签
    • 32.容器卷有什么用途
    • 33.如何限制容器使用的物理机资源
    • 34.安装部署容器服务,内核需要支持哪些技术
    • 35.如何实现多个不同容器内的服务相互调用
    • 36.容器内的服务如何发布出来

1.虚拟机常用有几种网络模式?请简述其工作原理或你个人的理解?

有桥接模式、隔离模式、NAT模式、路由模式。
桥接模式:Guest与Host连接到同一个交换机上;通过桥接物理网卡,相当于直连到Host所在网络。
隔离模式:允许Guest访问同一虚拟交换机上的其他Guest;但是不能访问Host所在的外部网络。
NAT模式(默认):将Guest虚拟机的默认网关指向Host物理机的virtbr0接口的IP地址;Guest共享真机
的网络连接,以地址转换的方式访问外网。
路由模式:由Host物理机充当路由器,开启转发;需要额外设置外网与Guest虚拟机之间互访的路由条
目,Guest以路由转发的方式访问外网(需要在真机配置iptables规则)。

2. Dockerfile中最常见的指令是什么?

FROM指定基础镜像。
ENV key=value环境变量。
COPY拷贝本地文件到容器镜像。
ADD拷贝本地或远程URL文件到容器镜像。
RUN在build时运行命令。
CMD在docker run时运行的默认命令,如果有多个,仅最后一个有效。
如果docker run 镜像 命令,指定了运行容器的命令,则CMD的命令会被覆盖。
An ENTRYPOINT allows you to configure a container that will run as an executable。
ENTRYPOINT将容器做为一个可执行体运行,如果docker run 镜像后面有东西,则全部做为
ENTRYPOINT的参数处理,如果docker run 镜像后面没有东西,但是CMD定义了内容,则CMD定义的
内容全部做为ENTRYPOINT的参数。

3.docker网络模式有哪些?

host模式 -net=host 容器和宿主机共享nework namespace
container -net=container:name_or_ID 容器和另外一个容器共享Network namespace。 kubernetes
中的pod就是多个容器共享一个Network namespace。

none模式 –net=none 容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配
veth pair 和网桥连接,配置IP等。

bridge模式 –net=bridge (默认为该模式)
当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连
接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连
在了一个二层网络中。

4.Kubernetes有哪些核心组件这些组件负责什么工作?

etcd:提供数据库服务保存了整个集群的状态
kube-apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
kube-controller-manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
cloud-controller-manager:是与底层云计算服务商交互的控制器
kub-scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上
kubelet:负责维护容器的生命周期,同时也负责Volume和网络的管理
kube-proxy:负责为Service提供内部的服务发现和负载均衡,并维护网络规则
container-runtime:是负责管理运行容器的软件,比如docker

5. Pod是什么?

Pod是Kubernetes中最小的单元,它由一组、一个或多个容器组成,每个Pod还包含了一个Pause容器,Pause容器是Pod的父容器,主要负责僵尸进程的回收管理,通过Pause容器可以使同一个Pod里面的多个容器共享存储、网络、PID、IPC等。

6.描述一下Pod的生命周期有哪些状态?

status 属性里面有一个phase字段记录了Pod的状态正常情况下启动一个新Pod的过程如下:
Pending表示Pod已经被同意创建,正在等待kube-scheduler选择合适的节点创建,一般是在准备镜像
Running表示Pod中所有容器已经被创建,并且至少有一个容器正在运行或者是正在启动或者正在重启
Succeeded表示所有容器已经成功终止,且不会再启动
Failed表示Pod中所有容器都是非0状态退出
Unknown表示无法读取Pod状态通常是kube-controller-manager无法与Pod通信

7.创建一个Pod会发生什么事?

1、客户端提交Pod的配置信息(可以是Deployment定义好的信息)到kube-apiserver,kubeapiserve把Pod信息存储到ETCD当中
2、kube-scheduler 检测到Pod信息会开始调度
3、kube-scheduler 开始调度预选,主要是过滤掉不符合Pod要求的节点
4、kube-scheduler 开始调度调优,主要是会给节点打分以选择更加适合的节点
5、kube-scheduler 选择好节点后会把结果存储到ETCD
6、kubelet 根据调度结果执行Pod创建操作

8.删除一个Pod会发生什么事情?

kube-apiserver会接受到用户的删除指令,默认有30秒时间等待优雅退出,超过30秒会被标记为死亡状态,此时Pod的状态是Terminating,Kubelet看到Pod标记为Terminating开始了关闭Pod的工作
1、Pod从service的列表中被删除
3、进程被发送TERM信号(kill -14)
4、当超过优雅退出时间时,Pod中的所有进程都很被发送SIGKILL信号(kill -9)

9.k8s的Service是什么?

Pod每次重启或者从新部署IP地址都会产生变化,这使得Pod间通信和Pod与外部通信变得困难,这时候
Pod就需要一个固定的入口这就是Service

每个Service都有一个clusterIP,clusterIP是固定的是外界访问Pod的唯一入口,Service背后通常绑定了
一组相同配置的Pod,通过负载均衡的方式把外界请求分配的多个Pod

10.k8s是怎么进行服务注册的?

Pod启动后会加载当前环境所有Service信息,以便不同Pod根据Service名进行通信

11.什么是Kubelet?

这是一个代理服务,它在每个节点上运行,并使从服务器与主服务器通信。因此,Kubelet处理PodSpec
中提供给它的容器的描述,并确保PodSpec中描述的容器运行正常。

12.云计算和虚拟化的关系是什么

虚拟化是一种技术,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、在分配
云计算是一种服务模式,其思想就是把各种资源整合起来,然后租给有需要的用户
云计算就是利用了虚拟化技术的特点,把这些资源分割打包提供给用户使用

13.云计算有哪些分类

IaaS:基础设施服务,Infrastructure-as-a-service
PaaS:平台服务,Platform-as-a-service
SaaS:软件服务,Software-as-a-service

14.公有云、私有云、混合云

公有云指互联网上发布的云计算服务,搭建云的资源在提供商的场所内,用户通过互联网使用服务
私有云一般建设在企业内部(专网)发布的云服务,搭建云平台所需的资源由企业自给
混合云是云计算的一种类型,它将本地基础结构(或私有云)与公有云结合在一起。使用混合云,可以在两种环境之间移动数据和应用

15.KVM虚拟机常用管理命令

在这里插入图片描述

16.虚拟机磁盘技术中的 ROW 指的是什么

写入时重定向(英语:Redirect On Write,简称ROW)是一种计算机程序设计领域的优化策略。其核心思
想是,当有多个调用者都需要请求相同资源时,一开始资源只会有一份,多个调用者共同读取这一份资源,当
某个调用者需要修改数据的时候,才会将数据生成拷贝,供这个调用者使用,而其他调用者依然还是读取最原
始的那份数据。每次有调用者需要修改数据时,就会重复一次拷贝流程,供调用者修改使用,使用ROW可以避
免或者减少数据的拷贝操作,极大的提高性能

17.ELK三大组件以及其各自的作用

1、Elasticsearch 是一个分布式的免费开源搜索和分析引擎,它提供了一个分布式的基础架构,基于RESTful API的Web接口
2、logstash 是一个数据采集、加工处理以及传输(输出)的工具,拥有丰富的数据收集处理输出插件。
3、kibana 是一个数据可视化平台工具。能够完成数据的检索、图表绘制以及展示等功能

18.简述logstash的配置区域及其用途

在这里插入图片描述

input 区域负责日志的收集
filter 区域负责对日志进行格式化
output 区域负责把格式化好的日志存储在数据库中

19.简要说明Elasticsearch数据的组织存储方式

Elasticsearch 数据的组织存放方式按照由大到小顺序分别是 索引、类型、文档、字段
索引:相当于数据库中的库
类型:相当于数据库中的表
文档:相当于数据库中的行
字段:相当于数据库中的列

20.简述elasticsearch集群插件head的用途

它展现ES集群的拓扑结构,并且可以通过它来进行索引(Index)和节点(Node)级别的操作
它提供一些快捷菜单,用以展现集群的各种状态,还提供一组针对集群的查询API,并将结果以json和表格形
式返回

21.如何对Elasticsearch数据库进行增删改查

访问Elasticsearch数据库需要使用 REST API,分别对应以下 HTTP 协议方法
增 – HTTP方法 (PUT)
删 – HTTP方法 (DELETE)
改 – HTTP方法 (POST)
查 – HTTP方法 (GET)

22.查询Elasticsearch状态信息的 API 怎么使用?

可以使用 _cat api 进行查询 (?v 显示详细信息)(?help 显示帮助信息)
curl http://集群中任意结点:9200/_cat/关键字

23.filebeat是什么,主要优势是什么

filebeat是用于转发和集中日志数据的轻量级传送工具
filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到 Elasticsearch
或 Logstash进行索引
由于Logstash对内存、cpu、io等资源消耗非常高,部署在任务繁重的机器上非常不合适,对于日志的收集filebeat 就是解决这个问题的最佳选择,filebeat 非常轻量,几乎不占用系统资源,他可以通过网络把
收集的日志发送到 Elasticsearch 或 Logstash进行索引

24.kibana是什么

数据可视化平台工具
特点:
灵活的分析和可视化平台,实时总结和流数据的图表
为不同的用户显示直观的界面,即时分享和嵌入的仪表板

25.如何区分filebeat转发来的不同类型的数据

可以在filebeat中定义 fields 自定义的键值对类型的标签,在日志的接收端可以通过该标签进行日志区分

26.Docker与虚拟机相比有哪些优势

1、Docker 更简单、更易用、更快速,与虚拟机相比,Docker共享宿主机的操作系统和硬件资源,所有的应用模块都是在宿主机上的隔离,非常节省资源,多个应用模块类似于宿主机上多个“应用进程”
2、与虚拟机相比,容器的创建启动、停止等能都实现秒级的速度,从而实现业务系统服务的快速弹性扩展
3、更灵活的硬件资源调整、管控:所有的运维基础服务以及公司自有模块都可以随意封装为镜像,只要Docker运行的基础环境,就可以直接启动服务,从而实现“一次封装,到处运行”
4、所有容器能够针对CPU,内存、磁盘IO、网络等进行更细化的调整控制,让所有容器更能充分利用宿主机的硬件资源;
5、透明部署,促进企业实现真正的DevOps:docker 的出现,让运维、测试、研发等企业技术人员,彻底跳出“环境部署的苦海”,实现真正的企业内部业务系统的“透明部署”,简化了技术部门产品发布的流程

27.熟练掌握镜像管理命令

在这里插入图片描述

28.熟练掌握容器管理命令

在这里插入图片描述

30.简述Dockerfile中常见命令关键字并说明用途

在这里插入图片描述

31.如何查看私有仓库中的镜像和标签

私有仓库的镜像存储在/var/lib/registry
查看私有镜像仓库中的镜像名称或标签
查看名称: curl http://仓库IP:5000/v2/_catalog
查看标签: curl http://仓库IP:5000/v2/镜像名称/tags/list

32.容器卷有什么用途

数据卷是宿主机上面的某个特殊目录或者文件,它可供一个或多个容器使用
特性:

  • 1、数据卷中所有的数据是保存在宿主机磁盘本地的,它可以被一个或多个容器使用在权限允许的前提下,宿主机+各个容器对数据卷都可以进行读、写、删除等各项操作并且在宿主机或者各个容器任何一个节点上面变更数据(增、删、改),实现数据的 “全局同步”
  • 2、对数据卷的更新,不会影响镜像
  • 3、卷会一直存在,即使没有容器,数据也不会丢失

33.如何限制容器使用的物理机资源

可以在容器启动的时候通过参数限制容器对内存及cpu的使用
例如:

  • 设置容器使用的cpu权重,在多个容器对cpu发生资源争用的的时候,按照权重分配资源cpuset-cpus 把容器使用cpu资源固定在一个或多个指定的cpu 核上
  • 使用参数-m设置容器使用宿主机的物理内存容量大小memory-swap 设置容器使用宿主机的物理内存+物理交换分区的总容量大小

34.安装部署容器服务,内核需要支持哪些技术

1、Cgroups(Control Groups)资源管理
2、SELinux 安全
3、NameSpace 命名空间

35.如何实现多个不同容器内的服务相互调用

可以通过共享容器的命名空间或(link)实现
在启动时候可以通过参数 network=container:容器名称
把两个服务监听在同一个网络命名空间上,从而实现服务内部相互调用

36.容器内的服务如何发布出来

容器可以通过 -p 参数把容器端口和宿主机端口绑定或共享宿主机网络名称空间
我们可以通过访问宿主机的 IP:Port 来达到访问到容器内服务的目的
同一宿主机的同一个端口只能绑定一个容器服务

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

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

相关文章

H264编码原理

1.什么是音视频? 比如我们下载的mp4格式(还有rmvb、avi)的电影 2.什么是h264? 对摄像头采集的每一帧视频需要进行编码,由于视频中存在空间和时间的冗余, 需要用算法来去除这些冗余。H264是专门去除这些冗…

SQL基础语句小结

🍎道阻且长,行则将至。🍓 目录 一、SQL概述 1.简介 2.格式语法 3.SQL分类 二、DDL操作数据库 1.创建数据库 2.查询与使用 3.删除数据库 三、DDL:操作表 (1)数据类型 (2)创建表 (3)查询当前数据库的表 (4)删除表 (5)修改表 四、DML…

小鹏汽车「错失」智能化好牌

本周,作为小鹏品牌销售主力的P7正式迎来改款发布。3月6日,小鹏P7i迎来首发,作为P7的改款车型,在整车电子架构、三电系统、智能化硬件配置上都进行了全面升级。 基于和G9相同的双Orin-X计算平台两个盲区激光雷达,P7i实现…

RocketMQ基础篇(一)

目录一、发送消息类型1、同步消息2、异步消息3、单向消息4、顺序消费5、延迟消费二、消费模式1、集群模式2、广播模式3、消费模式扩展4、如何配置三、其他用法1、事务消息2、过滤消息1)Tag过滤2)SQL方式过滤源码放到了GitHub仓库上,地址 http…

HyperLPR3车牌识别-Android-SDK光速部署与使用

简介HyperLPR在2023年初已经更新到了v3的版本,该版本与先前的版本一样都是用于识别中文车牌的开源图像算法项目,最新的版本的源码可从github中提取:https://github.com/szad670401/HyperLPRHyperLPR-Android-SDK for JitPackHyperLPR3的官方源…

Prim算法和Kruskal算法到底哪个好?

Prim和Kruskal有啥区别?到底哪个好? 今天做了一道最小生成树的题,发现了一点猫腻! 题目在这里 : 《修路问题1》 文章目录Prim和Kruskal有啥区别?到底哪个好?先说结论PrimKruskal修路问题1——…

不好!有敌情,遭到XSS攻击【网络安全篇】

XSS:当一个目标的站点,被我们用户去访问,在渲染HTMl的过程中,出现了没有预期到的脚本指令,然后就会执行攻击者用各种方法注入并执行的恶意脚本,这个时候就会产生XSS。 涉及方: 用户&#xff0…

Linux端安装MySQL并实现远程连接Navicat

文章目录Linux端安装MySQL(centos版本)Linux端安装MySQL(centos版本) 1、先将MySQL需要的四个rpm安装包上传上去,这里可以使用Xftp软件或者是通过window端使用ftp文件传输方式上传到Linux端,这里选择Xftp来…

基于JavaWeb学生选课系统开发与设计(附源码资料)

文章目录1. 适用人群2. 你将收获3.项目简介4.技术实现5.运行部分截图5.1.管理员模块5.2.教师模块5.3.学生模块1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计或者是需要实战项目的Java开发学习者。 2. 你将收获 提供:项目源码、项目文档、数据库脚本…

远程办公18年,把一个开源工具变成了价值 75亿美元的跨国企业

把自己的兴趣做成了一份事业,把一个开源工具发展成为一家价值75亿美元的跨国企业,而且还是那种员工做梦都想进入的公司,真正实现了功成名就,这或许是所有程序员的梦想吧。 先来看看这家公司的福利: 员工拥有没有限制的…

git快速入门(1)

1 git的下载与安装1)下载git安装包下载路径:https://git-scm.com/我的操作系统是window,64位的,我下载的Git-2.33.0-64-bit.exe,从官网下载或者从网址下载链接:链接地址:https://pan.baidu.com/…

【MySQL】P8 多表查询(2) - 连接查询 联合查询

连接查询以及联合查询多表查询概述连接查询内连接隐式内连接显式内连接外连接左外连接右外连接自连接联合查询多表查询概述 建表语句见上一篇博文:https://blog.csdn.net/weixin_43098506/article/details/129402302 e.g.e.g.e.g. select * from emp, dept where e…

深入分析@Configuration源码

文章目录一、源码时序图1. 注册ConfigurationClassPostProcessor流程源码时序图2. 注册ConfigurationAnnotationConfig流程源码时序图3. 实例化流程源码时序图二、源码解析1. 注册ConfigurationClassPostProcessor流程源码解析(1)运行案例程序启动类Conf…

Python安装、断点调试

一、安装Python方法 1.1 在Microsoft Store微软商店中搜索Python安装(推荐) 或直接在cmd中Python运行 已经安装了就显示版本号, 如果没有安装过,会直接跳到微软商店 1.2 在python官网中找最新版下载安装 二、VSCODE中运行与断点…

容易混淆的嵌入式(Embedded)术语

因为做嵌入式开发工作虽然跳不出电子行业,但还是能接触到跨度较大的不同行当,身处不同的圈子。诸如医疗,银行,车载,工业;亦或者手机,PC,专用芯片;甚至可能横跨系统开发、…

Vue常见的事件修饰符

前言 vue一共给我们准备了6个事件修饰符,前三个比较常用,后三个少见,这里着重讲下前三个 1.prevent:阻止默认事件(常用) 2. stop:阻止事件冒泡(常用) 3. once:事件只触发一次(常用) 4.captrue:使用事件的捕捉模式(不常用) 5.self:只有event…

案例10---对生产环境的敬畏--生产环境

一:背景介绍 1:上午9:23,老师没有进行上课,但是却又很多的在线人员,并且在线人员的时间也不正确,用户反映问题。 2:开发人员发现用户上课情况异常。 3:10点整,询问项目…

Notepad++ 下载与安装教程

文章目录Notepad 下载与安装教程Notepad 简介一,Notepad 下载二,Notepad 安装Notepad 下载与安装教程 Notepad 简介 Notepad是程序员必备的文本编辑器,Notepad中文版小巧高效,支持27种编程语言,通吃C,C ,Java ,C#, XM…

Android Execution failed for task ‘:app:mergeDebugJavaResource

错误提示 FAILURE: Build failed with an exception.* What went wrong: Execution failed for task :app:mergeDebugJavaResource. > A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction> 2 files found with path k…

不写代码、年薪百万,带你玩赚ChatGPT提示工程-提示应用程序

文章目录前言一、数据生成二、PAL (Program-Aided Language Models): Code as Reasoning总结前言 随着ChatGPT的大火,提示工程在大模型中的重要性不言而喻,本文参考国外Prompt Engineering Guide完成国内中文版本的《提示工程指南》,希望能够…