実行中の 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 ベースのリリースシステムの設計

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

推薦する

クラウドコンピューティングで最も人気のある6つの用語を一度に理解する

クラウド コンピューティングの概念は比較的抽象的かもしれません。一般的に言えば、クラウド コンピュー...

Virmach のニューヨーク データ センターの AMD シリーズ VPS の簡単なレビュー

ニューヨークは、virmach の新しい AMD シリーズ VPS の 9 番目のデータ センターで...

Dex を使用して Kubernetes 認証を実装する方法の詳細な説明

Kubernetes は現在最も広く使用されているオープンソースのコンテナ オーケストレーション プ...

史上最も包括的な分散データベースの概要

[[331009]] 1. はじめに従来のデータベース技術の成熟度が高まり、コンピュータ ネットワー...

ウェブサイトの SEO のプロセスで初心者はどのような問題に遭遇するでしょうか?

ウェブサイトの SEO を行う過程で、特に初めて SEO に触れる場合は、何らかの問題に必ず遭遇しま...

ChinaHR.com は「獣の戦い」に陥っている: Giant Beast Investment は 7 年間利益を上げていない

ベヒーモスは捕らえられた獣になることを望んでいません。世界最大の求人サイトであるMonster Wo...

音楽ウェブサイトは、著作権者から今後5日以内に有料サービスを試すよう圧力を受けている。

新浪科技は6月3日朝、ユニバーサル、ソニー、ワーナーの3大レコード会社が先月、国内の主流インターネッ...

Weiboマーケティングを行う際には、次の5つの点に注意する必要があります

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス企業であれ個人であれ、W...

エッジコンピューティングを計画する際に企業が事前に考慮する必要があるいくつかの問題

IoT アプリケーションでは、データの処理、分析、および保存は、ユーザーやデバイスが情報にアクセスす...

ポピュラーサイエンス |クラウドコンピューティング、ビッグデータ、人工知能のわかりやすい入門

[[358116]]今日はクラウド コンピューティング、ビッグ データ、人工知能についてお話します。...

ウェブマスターの経験:問題を見つけて解決できれば成功します

私は13年間のオンライン経験を持つ古いネットユーザーです。趣味でウェブマスターとして5、6年間働いて...

Yalo-2.5 USD / 512M RAM / 100G HDD / 10Tフロー

yalo.io は、2009 年に設立されたと主張しています (実際の状況は確認できません)。Goo...

SEO変革は諦めることを意味するものではない

1. コンテンツコンテンツといえば、誰もが迷わずオリジナルと言うのではないでしょうか。皆さんはオリジ...

ウェブフロントエンドデザイナー必読の2つの体験

Web フロントエンド デザインは、常に人材不足の業界です。実践者には、しっかりとした理論的知識基盤...