実行中の Kubernetes ポッドにパッチを適用するにはどうすればよいでしょうか?

実行中の Kubernetes ポッドにパッチを適用するにはどうすればよいでしょうか?

[51CTO.com クイック翻訳] Kubernetes は、市場で最も強力で柔軟なコンテナ クラスター マネージャーの 1 つです。このツールを使えば、ほぼ何でもできます。すでにデプロイされているポッドにパッチを適用することは、Kubernetes が提供する機能の 1 つです。

たとえば、Nginx コンテナを含むポッドをデプロイしたが、それに Regis コンテナと MySQL コンテナを追加したいとします。すべてを破棄して構成ファイルを再調整する代わりに、パッチ コマンドを実行して新しいコンテナーを追加するだけです。

やり方は次のとおりです。この例は単純ですが、 kubectl コマンドで patch オプションを使用する方法を示しています。

あなたは何が必要ですか?

これを機能させるために必要なのは、実行中の Kubernetes クラスターだけです。

クラスターをデプロイする方法については、次のチュートリアルをご覧ください: Ubuntu サーバーに Kubernetes クラスターをデプロイする方法クラスターが起動したら、次のステップに進むことができます。

Kubernetes サービスをデプロイするにはどうすればいいですか?

最初に行う必要があるのは、Kubernetes サービスをデプロイすることです。次のコマンドで新しいディレクトリを作成します。

  1. mkdir ~/patch-demo

次のコマンドを使用して新しいディレクトリに移動します。

  1. cd ~/patch-demo

次に、基本テンプレートと 2 つのレプリカを含む Nginx を含むサービス デプロイメントの YAML ファイルを作成します。次のコマンドを使用してファイルを作成します。

  1. ナノデプロイメントパッチ.yaml

そのファイルに次の内容を貼り付けます。

  1. apiVersion: apps/v1 # 1.9.0 より前のバージョンの場合は、apps/v1beta2 を使用します
  2. 種類: デプロイメント
  3. メタデータ:
  4. 名前: パッチデモ
  5. 仕様:
  6. レプリカ: 2
  7. セレクタ:
  8. 一致ラベル:
  9. アプリ: nginx
  10. テンプレート:
  11. メタデータ:
  12. ラベル:
  13. アプリ: nginx
  14. 仕様:
  15. コンテナ:
  16. -名前: patch-demo-ctr
  17. 画像: nginx
  18. 許容範囲:
  19. - 効果: NoSchedule
  20. キー:専用
  21. 値: テストチーム

ファイルを保存して閉じます。次のコマンドを使用して構成をデプロイします。

  1. kubectl apply -f デプロイメントパッチ.yaml

次のコマンドを実行すると、ポッドが実行中であることがわかります。

  1. kubectl ポッドを取得する

patch-demo パッチは実行中としてリストされます (図 A)。


図 A. Kubernetes パッチ デモ ポッドが稼働しています。

実行中のサービスにパッチを適用するにはどうすればいいですか?

ここで、Redis コンテナをポッドに追加する戦略的なマージ パッチ ファイルを作成します。次のコマンドを使用してパッチ ファイルを作成します。

  1. ナノパッチファイル.yaml

そのファイルに次の内容を貼り付けます。

  1. 仕様:
  2. テンプレート:
  3. 仕様:
  4. コンテナ:
  5. -名前: patch-demo-ctr-2
  6. 画像: redis

ファイルを保存して閉じます。

実行中のサービスにパッチを適用するには、次のコマンドを実行します。

  1. kubectl パッチ デプロイメント patch-demo --patch "$(cat patch-file.yaml)"  

この場合、デプロイメントによって古いポッドが終了し、新しいポッドが作成されます。

この手順を続行できます。たとえば、MySQL を追加するとします。次のコマンドで別のパッチ ファイルを作成します。

  1. ナノ パッチファイル 2.yaml

そのファイルに次の内容を貼り付けます。

  1. 仕様:
  2. テンプレート:
  3. 仕様:
  4. コンテナ:
  5. -名前: patch-demo-ctr-3
  6. 画像: mysql

ファイルを保存して閉じ、次のようにパッチ コマンドを再実行します。

  1. kubectl パッチ デプロイメント patch-demo --patch "$(cat patch-file-2.yaml)"  

このコマンドを実行すると:

  1. kubectl デプロイメント パッチ デモ--output yamlを取得します。  

Nginx、Redis、MySQL がすべてポッド内にあることがわかります (図 B)。

図 B. Kubernetes ポッドに 3 つのイメージがすべて含まれるようになりました。

このパッチ適用システムでは、ポッドのレプリカの数を増やすことはできません。これを行うには、次のように scale コマンドを使用します。

  1. kubectl スケール--replicas=4 デプロイメント パッチデモ 

または、次のように 0 にスケールダウンしてポッドを削除することもできます。

  1. kubectl スケール--replicas=0 デプロイメント パッチデモ 

実行中の Kubernetes サービスにパッチを適用する手順はこれだけです。このチュートリアルは非常に基本的なものですが、patch コマンドを使用すると、ほぼ何でもできることがわかります。

元のタイトル: 実行中の Kubernetes ポッドにパッチを適用する方法、著者: Jack Wallen

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  Kubernetes ベースのリリースシステムの設計

>>:  上司から分散ロックについて質問されたのですが、結果は悲惨なものでした...

推薦する

5 つ星の推奨: mediatemple-生涯半額/★★★★★

本日から5月16日(北京時間5月17​​日午後1時頃)まで、mediatempleのプレミアムWor...

LVSを深く理解する。それでも習得できないなら、私の負けです!

現在、さまざまなインターネット アプリケーションでは、ハードウェア パフォーマンス、応答速度、サービ...

#格安 VPS# cycloneservers-7 USD/kvm/4 GB RAM/4 コア/60 GB ハードドライブ/2 IP/2 TB トラフィック/シアトル

Cycloneservers は来週、VPS 割引プロモーションを実施する予定です。これは、米国西海...

2023 年に信頼できるクラウド コンピューティング サービスのトップ 5

クラウド コンピューティング サービスは、テクノロジーの世界に革命的な変化をもたらしています。オンデ...

クラウドコンピューティング AI による分割計画: 巨大企業 IBM は新しい時代を切り開くことができるか?

海外メディアのロイター通信によると、IBMは上場企業2社に分割する計画だという。 IBMは長年にわた...

タイタニック3D版公開からSEOロングテールキーワード選定について語る

タイタニック3D版公開からSEOロングテールキーワード選定について語る最近、3D版のタイタニックを観...

Baiduにインデックスされたページを同じ日にすべて翌日に削除する問題を解決

BaiduがPhoenix Nest広告計画を開始して以来、Baiduは検索エンジンにも適切な調整を...

人工知能からクラウドネイティブまで、NVIDIAはスーパーコンピューティングを開発しています

最近、今週開催された SC21 ハイパフォーマンスコンピューティングカンファレンスで発表された最新の...

HTML5が普及するには少なくとも5年かかると予想されており、現在、話題のピークを迎えている。

HTML5 は遠い夢物語でしょうか、それとも現在のモバイル インターネットの救いの手でしょうか? 1...

301 リダイレクトを使用して 404 ページを独自の外部リンクに転送することの危険性について簡単に説明します。

今日、A5で「301を使用して404エラーを外部リンクに変える方法に関する記事」という記事を見ました...

SEO三部作のキーワード戦略

企業サイトや個人ブログはそれぞれ異なるユーザー(つまり、異なるオーディエンス)に直面しています。ユー...

二級・三級都市のローカルデコレーションサイトの運営戦略とプロモーション方法

私は Changde Decoration Network を 2 年近く運営しています。私の考えを...

新しいサイトページをBaiduに素早くインデックスさせる方法

新規のウェブマスターにとって、インクルードは常に最も頭を悩ませる問題です。Google は問題ありま...