「kubectl createdeployment」を使用してデプロイメントを作成する

Kubectl Createdeployment Wo Shi Yongshitedepuroimentowo Zuo Chengsuru



Kubernetes は無料のオープンソース ディストリビューションであり、k8s とも呼ばれます。これは、コンテナ化されたソフトウェアとアプリケーションの展開、管理、スケーリングを自動化するために利用されます。ノード、コントロール プレーン、ポッド、Kubernetes デプロイメントなど、コンテナー管理のためのさまざまなコンポーネントを提供します。 Kubernetes の助けを借りて、開発者は運用タスクを簡単に自動化し、変更をロールバックし、コンテナ化されたアプリケーションとソフトウェアを監視してスケールすることができます。

このブログでは、次のことについて説明します。







Kubernetes デプロイメントとは何ですか?

Kubernetes デプロイメントは、Pod、ReplicaSet、コンテナ化されたアプリケーションなどの主要な要素に宣言的な命令と更新を提供するリソース オブジェクトと呼ばれます。 Kubernetes デプロイメントを使用すると、開発者はイメージ、ポッドの数、ポート、レプリカなどのコンテナ化されたアプリケーションを記述することができます。 Kubernetes が Docker よりも優れている主な理由の 1 つは、Kubernetes が自動修復と自動スケーリングのプロパティを提供しており、これらの状態は Kubernetes デプロイメントによって実現可能であることです。



「自動修復」メカニズムは、実行中のオブジェクトをテストし、エラーが発生した場合に最適な修正を実装し、実際の状態と望ましい状態を一致させる修正を適用するテスト自動化手法です。 「自動スケーリング」サービスでは、アプリケーションのワークロードが自動的にスケーリングされます。



デプロイメントの作成がポッドの作成よりも優れている理由は何ですか?

Kubernetes のデプロイメントにより、開発者は同じポッドのグループを共通の構成で実行し続けることが簡単にできます。対照的に、ポッドの作成中、ユーザーはポッドを個別に作成して実行する必要があります。デプロイメント中、1 つのポッドが削除または終了すると、自動修復メカニズムにより自動的に再作成され、開始されます。ただし、ポッドがデプロイメントなしで直接実行されている場合、エラーが発生した場合、ユーザーはポッドを手動で再作成して実行する必要があります。





デプロイメントにおける ReplicaSet とは何ですか?

開発者がデプロイメントを作成すると、3 つの主要コンポーネントが生成され、ReplicaSet はそのうちの 1 つです。 ReplicaSet はデプロイメントのコントローラーであり、デプロイメント内で指定された数の Pod を実行する責任があります。 1 つのポッドが削除された場合に備えて、ReplicaSet は、ポッドの実際の状態を目的の状態と一致させるために新しいポッドを再生成するよう迅速に指示します。これは主に、ポッドに宣言的な更新を提供する役割を果たします。

「kubectl createdeployment」コマンドとは何ですか?

kubectl デプロイメントを作成する 」は、Kubernetes デプロイメントを作成して開始するために使用される Kubectl ツールのコマンドです。次に、デプロイメントにより、アプリケーションのインスタンスを作成および更新する方法が Kubernetes に指示されます。



構文

kubectl デプロイメントを作成する < デプロイメント名 > - 画像 = < イメージ名 > -- < オプション =値 >


オプション

「kubectl createdeployment」コマンドは、追加の機能レイヤーを提供し、アプリケーションのインスタンスをデプロイするための追加の指示を与えるためのさまざまなオプションをサポートしています。 「」でサポートされているオプション kubectl デプロイメントを作成する 」コマンドを表形式で以下に示します。

オプション 説明
「– –allow-missing-template-keys」 この値が true に設定されている場合、テンプレートにマップ キーまたはフィールドが欠落している場合、テンプレート内のエラーは無視されます。
「– –予行演習 その値は「none」、「server」、「client」のいずれかです。値が client の場合は、送信されるオブジェクトを送信せずに表示または印刷するだけです。

値がserverの場合、サーバー側のリクエストのみが送信されます。

'- -フィールドマネージャー フィールドの所有権を追跡するために使用される管理者の名前を表示または設定します。
'- -画像 イメージ名を指定してコンテナテンプレートを指定します。
-o, “- –出力 出力形式を指定します。
'- -ポート コンテナを公開するためのポートを設定します。
-r, “- –レプリカ これは、ポッド レプリカの数を定義するために使用されます。
「- -save-config」 これは、オブジェクトの構成を注釈に保存するために使用されます。値が false の場合、注釈は変更されません。
「- -show-managed-fields」 デフォルトでは、その値は false です。ただし、これを true に設定すると、JSON または YAML 形式でオブジェクトを印刷するときに、managedFields が保持または保存されます。
「- -validate='厳密'」 その値は「strict」、「warn」、「ignore」のいずれかです。 「strict」の場合、入力が検証され、無効な場合はリクエストが失敗します。

値が「warn」の場合、重複フィールドや不明なフィールドについて警告します。

値が「ignore」の場合、スキーマ検証は実行されません。

前提条件: kubectl と minikube をインストールする

Kubernetes クラスターで Kubernetes デプロイを開始するには、まず以下のツールをシステムにインストールします。

    • Kubectl ツール: Kubectl は、Kubernetes クラスターとそのコンポーネント (Kubernetes デプロイメントなど) を制御、管理、操作するために利用される Kubernetes コマンド ライン ツールです。
    • ミニキューブツール: Minikube は、Kubernetes クラスターを起動するためにシステム上に仮想マシンを提供または作成する Kubernetes の実装システムです。単一ノードのクラスターを実行でき、主に初心者やテスト目的で使用されます。

Kubernetes の使用を開始し、「」などの重要なコンポーネントをインストールするには クベクトル ' そして ' minikube 」、リンクされた「」を参照してください。 ' 記事。

「kubectl create」コマンドを使用して Kubernetes デプロイメントを作成するにはどうすればよいですか?

Kubernetes デプロイメントは、Yaml マニフェストを適用するか、「 kubectl デプロイメントを作成する ' 指示。 「kubectl createdeployment」コマンドを使用して Kubernetes デプロイメントを作成するには、以下のデモに従います。

ステップ 1: PowerShell を実行する

まず、[スタート] メニューから管理者権限で Windows PowerShell を起動します。 minikube は HyperV を使用して仮想マシン上で Kubernetes クラスターを起動するため、管理者権限が必要です。


ステップ 2: Kubernetes クラスターを開始する

Kubernetes クラスターを開始するには、「 ミニキューブスタート ' 指示:

ミニキューブスタート



ステップ 3: Kubernetes ノードを取得する

次に、Kubernetes ノードにアクセスし、「」を使用してクラスターが起動しているかどうかを確認します。 kubectl ノードを取得する ' 指示:

kubectl ノードを取得する



ステップ 4: Kubernetes デプロイメントの作成

「k」を通じてクラスター内に新しい Kubernetes デプロイメントを作成します。 ubectl createdeployment <デプロイメント名> “- –image=<イメージ名> ' 指示。デモ用に、「nginx:stable-perl」イメージを使用してポッド内で Nginx アプリケーションを実行する「nginx-deployment」を作成しました。

kubectl createデプロイメントnginx-deployment - 画像 =nginx:安定した Perl



ステップ 5: Kubernetes デプロイメント、ReplicaSet、およびポッドを取得する

「kubectl createdeployment」コマンドは、Deployment、ReplicaSet、および Pod の 3 つのコンポーネントを作成します。 Kubernetes デプロイメントにアクセスするには、「」を実行します。 kubectl 取得デプロイ ' 指示:

kubectl 取得デプロイ


ここでは、「 nginxのデプロイメント 」は Kubernetes クラスターで利用できます。


ReplicaSet は、ポッド内のアプリケーションがエラーなく実行されていることを確認し、ブレークポイントを修復するデプロイメントのコントローラーです。 ReplicaSet にアクセスするには、「 kubectl は RS を取得します ' 指示:

kubectl は RS を取得します


ここで、ReplicaSet には、必要なポッド数と現在実行中のポッドが表示されます。


ポッドは、コンテナ化されたアプリケーションを実行する Kubernetes クラスターの小さな単位です。 Kubernetes ポッドにアクセスするには、「 kubectl ポッドを取得する ' 指示。ここで「 -O ” オプションは出力形式を指定するために使用されます。ポッドの IP アドレスを表示するには、「」を使用しました。 広い ' フォーマット:

kubectl ポッドを取得する -O 広い



ステップ 6: Kubernetes クラスターにログインする

コンテナ内で実行されているアプリケーションにアクセスするには、まず「」を使用して Kubernetes クラスターにアクセスします。 minikube ssh ' 指示:

minikube ssh



ステップ 7: Kubernetes デプロイメントで実行されているアプリケーションにアクセスする

その後は「」を活用してください。 カール 」コマンドを Pod IP アドレスとともに使用して、コンテナ化されたアプリケーションにアクセスします。

カール10.244.0.7


「kubectl createdeployment」コマンドを使用してKubernetesデプロイメントでレプリカを実行するにはどうすればよいですか?

Kubernetes デプロイメントの作成は、ポッドのレプリカを作成することでポッドのグループを一度に実行および管理できるため、ポッドを実行するよりも優れています。 「kubectl createdeployment」コマンドを使用して Kubernetes デプロイメントでレプリカを実行するには、以下の手順に従います。

ステップ 1: Kubernetes デプロイメントを作成する

まず、「」を使用してデプロイメントを作成します。 kubectl デプロイメントを作成する ”コマンドと” 「- -レプリカ ' オプション。 「replicas」オプションの値は、ReplicaSet によって管理および実行される必要なポッドの数を指定します。

kubectl createデプロイメントnginx-deployment - 画像 =nginx:安定した Perl --レプリカ = 2



ステップ 2: Kubernetes デプロイメント、ReplicaSet、およびポッドを取得する

ここで、「kubectl getdeploy」コマンドを使用して Kubernetes デプロイメントにアクセスします。

kubectl 取得デプロイ


ここでは、デプロイメントにより、準備が整った最新の使用可能なポッドの数が表示されていることがわかります。


ReplicaSet 情報にアクセスするには、次のコマンドを使用します。 ReplicaSet が、必要な数のポッドと現在実行中のポッドのステータスを表示していることがわかります。

kubectl は RS を取得します



同様に、実行中のポッドにアクセスするには、以下のコマンドを使用します。

kubectl ポッドを取得する


出力は、Kubernetes デプロイメントが Kubernetes クラスター内で必要な数のポッド レプリカを正常に実行していることを示します。

ReplicaSet はどのように機能して Kubernetes デプロイメントを制御しますか?

ReplicaSet は、デプロイメント内で必要な数の Pod を実行する役割を果たします。 1 つのポッドが故障または削除された場合、ポッドの現在のステータスを目的の状態に一致させるために、ポッドが自動的に再作成されます。このメカニズムは実際には自動修復技術を実装しています。デモンストレーションを行うには、以下の手順に従ってください。

ステップ 1: ライブ Kubernetes ポッドを表示する

まず、「」を使用してポッドのステータスをライブで表示します。 kubectl ポッドを取得 -w ' 指示。また、破損または削除されるポッドの名前にも注意してください。

kubectl ポッドを取得する -で



ステップ 2: ポッドを削除する

次に、別の PowerShell ターミナルを開き、「 kubectl delete ポッド ' 指示:

kubectl ポッドの削除 nginx-deployment-7584b4674d-hbx4f


出力は、ポッドが正常に削除されたことを示しています。


ここで、ポッドのステータスがライブになっている PowerShell ウィンドウを開きます。ここでは、ポッドを削除すると、ReplicaSet が新しいポッドを自動的に作成して実行し、現在のポッドのステータスを目的のステータスに一致させることがわかります。


「kubectl createdeployment」コマンドを使用してKubernetes Deploymentを作成する方法を説明しました。

結論

「」を使用して Kubernetes デプロイメントを作成するには kubectl デプロイメントを作成する 」コマンドを実行するには、まず、minikube や kubectl などの必須ツールをインストールします。その後、minikube を使用して新しい Kubernetes クラスターを実行します。ここで、「」を使用して新しいデプロイメントを作成します。 kubectl createdeployment<デプロイメント名> “- –image=<イメージ名> ' 指示。その後、「」を使用して Kubernetes デプロイメント、ReplicaSet、およびポッドを表示します。 kubectl すべてを取得します ' 指示。この記事では、「」を使用して Kubernetes デプロイメントを作成する方法を説明しました。 kubectl デプロイメントを作成する ' 指示。