Kubernetes (k8s) の概念の紹介

1. k8sの概要と特徴

K8s は、クラウド プラットフォームの複数のホスト上でコンテナ化されたアプリケーションを管理するために使用されるオープン ソース アプリケーションです。k8s の目標は、コンテナ化されたアプリケーションの展開をシンプルかつ効率的にすることです。k8s は、アプリケーションの展開、計画、更新、およびメンテナンスのためのメカニズムを提供します。 。K8s は、2014 年に Google が開発したオープンソースのコンテナ化されたクラスタ展開管理システムです。k8s を使用すると、コンテナ化されたアプリケーションを展開できます。アプリケーションの拡張に役立ちます。K8s ターゲットの実装により、コンテナ化されたアプリケーションの展開がよりシンプルかつ効率的になります。

k8sの特徴

  • オートボクシング: アプリケーション環境のコンテナーのリソース構成要件に基づいて、アプリケーション コンテナーを自動的にデプロイします (手動介入は必要ありません)。
  • 自己修復: コンテナーに障害が発生すると、コンテナーが再起動されます。デプロイされたNodeノードに問題が発生した場合、コンテナは再デプロイおよび再スケジュールされ、コンテナが監視チェックに失敗した場合、コンテナが正常に動作するまでコンテナは閉じられ、外部へのサービスは提供されません。
  • 水平方向の拡張: 単純なコマンド、ユーザー UI インターフェイス、または CPU などのリソース使用量に基づいてコンテナーを拡張またはトリミングします。
  • サービス検出: ユーザーは、追加のサービス検出メカニズムを使用せずに、サービス検出と負荷分散を実現する独自の機能を k8s に提供できます。
  • ローリング更新: アプリケーションの変更に基づいて、アプリケーション コンテナーで実行されているアプリケーションに対して 1 回限りの更新またはバッチ更新を行うことができます。
  • バージョンのロールバック: アプリケーションのデプロイ状況に基づいて、アプリケーション コンテナ内で実行されているアプリケーションの履歴バージョンを即座にロールバックできます。
  • キーと構成の管理: ホット デプロイメントと同様に、イメージを再構築せずにキーとアプリケーション構成をデプロイおよび更新できます。
  • ストレージ オーケストレーション: ストレージ システムのマウントとアプリケーションを自動的に実装します。特にステートフル アプリケーションでデータの永続性を実現します。ストレージ システムは、ローカル ディレクトリ、ネットワーク ストレージ (NFS、Gluster、Ceph など)、パブリック クラウド ストレージ サービスから取得できます。
  • バッチ処理: 1 回限りのタスクとスケジュールされたタスクを提供し、バッチ データの処理と分析のシナリオに対応します。

2. k8s アーキテクチャのコンポーネント

k8s クラスターのアーキテクチャ
ここに画像の説明を挿入します

  • コンポーネント: マスター (マスター ノード) とノード (ワーカー ノード)
  • マスター ノード: k8s クラスター制御ノード。クラスターのスケジュールと管理を行い、クラスター外部のユーザーからのクラスター操作リクエストを受け入れます。マスター ノードは、
    API サーバー、スケジューラー、ClusterState Store (ETCD データベース)、およびコントローラー マネージャー サーバーで構成されます。
    • API サーバー: クラスターの統合された外部入口です。Restfull による操作を提供します。さまざまな操作を etcd ストレージに転送し、他のモジュール間のデータ対話および通信のためのハブを提供します (他のモジュールは API サーバーを通じてデータをクエリまたは変更します。API のみ)サーバー リソースクォータ制御の入り口であるetcdを直接操作します。
    • スケジューラ: ノードのスケジューリングに使用され、アプリケーションをデプロイするノードを選択します。
    • コントローラーマネージャー: クラスター内の通常のバックグラウンドタスクを処理するために、1 つのリソースがコントローラーに対応します (たとえば、注文操作は注文ビジネスコントローラーに対応します)。
    • etcd: ストレージ システム。関連データをクラスターに保存するために使用されます。
  • ノード: クラスター作業ノード、ユーザー ビジネス アプリケーション コンテナーを実行します。
    • kubelet: マスターからノードに送信される代表者。現在のノードでコンテナを管理し、コンテナのライフサイクル、コンテナの作成、破棄など、ローカルコンテナのさまざまな操作を管理します。
    • kube-proxy: 負荷分散機能の実装に使用できるネットワーク プロキシを提供します。

3. k8s のコアコンセプト

ポッド: k8s の最小のデプロイメント単位です。ポッドはコンテナの集合です。ポッド内のコンテナはネットワークを共有します。ポッドのライフサイクルは短いです。サーバーを再起動すると新しいポッドが作成されます。コントローラ: コントローラポッド コピーの数により、すべてのノードで同じポッドが実行されるように
なります。また、ワンタイム タスクとスケジュールされたタスクもサポートされます。 サービス :
注文やショッピング カートなどのポッド アクセス ルールのセットを定義します。サービスは別のノードに転送されます。ポッドのロード容量およびその他のルールに基づいて、処理用のポッド。

Je suppose que tu aimes

Origine blog.csdn.net/qq_43456605/article/details/130486540
conseillé
Classement