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

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

1 罕用的 ansible 模块有哪些

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

2 说一下 ansible 应用 roles 编排的目录构造

.travis.ymlREADME.mddefaults/    main.ymlfiles/handlers/    main.ymlmeta/    main.ymltasks/    main.ymltemplates/tests/    inventory    test.ymlvars/    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).