Linux运维工程师面试题(7)

这篇具有很好参考价值的文章主要介绍了Linux运维工程师面试题(7)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • Linux运维工程师面试题(7)
    • 1 常用的 ansible 模块有哪些
    • 2 说一下 ansible 使用 roles 编排的目录结构
    • 3 docker 六大命名空间 namespace
    • 4 cgroups 的作用
    • 5 runc 的作用
    • 6 docker 常用的命令
    • 7 docker 存储引擎有哪些,区别是什么
    • 8 进入 docker 容器有几种方法,区别是什么
    • 9 Dockerfile 常用指令
    • 10 容器数据持久保存方式

Linux运维工程师面试题(7)

祝各位小伙伴们早日找到自己心仪的工作。
持续学习才不会被淘汰。
地球不爆炸,我们不放假。
机会总是留给有有准备的人的。
加油,打工人!

1 常用的 ansible 模块有哪些

  • Ping
  • Command
  • Shell
  • Script
  • Copy
  • Fetch
  • File
  • Yum
  • Service
  • User
  • Group
  • Lineinfile
  • Replace
  • Setup

2 说一下 ansible 使用 roles 编排的目录结构

.travis.yml
README.md
defaults/
    main.yml
files/
handlers/
    main.yml
meta/
    main.yml
tasks/
    main.yml
templates/
tests/
    inventory
    test.yml
vars/
    main.yml

3 docker 六大命名空间 namespace

  • MNT Namespace(mount):提供磁盘挂载点和文件系统的隔离能力
  • IPC Namespace(Inter-Process Communication):提供进程间通讯的隔离能力,包括信号量,消息队列和共享内存
  • UTS Namespace(UNIX Timesharing System):提供内核,主机名和域名隔离能力
  • PID Namesapce(Process Identification):提供进程隔离能力
  • Net Namespace(network):提供网络隔离能力,包括网络设备,网络栈,端口等
  • User Namespace(user):提供用户隔离能力,包括用户和组

4 cgroups 的作用

cgroups,其名称源自控制组群(control groups)的简写,是 Linux 内核的一个功能,用来限制、控制与分离一个进程组能够使用的资源上限,包括CPU、内存、磁盘、网络带宽等等。此外,还能够对进程进行优先级设置,资源的计量以及资源的控制(比如:将进程挂起和恢复等操作)。

5 runc 的作用

Runc 是容器的运行时(runtime),是一款标准的用于运行容器的开源客户端。它是基于 OCI(开放容器联盟)标准构建的,不仅可以用于Linux容器,还可以用于Windows容器。Runc的功能是在Linux和Windows中把容器作为一个单独的进程运行,并且可以通过命令行或RPC接口来控制它。它可以管理容器的生命周期,比如创建、启动、停止、杀死等。

6 docker 常用的命令

选择几个说就可以,没必要全部说出来,面试官问有什么补充的时候可以再说几个。

  • build:从 Dockerfile 构建镜像
  • commit:从容器的更改创建新镜像
  • cp:在容器和本地文件系统之间复制文件/文件夹
  • create:创建一个新容器
  • events:从服务器获取实时事件
  • exec:在正在运行的容器中运行命令
  • history:显示镜像的历史
  • images:列出镜像
  • import:从 tar 包导入内容以创建文件系统镜像
  • info:查看系统范围的信息
  • inspect:返回有关 Docker 对象的低级信息
  • load:从 tar 包或标准输入导入镜像
  • login:登录到 Docker 仓库
  • logs:获取容器的日志
  • ps:列出容器
  • pull:从仓库中拉取镜像或存储库
  • push:将镜像或存储库推送到仓库
  • rm:删除一个或多个容器
  • rmi:删除一个或多个镜像
  • run:在新容器中运行命令
  • save:将一个或多个镜像保存到 tar 包(默认流式传输到标准输出)
  • tag:创建一个引用 SOURCE_IMAGE 的标签 TARGET_IMAGE
  • version:查看 Docker 版本信息

7 docker 存储引擎有哪些,区别是什么

  • AUFS (Another UnionFS)是一种 Union FS,是文件级的存储驱动,AUFS 简单理解就是将多层的文件系统联合挂载成统一的文件系统,这种文件系统可以一层一层地叠加修改文件,只有最上层是可写层,底下所有层都是只读层,对应到 Docker,最上层就是 container 层,底层就是 image 层。
  • Overlay 也是一种 Union FS,和 AUFS 多层相比,Overlay 只有两层:一个 upper 文件系统和一个lower 文件系统,分别代表 Docker 的容器层(upper)和镜像层(lower)。当需要修改一个文件时,使用 CopyW 将文件从只读的 lower 层复制到可写层 upper,结果也保存在 upper 层。
  • Device mapper,提供的是一种从逻辑设备到物理设备的映射框架机制,前面讲的 AUFS 和 OverlayFS 都是文件级存储,而 Device mapper 是块级存储,所有的操作都是直接对块进行操作,而不是文件。因为CentOS 7.2和RHEL7.2的之前版本内核版本不支持overlay2,默认使用的存储驱动程序,最大数据容量只支持100GB且性能不佳,当前较新版本的CentOS已经支持overlay2,因此推荐使用overlay2,另外此存储引擎已在Docker Engine 18.09中弃用
  • ZFS(Sun -2005)/btrfs(Oracle-2007):目前没有广泛使用
  • vfs:用于测试环境,适用于无法使用copy-on -write时的情况。此存储驱动程序的性能很差,通常不建议用于生产

8 进入 docker 容器有几种方法,区别是什么

  1. 使用attach命令。docker attach 容器名,attach类似于vnc,操作会在同一个容器的多个会话界面同步显示,所有使用此方式进入容器的操作都是同步显示的,且使用exit退出后容器自动关闭,不推荐使用,需要进入到有shell环境的容器。
  2. 使用exec命令。在运行中的容器启动新进程,可以执行单次命令,以及进入容器测试环境使用此方式,使用exit退出,但容器还在运行,推荐使用
  3. 使用run命令。run命令可以创建并进入容器。
  4. 使用ssh进行容器。需要在镜像(或容器)中安装ssh server,并且给用户设置密码,不推荐使用
  5. 使用nsenter命令。nsenter命令需要通过PID进入到容器内部,且退出后仍然正常运行:不过需要事先使用 docker inspect 获取到容器的PID,目前此方式使用较少,此工具来自于util-linux包。

9 Dockerfile 常用指令

选择几个说就可以,没必要全部说出来,面试官问有什么补充的时候可以再说几个。

  • FROM:指定基础镜像
  • LABEL:指定镜像元数据
  • RUN:执行shell命令
  • ENV:设置环境变量
  • COPY:复制文本
  • ADD:复制和解包文件
  • CMD:容器启动命令
  • ENTRYPOINT:入口点
  • ARG:构建参数
  • VOLUME:匿名卷
  • EXPOSE:暴露端口
  • WORKDIR:指定工作目录
  • ONBUILD:子镜像引用父镜像的指令
  • USER:指定当前用户
  • HEALTHCHECK:健康检查
  • STOPSIGNAL:退出容器的信号
  • SHELL:指定shell

10 容器数据持久保存方式

  1. 数据卷(Data Volume):直接将宿主机目录挂载至容器的指定的目录,推荐使用此方式,此方式较常用
    • 指定宿主机目录或文件格式: -v <宿主机绝对路径的目录或文件>:<容器目录或文件>[:ro]
    • 匿名卷,只指定容器内路径:-v <容器内路径>
    • 命名卷:-v <卷名>:<容器目录路径>
  2. 数据卷容器(Data Volume Container):间接使用宿主机空间,数据卷容器是将宿主机的目录挂载至一个专门的数据卷容器,然后让其他容器通过数据卷容器读写宿主机的数据,此方式不常用
    • --volumes-from <数据卷容器>

关于我
全网可搜《阿贤Linux》
CSDN、知乎、哔哩哔哩、博客园、51CTO、掘金、思否、开源中国、阿里云、腾讯云、华为云、今日头条、百家号、GitHub、个人博客
公众号:阿贤Linux
个人博客:blog.waluna.top
https://blog.waluna.top/


原文链接: Linux运维工程师面试题(7).文章来源地址https://www.toymoban.com/news/detail-695065.html

到了这里,关于Linux运维工程师面试题(7)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux运维工程师面试题(9)

    目录 Linux运维工程师面试题(9) 1 pod 的生命周期 2 探针类型 3 探针方式 4 探针结果 5 Pod 重启策略 6 镜像获取策略 7 k8s 的服务类型 8 k8s中 service 和 ingress 的区别 9 有状态和无状态服务的区别 10 k8s 中 service 是做什么的? 祝各位小伙伴们早日找到自己心仪的工作。 持续学习才

    2024年02月09日
    浏览(59)
  • Linux运维工程师面试题(6)

    目录 Linux运维工程师面试题(6) 1 数据库事务的四个特性及含义 2 mysql 的 sql 语句怎么优化 3 varchar 与 char 的区别是什么?大小限制?utf8 字符集下 varchar 最多能存多少个字符? 4 索引有什么用? 5 sql 注入是怎么产生的,如何防止? 6 csrf 是什么?如何防范? 7 如何加强 MySQ

    2024年02月10日
    浏览(48)
  • Linux运维工程师面试题(5)

    目录 Linux运维工程师面试题(5) 1 SELECT 语句处理的顺序 2 MySQL 高可用方案有哪些 3 mysql 主从复制原理 4 mycat 读写分离原理 5 MHA 高可用原理 6 mysqldump 备份的原理 7 drop, delete 与 truncate 的区别,哪个最快 8 判断主从延迟的方法 9 MySQL 主要的索引类型 10 MySQL 中 myisam 与 innodb 的区

    2024年02月10日
    浏览(38)
  • Linux运维工程师面试题(3)

    目录 Linux运维工程师面试题(3) 1 LVS 的工作模式有几种,分别是什么 2 LVS 由哪几部分组成 3 LVS 相关的术语有哪些 4 LVS 集群的负载调度算法有哪些 5 使用LVS 可不可以把iptables给禁用删除 6 haproxy 调度算法有哪些 7 nginx 实现负载均衡的分发策略有那些 8 四层负载和七层负载的区

    2024年02月11日
    浏览(55)
  • Linux下安装Elasticsearch(1),面试字节跳动Linux运维工程师该怎么准备

    network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问 我们把data和logs目录修改指向了elasticsearch的安装目录。但是这两个目录并不存在,因此我们需要创建出来。 进入elasticsearch的根目录,然后创建: mkdir data mkdir logs 目前我们是做的单机安装,如果要做集群,只需要在这个配置

    2024年04月25日
    浏览(45)
  • 【良品】运维实施工程师面试题

    答:netstat –anpt | grep 8089 答:kill -9 4728/ 答:find . -name \\\"en* \\\" 答:chmod +x filename.sh 答:tar -xf .gz -C /usr/local unzip .zip 答:rpm -q smile ; rpm -e smile 答:vi /etc/profile  添加内容 JAVA_HOME=/usr/local/java/jdk1.8.0_221 PATH=JAVAHOME/bin:PATH CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar export JAVA_HOME expo

    2024年02月09日
    浏览(45)
  • 初级运维工程师面试题

    1、apache有几种工作模式,分别简述两种工作模式及其优缺点? apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候添加–with-mpm=worker选项) prefork的特点是:(预派生) 1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销 2.可以防

    2024年02月08日
    浏览(49)
  • 【运维工程师学习三】Linux中Shell脚本编写

    Shell程序有很多, 如 Korn shell(ksh)、Bourne Again shell(bash)、C shell(包括csh与tcsh) 等等, 各主要操作系统下缺省的shell: AIX下是 Korn Shell Solaris缺省的是 Bourne shell FreeBSD缺省的是 C shell HP-UX缺省的是 POSIX shell Linux缺省的是 Bourne Again shell 但这种在命令行中的命令是即时输出结果的,不

    2024年02月11日
    浏览(71)
  • 【Linux深造日志】运维工程师必会Linux常见命令以及周边知识!

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活!   哈喽各位宝子们好啊!我是博主鸽芷咕。日志这个东西我相信大家都不陌生,在 linxu/Windows 系统中每天运行都会产生各种系统日志。而咱们每天学习知识也是一

    2024年04月17日
    浏览(63)
  • 华为Linux系统开发工程师面试

    在Linux系统开发工程师的面试中,你可能会遇到以下一些问题: 在同一个网站中,当客户访问的时候,会出现有的页面访问的速度快而有的慢,系统和服务完全正常、网络带宽正常,你如何诊断这个问题? 你以前做过的项目中,单台服务器的最大并发量是多少?你硬件的配置

    2024年02月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包