Kubernetes: 定義、機能、動作の仕組み

Kubernetes(K8s と略称) は、コンピューター ネットワーク全体でコンテナ化されたアプリケーションを管理および展開するために使用されるオープンソース システムです。 Kubernetes は、もともと Google によって開発され、現在は大規模な開発者コミュニティによって維持されている、人気のある強力なコンテナ管理プラットフォームになりました。

の主な機能は Kubernetes 次のとおりです。

  1. コンテナ管理 : Kubernetes アプリケーションとそのリソースを にパッケージ化できます containers。 Containers 軽量環境を提供し、アプリケーションがどのシステムでも一貫して実行されるようにします。

  2. 自動展開 : Kubernetes 自動展開と、アプリケーションとサービスの簡単なスケーラビリティを可能にします。 リソース要件、インスタンスの数を指定すると、 Kubernetes 望ましい状態が自動的に維持されます。

  3. リソース管理 : K8s は、CPU、メモリ、ストレージなどのサーバー リソースを管理し、アプリケーションが過剰なリソースを消費したり、相互に干渉したりしないようにします。

  4. 自動回復とフォールト トレランス : Kubernetes アプリケーションが障害から自動的に回復するのに役立ちます。 新しいバージョンで問題が発生した場合、アプリケーションの以前のバージョンに自動的にロールバックできます。

  5. 負荷分散とトラフィック分散 : Kubernetes 異なるサーバー上のアプリケーションのインスタンス間でトラフィックを均等に分散するメカニズムを提供します nodes。 これにより、パフォーマンスが向上し、スケーラビリティが確保されます。

  6. 構成とシークレットの管理 : Kubernetes K8s Secret や ConfigMap などの機能を使用して、アプリケーションの構成とシークレットを安全に管理できます。

の動作メカニズムには Kubernetes、

  1. Nodes: ネットワーク内のサーバーまたは個々のコンピューターは「 nodes 」と呼ばれます。 nodes には、マスターノードとワーカーノード の 2 種類があります Kubernetes。 マスター ノードはシステム全体を管理および制御し、ワーカー ノードは containers アプリケーションを実行します。

  2. Pods: ポッドは、 で展開可能な最小単位です Kubernetes。 ポッドには 1 つまたは複数の を含めることができます containers が、それらは同じネットワーク ストレージとライフサイクルを共有します。 これにより、 containers ポッド内間の通信が容易になります。

  3. Controller: コントローラは、 のレプリカを管理および維持するコンポーネントです pods。 コントローラーのタイプには、 ReplicaSet(正しい数を確認し pods 、必要に応じて再起動する)、展開(アプリケーションのバージョンと更新を管理する)、および StatefulSet(ステートフル アプリケーションを展開するため) が含まれます。

  4. Service: サービスは、負荷を分散し、トラフィックを に分散するためのメカニズムです pods。 pods サービスにより、アプリケーションは特定の場所を知らなくても 簡単にアクセスできるようになります。

  5. Kubelet および Kube Proxy: Kubelet は各ワーカー ノード上で実行されるコンポーネントであり、 pods そのノード上での管理を担当します。 Kube Proxy は、 に接続するためのネットワーク プロキシです pods。

その結果、 Kubernetes コンテナ化されたアプリケーションの展開と管理が自動化され、複雑なシステムの保守に必要な時間と労力が削減されます。