Kubernetes レプリケーション コントローラーの仕組み

Kubernetes レプリケーション コントローラーの仕組み

[[436665]]

レプリケーション コントローラーは、ポッドのライフサイクルを管理し、必要な数のポッドが常に実行されていることを確認する役割を担います。

ポッドポッドKubernetesでこれを行う方法はたくさんありますが、一般的なアプローチは「レプリケーション コントローラレプリケーションコントローラRC は、ポッドのライフサイクルを管理し、必要な数のポッドが常に実行されていることを確認する責任を負います。一方、自動スケーリング、準備状態と生存状態の検出、その他の高度なレプリケーション機能の実行などの高度なクラスター機能は担当しません。 Kubernetes クラスター内の他のコンポーネントは、これらの機能をより適切に実行できます。

つまり、RC の役割は限定されており、通常は、特定の要件を満たすために複雑なロジックを必要としない特定の実装に使用されます (たとえば、必要なポッドの数が常に指定された数と一致することを確認するなど)。必要な数を超えた場合、RC は超過分を削除し、ノード障害やポッド終了が発生した場合でも同じ数が存在するようにします。

シンプルなものには複雑な解決策は必要ありません。私にとって、これは RC の使用方法を示す完璧な比喩です。

RCの作成方法

ほとんどの Kubernetes リソースと同様に、YAML または JSON 形式を使用して RC を作成し、Kubernetes API エンドポイントに公開できます。

  1. $ kubectl create - f rcexample . yaml
  2. replicationcontroller / rcexample created

ここで、 rcexample.yamlどのようなものか詳しく見ていきます。

  1. apiVersion : v1
  2. kind : ReplicationController RC描述符
  3. metadata :
  4. name : rcexample 复制控制器名字
  5. spec :
  6. replicas : 3 预期的吊舱数量
  7. selector : 这个 RC的吊舱选择器
  8. app : nginx
  9. template : 用于创建新吊舱的模板
  10. metadata :
  11. labels :
  12. app : nginx
  13. spec :
  14. containers :
  15. - name : nginx
  16. image : nginx

さらに説明すると、このファイルを実行すると、 rcexampleという名前の RC が作成され、 nginxという名前の 3 つのポッド インスタンスが常に実行されるようになります。 1 つまたはすべてのapp=nginxポッドが実行されていない場合は、定義されたポッド テンプレートに従って新しいポッドが作成されます。

RC には 3 つの部分があります。

  • レプリカ: 3
  • ポッドテンプレート: app=nginx
  • ポッドセレクター: app=nginx

RC が常にポッドを作成しないようにするには、ポッド テンプレートがポッド セレクターと一致している必要があることに注意してください。テンプレートと一致しないポッドセレクターを使用して RC を作成すると、Kubernetes API サーバーからエラーが発生します。

RC rcexampleが作成されたことを確認するには:

  1. $ kubectl get po
  2. NAME READY STATUS RESTARTS AGE
  3. rcexample - 53thy 0 / 1 Running 0 10s
  4. rcexample - k0xz6 0 / 1 Running 0 10s
  5. rcexample - q3vkg 0 / 1 Running 0 10s

RC を削除するには:

  1. $ kubectl delete rc rcexample
  2. replicationcontroller "rcexample" deleted

RC のサービスに対してローリング アップデート戦略を使用して、ポッドを 1 つずつ置き換えることができることに注意してください。

コンテナをコピーする他の方法

Kubernetes デプロイメントでコンテナを複製する方法は複数あります。 Kubernetes がコンテナ プラットフォームの主な選択肢となった主な理由の 1 つは、信頼性、負荷分散、スケーリングのためにコンテナを複製するネイティブ機能です。

上記では、常に一定数のポッドが利用可能であることを保証する RC を簡単に作成する方法を示しました。レプリカの数を更新することで、ポッドを手動でスケーリングできます。

もう一つの方法は、レプリケーション セットレプリカセット(RS)」を使用して複製の目的を達成します。

  1. ( kind : ReplicaSet )

RS の機能は RC とほぼ同じです。主な違いは、RS ではローリング アップデート戦略が許可されないことです。

複製を実現するもう1つの方法は、展開する展開」。

  1. ( kind : Deployment )

デプロイメントは、コンテナを複製するより高度な方法です。機能的には、デプロイメントは同じ機能を提供しますが、必要に応じて変更をロールアウトおよびロールバックする機能があります。この機能は、デプロイメントに「戦略タイプ戦略タイプ” 仕様を使用して、古いポッドを新しいポッドに置き換えます。 2 種類のデプロイメント戦略を定義できます。再作成再現する" そして"ローリングアップデートローリングアップデートデプロイメント戦略は次のように指定できます。

  1. StrategyType : RollingUpdate

要約する

コンテナのレプリケーション機能は、ほとんどの企業が Kubernetes の導入を検討する主な理由の 1 つです。レプリケーションにより、運用の最小要件として最も重要なアプリケーションのほとんどに必要な信頼性とスケーラビリティを実現できます。

Kubernetes クラスターでレプリケーションを実装するために使用される方法を理解することは、アプリケーション アーキテクチャの考慮事項に最適な方法を決定する上で重要です。

<<:  テンセントクラウド、南米初のデータセンターをブラジルのサンパウロに開設、海外クラウドサービスの展開を加速

>>:  JVMメモリ領域分割の深い理解

推薦する

ブランドがオンラインでお菓子を配っていますが、どの 520 マーケティングが一番甘いでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービステキスト | 脳を燃やす...

新しいサイトも短期間で百度の人気を獲得できる

Baidu は新しいサイトに敏感であることは誰もが知っているので、最初の数か月間は新しいサイトの重み...

SEOにおけるウェブサイトのホーム画面デザインの5つの重要な側面に関する実用的な情報を共有します

ウェブサイトのユーザー エクスペリエンスは、アート、デザイン、プログラミング、戦略、フィードバックを...

ウェブマスターネットワークからの毎日のレポート:Dangdangは変革の包囲下にあり、360ウェブサイトナビゲーションが刷新されました

1. インターネット上でわいせつな情報やポルノ情報を拡散した3件の事件が捜査され、対処された。国家ポ...

ウェブマスター自身のアカウント: 「古くなった」フォーラムを保存する方法

フォーラムの概念は、マルチメディアの出現以来、私たちの視界から消え去っています。電子商取引の人々は、...

vietnix: ベトナムの VPS は 80% オフ、年間 113 元、100M 帯域幅、無制限トラフィック

ベトナムのサーバー販売業者vietnix(~)は現在、ベトナムの仮想ホストとベトナムのVPSを特別低...

curacaowebhosting: カリブ海 - キュラソー VPS、オフショアやその他の関連ビジネスに最適

curacaowebhosting は、遠く離れたカリブ海地域のホスティング プロバイダーで、主にオ...

地域 SEO 独立ブログはどれくらい続くでしょうか?

SEO に関する独立したブログといえば、まず思い浮かぶのは ZAC の「SEO Daily Post...

uuuvpsはどうですか?米国サンノゼ cn2 ライン VPS の簡単なレビュー

uuuvpsはどうですか? uuuvps は香港に登録され、2009 年に設立され、米国西海岸のサン...

k9s を使用して Kubernetes クラスターの管理を簡素化しましょう。

[51CTO.com クイック翻訳] 私が執筆する Kubernetes 管理記事では、通常、クラス...

ウェブサイトの最適化と SEO における div css の利点

最近、CSS DIV を使用して Web サイトを構築する友人が増えています。今日は、div css...

MinIO と Grafana Mimir を使用してインジケーターの永続ストレージを実装する

Grafana Mimir は、Grafana Labs によって開発された AGPLv3 ライセン...

WeChatミニゲーム広告の1日の売上高は1,000万を超え、1,000クリックあたりの収益は80元を超えています。

7月10日から11日まで、 WeChatオープンクラスの第7シーズンが上海で開催されました。イベント...

マルチクラウドデータガバナンスをより管理しやすく一貫性のあるものにする方法

マルチクラウド環境で運用する組織にとって、データ ガバナンスの複雑さと課題は非常に大きいです。データ...