Kubernetes 面試高頻問題
如今最好的編排技術是 Kubernetes,它已經成為行業的流行語。它吸引了許多經驗豐富的員工尋求職業晉升。包括華為、寶可夢、eBay、雅虎日本、SAP、Open AI 和 Sound Cloud 在內的國際企業每天都在使用 Kubernetes。然而,市場上缺乏 Kubernetes 認證專家。我想您已經瞭解這些細節,這促使您閱讀這篇關於 Kubernetes 面試問題的文章。本文將幫助您瞭解最常見的面試問題。
描述 Kubernetes
Kubernetes 是一個開源的容器管理平臺,負責容器的負載均衡、擴充套件和縮容以及容器部署。作為谷歌的產物,它擁有強大的社群支援,並與所有云提供商完美配合。因此,我們可以得出結論:Kubernetes 是一種多容器管理工具,而不是容器化的平臺。
Docker 和 Kubernetes 之間的關係是什麼?
眾所周知,Docker 映象建立執行時容器,Docker 管理容器的生命週期。但是,由於這些獨立的容器需要互動,因此使用 Kubernetes。因此,容器由 Docker 建立,它們使用 Kubernetes 相互互動。因此,Kubernetes 可用於手動連線和協調在多個主機上執行的容器。DevOps 工程師經驗要求
容器編排是如何工作的?
假設您的應用程式包含 5-6 個微服務。這些微服務現在分別駐留在不同的容器中,但是如果沒有容器編排,它們就無法互動。因此,容器編排指的是所有在獨立容器中的服務協同工作以滿足單個伺服器的需求,就像在音樂中,編排指的是所有樂器一起演奏的融合一樣。
K8s 是做什麼的?
Kubernetes 的另一個名稱是 K8s。
Kubernetes 和 Docker Swarm 的主要區別是什麼?
Docker Swarm 是 Docker 原生的開源容器編排工具。它用於叢集和排程 Docker 容器。以下是 Swarm 和 Kubernetes 的區別:
Kubernetes 的設定雖然更復雜,但它具有強大的叢集保證的優勢。Docker Swarm 設定更容易,但缺乏強大的叢集。
雖然 Kubernetes 和 Docker Swarm 都缺乏自動擴充套件的能力,但 Docker 的擴充套件速度是 Kubernetes 的五倍。
與 Kubernetes 不同的是,Kubernetes 包含儀表板形式的 GUI,而 Docker Swarm 則缺少 GUI。
Kubernetes 需要使用者干預才能在叢集中的容器之間進行負載均衡,而 Docker Swarm 自動完成此操作。
Kubernetes 包含內建的日誌記錄和監控功能,而 Docker 需要像 ELK 堆疊這樣的外部工具。
與 Kubernetes 不同,Kubernetes 只能與同一 pod 中的容器共享儲存卷,而 Docker Swarm 可以輕鬆地與任何容器共享儲存卷。
Kubernetes 可以部署滾動更新和自動回滾,而 Docker 只能部署滾動更新;後者無法部署自動回滾。
如何進行 K8 節點維護?
Kubernetes 管理員必須執行維護操作,以便在作業系統容器中出現安全補丁時部署它以防止漏洞,這通常是管理中不可避免的一部分。要安全地排空 K8s 節點,請執行以下兩個命令。
kubectl Cordon
kubectl drain -ignore-daemonset
第一個命令將節點置於維護模式或使其不可訪問後,就是 kubectl drain,它將 pod 從節點中永久刪除。成功執行 drain 命令後,就可以進行維護了。
注意 - 可以按順序使用以下兩個命令來對單個 pod 進行維護:
kubectl get nodes:列出所有節點
kubectl drain <節點名稱>:排空特定節點
什麼是 init 容器,以及何時可以使用它?
在啟動 POD 之前,init 容器將為您建立一個階段。
使用 sleep 60 等命令啟動程式容器時,請等待一段時間。
克隆到卷中的 git 倉庫。
負載均衡在 Kubernetes 中起什麼作用?
負載均衡的使用有助於確保應用程式對使用者可見,它允許將傳入流量分發到多個後端伺服器。
在 Kubernetes 中,如上圖所示,所有傳入流量都源自負載均衡器上的單個 IP 地址,允許您將服務公開給外部世界。然後,負載均衡器使用輪詢演算法將傳入流量定向到特定 pod(透過服務)。即使單個 pod 失敗,負載均衡器也會收到警報,防止流量傳送到該特定不可達節點。因此,Kubernetes 負載均衡器負責將許多作業(傳入流量)分發到 pod。
什麼是運算子?
運算子提供了一種使用自定義資源來管理應用程式及其組成部分的能力,作為 K8 的擴充套件。通常,運算子遵循所有 Kubernetes 相關的規則,特別是那些處理控制迴圈的規則。
描述 GKE
GKE(Google Kubernetes Engine 的縮寫)是一種用於管理和編排 Docker 容器系統的工具。藉助 Google 公共雲,還可以編排容器叢集。
什麼是叢集 IP?
叢集 IP 是 Kubernetes 內建的服務,它連線主機埠和 pod 或對映容器埠。它提供叢集服務,並允許訪問屬於同一叢集的其他應用程式。
列出 Kubernetes 提供的一些好處?
以下是 Kubernetes 的一些好處:
Kubernetes 免費且開源
它比 Docker swarm 更強大,並且非常可擴充套件。它還可以在任何作業系統上執行。
它提供健康檢查、滾動更新、自動擴充套件和排程程式。
它具有扁平的網路環境和專門的功能。
構建高效的 CI/CD 管道很簡單。
它可以提高生產力。
結論
上面列出的 Kubernetes 面試問題是 12 個基礎級別的題目,可以幫助您對自己的 Kubernetes 知識理解進行自我分析,並根據您即將參加的面試級別和您自身水平之間的差距,採取措施併為下一次面試做好準備。
資料結構
網路
關係型資料庫 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP