关于面试:Linux运维工程师面试题7

5次阅读

共计 3181 个字符,预计需要花费 8 分钟才能阅读完成。

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).

正文完
 0