Linux運維工程師面試題(7)

来源:https://www.cnblogs.com/waluna/archive/2023/09/05/17680889.html
-Advertisement-
Play Games

[toc] # Linux運維工程師面試題(7) > 祝各位小伙伴們早日找到自己心儀的工作。 > 持續學習才不會被淘汰。 > 地球不爆炸,我們不放假。 > 機會總是留給有有準備的人的。 > 加油,打工人! ## 1 常用的 ansible 模塊有哪些 - Ping - Command - Shell ...


目錄

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在日常寫Java的時候,對於字元串的操作是非常普遍的,其中最常見的就是對字元串的組織。也因為這個操作非常普遍,所以誕生了很多方案,總下來大概有這麼幾種: - 使用`+`拼接 - 使用`StringBuffer`和`SpringBuilder` - `String::format` and `Stri ...
  • > 本文深入探討了Go編程語言中的核心概念,包括標識符、關鍵字、具名函數、具名值、定義類型、類型別名、包和模塊管理,以及代碼塊和斷行。這些元素是構成Go程式的基礎,也是編寫高質量代碼的關鍵。 > 關註TechLeadCloud,分享互聯網架構、雲服務技術的全維度知識。作者擁有10+年互聯網服務架構、 ...
  • 最近接了一個新需求,業務場景上需要在原有基礎上新增2個欄位,介面新增參數意味著很多類和方法的邏輯都需要改變,需要先判斷是否屬於該業務場景,再做對應的邏輯。原本的打算是在入口處新增變數,在操作數據的時候進行邏輯判斷將變數進行存儲或查詢。 ...
  • # 項目名稱:KeepGoing(繼續前進) ## 介紹 工作後,學習的腳步一直停停走走,希望可以以此項目為基礎,可以不斷的迫使自己不斷的學習以及成長 將以Girvs框架為基礎,從壹開始二次開發一個前後端管理框架 在這過程中一步步去學習使用到的技術點,也同時會將在此過程中遇到的問題進行分享 項目地址 ...
  • ## 背景 - 需要對Excel進行讀取和寫入,目前使用Dotnet6開發環境,故直接使用。 - 達到的效果:相容`.xls`和`.xlsx`,識別行為空自動跳過,識別顯示值,識別格式內容 ## 步驟 - `Dotnet 6`Nuget 安裝 `NPOI`, 具體版本 `2.6.1`,tips: 搜 ...
  • # Unity UGUI的Dropdown(下拉菜單)組件的介紹及使用 ## 1. 什麼是Dropdown組件? Dropdown(下拉菜單)是Unity UGUI中的一個常用組件,用於在用戶點擊或選擇時顯示一個下拉菜單,提供多個選項供用戶選擇。 ## 2. Dropdown組件的工作原理 Drop ...
  • 上篇文章講述了[C#委托和事件知識點](http://mp.weixin.qq.com/s?__biz=MzI2NDE1MDE1MQ==&mid=2650851553&idx=1&sn=b1c601eaf4bb4f2898cbd418fa0ae426&chksm=f1456509c632ec1f8f ...
  • 基本屬性: 屬性 說明 描述 Color 設置陰影效果背景色 Color="Red" ShadowDepth 設置陰影的偏移度 ShadowDepth="5" Direction 設置陰影的角度 Direction="-45" BlurRadius 設置陰影模糊程度 BlurRadius="20" ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...