阿布的微信 发表于 2023-9-6 04:42:20

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

来源:https://www.cnblogs.com/waluna/p/17680889.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Linux运维工程师面试题(7)