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

简介: Linux运维工程师面试题(7)1 常用的 ansible 模块有哪些2 说一下 ansible 使用 roles 编排的目录结构3 docker 六大命名空间 namespace4 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).

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
12天前
|
人工智能 运维 自然语言处理
今晚围观—>安全运维工程师现场直播用通义灵码发现和修复代码漏洞
12 月 18 日晚 19:30 分,阿里云中小企业直播间「AI 编码助手一年养成记:从“打酱油”到企业开发“真正助手”」见。
|
2月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
165 3
|
3月前
|
运维 监控 网络协议
|
2月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
103 2
|
3月前
|
存储 运维 搜索推荐
|
5月前
|
网络协议 网络架构
OSPF邻居关系建立失败?揭秘网络工程师面试中最常见的难题,这些关键步骤你掌握了吗?网络配置的陷阱就在这里!
【8月更文挑战第19天】OSPF是网络工程中确保数据高效传输的关键协议。但常遇难题:路由器间无法建立OSPF邻居关系,影响网络稳定并成为面试热点。解决此问题需检查网络连通性(如使用`ping`),确认OSPF区域配置一致(通过`show running-config`),校准Hello与Dead计时器(配置`hello`和`dead`命令),及核查IP地址和子网掩码正确无误(使用`ip address`)。系统排查上述因素可确保OSPF稳定运行。
95 2
|
5月前
|
Linux 数据安全/隐私保护 Perl
解锁Linux高手秘籍:文件操作+命令解析大揭秘,面试场上让你光芒万丈,技术实力惊艳四座!
【8月更文挑战第5天】Linux作为服务器与嵌入式系统的基石,其文件管理和命令行操作是技术人员必备技能。本文从文件操作和基础命令两大方面,深入浅出地解析Linux核心要义,助你在面试中脱颖而出。首先探索文件系统的树状结构及操作,包括使用`ls -la`浏览文件详情、`touch`创建文件、`rm -r`慎删目录、`cp`与`mv`复制移动文件、以及利用`find`搜索文件。接着掌握命令行技巧,如用`cat`、`more`和`less`查看文件内容;借助`grep`、`sed`与`awk`处理文本;运用`ps`、`top`和`kill`管理进程;并通过`chmod`和`chown`管理文件权限。
86 8
|
5月前
|
监控 Linux 数据安全/隐私保护
Linux大神养成记:掌握这些逆天命令与快捷方式,面试秒变MVP,让你的技术实力燃爆全场!
【8月更文挑战第5天】Linux作为开源领域的核心,熟悉其基本命令对系统管理员和技术人员至关重要。本文精选了面试中常考的Linux命令,覆盖文件管理、文本处理、进程监控及权限调整等关键领域,并介绍了提高效率的快捷方式。通过掌握如`ls -l`、`grep &quot;error&quot;`、`top`、`chmod 755`等实用命令,以及Tab自动补全、历史命令浏览等功能,不仅能显著提升日常工作效能,还能在求职面试时展现出扎实的技术功底。
73 4
|
6月前
|
弹性计算 运维 Linux
运维工程师必备的摸鱼神器:阿里云智能助手OS Copilot
OS Copilot 概述与体验评测摘要 阿里云的OS Copilot是一款基于大模型的智能操作系统助手,作为高级运维工程师,体验者发现它在系统诊断和性能优化上尤其有用,简化了如重置ECS密码和安全组配置等任务,提升了工作效率。 OS Copilot的易用性和安全性得到肯定,操作手册详细且交互性强,减少了用户在不同页面间切换的需要。在辅助编程方面,它能帮助非专业开发者编写和理解代码,对运维工作中的开发技能补充有很大帮助。与GitHub Copilot等产品相比,OS Copilot的独特之处在于结合了Linux操作的支持。
272 3
运维工程师必备的摸鱼神器:阿里云智能助手OS Copilot

热门文章

最新文章