2022年に知っておく必要のあるKubernetesインタビューの質問と回答のトップ20

公開: 2021-01-04

Kubernetesは、今日の市場で最も人気のあるコンテナオーケストレーションツールの1つです。 2014年にGoogleによってオープンソース化されたこのシステムは、SoundCloud、SAP、The New York Times、eBay、Huaweiなどの企業の間で人気があります。

しかし、Kubernetes認定プロフェッショナルの膨大な需要を満たすための熟練した専門家はごくわずかです。 さらに、現在の仕事の選択手順は、技術的概念に計り知れない価値を置いています。 そのため、 Kubernetesの面接の質問に対する回答を事前に準備しておくことを常にお勧めします

Kubernetesの背後にある基本的な考え方は、基盤となるコンピューターリソースを抽象化することです。 マシン、ストレージ、およびネットワークを物理的な実装から遠ざけます。 間違いなく、プラットフォームの背後にある勢いは高まっています。 Kubernetesはクラウドのオペレーティングシステムと呼ばれています。 Kubernetesとそのネットワーキングの詳細をご覧ください。

この分野でのキャリアを考えている場合は、以下のKubernetes面接の質問に答えてください。 その最初の一歩を踏み出し、基本を理解してください!

Kubernetesインタビューの質問と回答2022

1.Kubernetesを定義します。

Kubernetesは、コンテナ化プラットフォーム以上のものです。 アプリケーションのデプロイ、スケーリング、および負荷分散のタスクを自動化します。 また、このマルチコンテナ管理ツールは、ほとんどのクラウドプロバイダーでうまく機能し、熟練したオープンソースコミュニティの貢献から恩恵を受けています。 KubernetesはGoプログラミング言語で書かれています。

2.Kubernetesの主な機能をいくつか挙げてください。

    1. 自動スケジューリング–クラスターノードでコンテナーを起動するための高度なスケジューラー。
    2. 自己回復–停止したコンテナを再スケジュール、交換、および再起動できます。
    3. 自動ロールアウトとロールバック–ロールアウトとロールバックをサポートします。
    4. 水平スケーリング–要件に応じてアプリケーションをスケールアップまたはスケールダウンする機能。
  1. KubernetesとDockerSwarmsの違いを一覧表示します。

Docker Swarmは、ライフサイクル管理用のコンテナーを構築するためのツールです。 Kubernetesは、クラスターをオーケストレーションし、ノードのクラスターを大規模に調整することを目的としているため、DockerSwarmよりも広範囲です。 Kubernetesは非常にスケーラブルですが、DockerSwarmはKubernetesよりも約5倍高速にスケーリングできます。 また、Docker Swarmは、Kubernetesで手動による介入が必要な、異なるコンテナー間のトラフィックの自動負荷分散を行います。

ただし、Kubernetesには他の機能があります。 自動ロールバックメカニズムに加えて、ログおよび監視ツールが組み込まれています。 Docker Swarmは、Kubernetesのように自動ロールバックと自動スケーリングを実行できません。

4.ホストでのアプリケーションの展開は、コンテナーでの展開とどのように異なりますか?

アプリケーションをホストにデプロイすると、オペレーティングシステムのカーネルにより、多くのライブラリをホストにインストールできます。 すべてのアプリケーションは、そのオペレーティングシステムに存在するさまざまなライブラリを共有します。 ただし、コンテナにアプリケーションをデプロイするアーキテクチャは少し異なります。

コンテナ化されたアーキテクチャでは、アプリケーション間で共通するのはカーネルだけです。 他のアプリケーションは、1つのアプリケーションに必要なライブラリとバイナリを侵害することはできません。 したがって、それらはシステムの他の部分から分離して存在します。 たとえば、特定のアプリケーションがPythonを必要とする場合、そのアプリケーションのみがPythonにアクセスできます。

5.コンテナオーケストレーションで何を理解しますか? なぜあなたはそれが必要なのですか?

アプリケーションに4〜5個のマイクロサービスがあるとします。 現在、これらのマイクロサービスは個別のコンテナーにあります。 したがって、サービスが相互に通信し、サーバーのニーズを満たすために連携できるようにするには、コンテナーのオーケストレーションが必要になります。 このプロセスは、さまざまな楽器が調和して演奏されて作曲を構成する音楽オーケストラのようなものです。

6. Kubeletとは何ですか?

Kubeletは、ポッドを実行するエージェントサービスです。 ポッドは、同じホストにデプロイされた、または単一のIPやボリュームなどのいくつかの共通リソースを持つコンテナーのグループに他なりません。kubeletは、PodSpecで提供されるこれらのコンテナーの説明を処理します。 その主な目的は、各ノードで実行し、コンテナーが正常で実行されていることを確認し、マスターノードとワーカーノード間の通信をさらに可能にすることです。

読む:フルスタックインタビューの質問と回答

7. Kubernetesでのクラスターの役割は何ですか?

Kubernetesを使用すると、特定の構成のクラスターサービスにフィードすることで、必要な状態管理を適用できます。 次に、これらのクラスターサービスは、インフラストラクチャでその構成を実行します。 このプロセスには、次の手順が含まれます。

  • デプロイメントファイルには、クラスターサービスに提供されるすべての構成が含まれています。
  • デプロイメントファイルはAPIにフィードされます。
  • これで、クラスターサービスが環境内のポッドをスケジュールします
  • クラスタサービスは、適切な数のポッドが実行されていることも確認します

したがって、Kubernetesクラスターは、基本的にAPI、ワーカーノード、およびノー​​ドのKubeletプロセスで構成されます。

8. Kubectlは何に使用されますか?

Kubectlは、Kubernetesクラスターを制御するためのツールです。 実際、「ctl」は制御を表します。 これは、クラスターにコマンドを渡し、Kubernetesコンポーネントを管理できるようにするコマンドラインインターフェイスです。

9.Googleコンテナエンジンを定義します。

Google Container Engine(GKE)は、Googleのパブリッククラウドサービス内で実行されるDockerコンテナとクラスターをサポートする管理プラットフォームです。 これは、Kubernetesをベースにしたオープンソースエンジンです。

10.Kubernetesでのノードの使用法を説明します。

ノードは、ポッドを実行するために必要なサービスを提供します。 ミニオンとも呼ばれるノードは、クラスターに応じて物理マシンまたは仮想マシンで実行できます。 Kubernetesでは、ノードがメインワーカーマシンであり、マスターコンポーネントがシステム内の各ノードを管理します。

基本についての最新情報が得られたので、明確にするために、 Kubernetesのインタビューの質問と回答をさらにいくつか見てみましょう。

11. Kubernetesアーキテクチャの2つの主要コンポーネントは何ですか?

マスターノードとワーカーノードがKubernetesアーキテクチャを構成します。 どちらのコンポーネントにも、複数のサービスが組み込まれています。 たとえば、マスターコンポーネントには、kube-controller-manager、kube-schedulerなど、およびkube-apiserverがあります。 ワーカーノードには、コンテナーランタイム、kubelet、kube-proxyなどのサービスが各ノードで実行されています。

読む: Reactインタビューの質問と回答

12.kube-apiserverとkube-schedulerを定義します。

Kube-apiserverは、すべてのコンポーネントAPIを公開するメーザーノードコントロールパネルのフロントエンドです。 Kubernetesノードとマスターコンポーネント間の通信を確立します。 kube-schedulerは、ワーカーノードのワークロードを管理します。 リソース使用率を追跡して、適切なノードでスケジューリングが行われるようにします。

13.Kubernetesコントローラーマネージャーの役​​割を簡単に説明します。

Kubernetesでは、さまざまなプロセスがマスターノードで実行されており、それらはKubernetesControllerManagerの形式で一緒にコンパイルされます。 これは、次のようなコントローラーを組み込むデーモンです。

  • ノードコントローラー:ノードの作成、更新、削除などのステータスを管理します
  • レプリケーションコントローラー:すべてのレプリケーションオブジェクトのポッドを維持します
  • サービスアカウントとトークンコントローラー:新しい名前空間のデフォルトアカウントとAPIアクセストークンに関係します
  • エンドポイントコントローラー:エンドポイントオブジェクト(ポッドとサービス)の管理
  1. クラウドコントローラーマネージャーは何をしますか?

Cloud Controller Manager(CCM)は、クラウド固有の制御ループを埋め込むことができるデーモンです。 コアKubernetesコードからクラウド固有のベンダーコードを抽象化します。 また、基盤となるクラウドサービスとの通信を管理するのにも役立ちます。 その設計はプラグインメカニズムに基づいています。つまり、クラウドベンダーは、プラグインを使用してコードをCCMと統合します。

15.ロードバランサーの役割は何ですか?

ロードバランサーは、さまざまなバックエンドサービス間でネットワークトラフィックを分散するための標準的な方法を提供し、スケーラビリティを最大化します。 作業環境に応じて、内部または外部の2種類のロードバランサーがあります。

内部ロードバランサーは、負荷を自動的に分散し、必要な構成をポッドに割り当てることができます。 一方、External Load Balancerは、外部ロードトラフィックをバックエンドポッドに誘導します。 Kubernetesでは、2つの負荷分散方法がkube-proxy機能を介して動作します。

16. Kubernetesをローカルで実行するにはどうすればよいですか?

Minikubeツールを使用してKubernetesをローカルで実行できます。 ラップトップの仮想マシン内でシングルノードクラスターを実行します。 そのため、始めたばかりでKubernetesを試してみたいユーザーに効率的な方法を提供します。

17.ヒープスターとは何ですか?

Heapsterは、Kubernetesクラスターでネイティブにサポートされるパフォーマンスモニタリングおよびメトリクス収集ツールです。 クラスタ内の他のポッドと同じように実行され、すべてのノードを検出し、Kubernetesノードから情報をクエリします。 このコンテナ管理ツールは、オンマシンエージェントを介して機能します。

18. KubernetesのETCDとは何ですか?

Etcdは、Kubernetesクラスターの構成、状態、メタデータのストアです。 Goプログラミング言語で記述されており、特定の時点でのクラスターの状態を表します。 このデータストアは、分散システムのバックボーンとして機能します。

19.コンテナリソースの監視で何を理解していますか?

ユーザーの観点からは、コンテナーポッド、サービス、クラスター全体など、さまざまな抽象化レイヤーとレベルでのリソース使用率を理解することが重要です。 各レベルは、さまざまなツールを使用して監視できます。

  • Grafana
  • ヒープスター
  • InfluxDB
  • CAdvisor
  • プロメテウス
  1. Kubernetesを使用しているときに、環境のセキュリティをどのように確保できますか?

Kubernetesを使用している間は、次のセキュリティ対策を実行して実装できます。

  • ETCDアクセスを制限する
  • ノードへの直接アクセスを制限する
  • リソースクォータを定義する
  • すべてが本番環境にログオンする必要があります
  • 許可されたリポジトリの画像を使用する
  • リソースの厳格なルールとポリシーを作成する
  • 継続的なセキュリティと脆弱性のスキャンを実施する
  • セキュリティアップデートを定期的に適用する

世界のトップ大学からソフトウェア開発コース取得します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

まとめ

この記事では、キャリアの目標を実現するために必要なKubernetesの面接の質問について説明しました。 だから、学習の挑戦に挑戦し、改訂することを忘れないでください!

Kubernetes、DevOpsなどを学び、習得したい場合は、フルスタックソフトウェア開発プログラムのIIIT-B&upGradのエグゼクティブPGプログラムを確認してください。

未来のキャリアに備える

ソフトウェアエンジニアリングの修士号を今すぐ申し込む