共计 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 容器有几种办法,区别是什么
- 应用 attach 命令。docker attach 容器名,attach 相似于 vnc,操作会在同一个容器的多个会话界面同步显示,所有应用此形式进入容器的操作都是同步显示的,且应用 exit 退出后容器主动敞开,不举荐应用,须要进入到有 shell 环境的容器。
- 应用 exec 命令。在运行中的容器启动新过程,能够执行单次命令,以及进入容器测试环境应用此形式,应用 exit 退出,但容器还在运行,举荐应用。
- 应用 run 命令。run 命令能够创立并进入容器。
- 应用 ssh 进行容器。须要在镜像(或容器)中装置 ssh server,并且给用户设置明码,不举荐应用。
- 应用 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 容器数据长久保留形式
-
数据卷 (Data Volume):间接将宿主机目录挂载至容器的指定的目录,举荐应用此形式,此形式较 罕用。
- 指定宿主机目录或文件格式:-v < 宿主机绝对路径的目录或文件 >:< 容器目录或文件 >[:ro]
- 匿名卷,只指定容器内门路:-v < 容器内门路 >
- 命名卷:-v < 卷名 >:< 容器目录门路 >
-
数据卷容器 (Data Volume Container):间接应用宿主机空间,数据卷容器是将宿主机的目录挂载至一个专门的数据卷容器,而后让其余容器通过数据卷容器读写宿主机的数据,此形式 不罕用。
- –volumes-from < 数据卷容器 >
对于我
全网可搜《阿贤 Linux》
CSDN、知乎、哔哩哔哩、博客园、51CTO、掘金、思否、开源中国、阿里云、腾讯云、华为云、今日头条、百家号、GitHub、集体博客
公众号:阿贤 Linux
集体博客:blog.waluna.top
https://blog.waluna.top/
原文链接: Linux 运维工程师面试题(7).