Kubectl 自動スケール コマンド

Kubectl Zi Dongsukeru Komando



Kubernetes は、人間の介入なしでリソースを自動的に管理する自動スケーリング機能を提供します。オートスケール機能により、必要に応じてノード数が自動的に変更され、リソースが節約されます。この記事では、「kubectl autoscale」コマンドと「horizo​​ntalPodScaler」自動スケーリングをデプロイする方法を学びます。このチュートリアルでは、この重要な概念について詳しく説明します。まず kubectl の自動スケールの概念について説明し、その後、より深く理解するために段階的なプロセスに進みましょう。この記事は、Kubernetes 自動スケーリングの概念を初めて使用する場合に非常に役立ちます。

Kubectl オートスケールとは何ですか?

自動スケーリングは Kubernetes クラスターの主な機能であり、手動で行う手間をかけずにリソースを自動的に更新します。要求の厳しいリソースを手動で更新するのは、非常に時間とリソースを浪費するプロセスです。 Kubernetes 自動スケーリングは、リソースを最適化するための自動機能を提供します。

オートスケーラーは、要件に応じてノードの数を作成および破棄できます。自動スケールにより、リソースの無駄が削減されます。 Kubectl 自動スケールは、Kubernetes クラスター内で現在実行されているポッドを自動的に選択します。







スケーリングには、(1) 水平スケーラーと (2) 垂直スケーラーの 2 種類があります。水平スケーラーは垂直スケーラーとは異なります。 horizo​​ntalPodScaler は、必要に応じてポッドを増減するのに役立ちます。一方、垂直スケーラーは CPU やメモリなどのリソースを使用します。



ここでは、システムで実行できるすべての手順を示し、出力を確認して理解を深めます。



ステップ 1: Minikube クラスターの開始

最初のステップでは、minikube ツールを起動して Kubernetes クラスターを実行し、「kubectl autoscale」コマンドを実行できるようにします。 minikube クラスターを使用して、Kubernetes 環境でノード、ポッド、さらにはクラスターをセットアップできます。これを行うには、次のコマンドを使用して minikube をアクティブ モードに保ちます。





~$ ミニキューブを開始する

次の出力スクリーンショットでわかるように、このコマンドは minikube クラスターを有効にし、Kubernetes 環境を使用できるようにします。

ステップ 2: ポッドの詳細を取得する

このステップでは、Kubernetes クラスターは正常に実行されています。ここで、クラスター内のポッドの詳細を取得します。 Kubernetes のポッドは、リソースを共有するユニットの集合です。 minikube クラスターで次のコマンドを実行すると、次のスクリプトが実行されます。

~$ kubectl ポッドを取得する

前述のコマンド「kubectl get pods」を使用すると、Kubernetes クラスターで実行されているすべてのポッドのリストを取得できます。

「get pods」コマンドを実行すると、次の出力が得られます。

  コンピューター プログラムのスクリーンショット 信頼度が低く自動的に生成された説明

ステップ 3: ポッドのデプロイメントを取得する

前の「kubectl get pods」コマンドでは、ポッドの詳細を取得しました。次に、「getdeployment」コマンドを使用して、作成されたデプロイメントのリストを取得します。この目的のために次のスクリプトが実行されます。

~$ kubectl のデプロイメントの取得

コマンドを実行した後の、次のスクリーンショットは出力を示しています。

ステップ 4: 自動スケール展開

autoscale コマンドは、クラスター内で実行されるポッドの自動選択を行うために使用されます。クラスターに自動スケールをデプロイすることにより、いくつかのノードが自動的に挿入および終了されます。次のスクリプトは minikube クラスターで実行され、ファイル名、最小ポッド数、最大ポッド数 (ポッドは 2 ~ 10 の間である必要がある) を表示します。

~$ kubectl 自動スケーリング デプロイメント nginx1-deployment1 --分 = 2 --最大 = 10

コマンドを実行すると、次の出力が生成されます。

ステップ 5: Kubernetes YAML ファイルを作成する

このステップでは、クラスター内に YAML ファイルを作成する方法を学習します。 YAML ファイルは、デプロイメントとアプリケーションのテストに役立ちます。 Kubernetes には、ファイルを作成および編集するためのさまざまな種類があります。

この記事では、「nano」コマンドを使用して YAML ファイルを作成します。これが最も簡単な方法であり、初心者にとって最適な方法であるためです。

ここで指定された手順に従って、nano を使用して YAML ファイルを作成します。

  • 新しいファイルを作成するか、既存のファイルを変更するには、目的のディレクトリの場所に移動します。
  • 「ナノ」と入力します。その後、ファイル名を書きます。たとえば、新しいファイル名を作成する場合は、「deploo.yaml」という名前を書き留めます。

次のスクリプトを実行し、プロジェクト ディレクトリに YAML ファイルを作成します。

~$ nano deploo.yaml

「deploo.yaml」ファイルを作成したら、次のステップは YAML ファイルを構成することです。次のステップで説明します。

ステップ 6: YAML ファイルの内容

このステップでは、Apache サーバーと PHP ファイルを簡単に構成できます。 horizo​​ntalPodScaler を使用する前に、ワークロード モニターを構成する必要があります。次のコードに kind:deployment が示されているように、Web ブラウザのポートは 90、CPU 制限は 200m です。

「deploo.yaml」ファイルの完全な情報はここで確認できます。

APIバージョン : アプリ/v1
親切
: 導入
metadata
:
名前
: php
スペック
:
セレクタ
:
マッチラベル
:
走る
: php-apache
レンプレート
:
metadata
:
ラベル
:
走る
: php-apache
スペック
:
コンテナ
:
- 名前
: php
画像
: registry.k8s.io/hpa-example
ポート
:
- コンテナポート
: 90
資力
:
限界
:
CPU
: 200m
リクエスト
:

CPU
: 100メートル
---
APIバージョン
: v1
親切
: サービス
metadata
:
名前
: php
ラベル
:
走る
: php-apache
スペック
:
ポート
:
- ポート
: 70
セレクタ
:
走る
: php-apache

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

このステップでは、「deploo.yaml」という名前の YAML ファイルを作成しましょう。次のスクリプトは minikube クラスターで実行されます。

~$ kubectl create -f deploo.yaml

実行した前述のコマンドの出力は、次のスクリーンショットで確認できます。出力は、YAML ファイルが作成されたことを示します。

ステップ 8: horizo​​ntalPodScaler を作成する

このステップでは、horizo​​ntalPodAutoscaler を作成するコマンドを示します。ポッドは、要求に応じて自動的に挿入および終了されます。これは、CPU とメモリのリソースが自動スケールによって割り当てられる垂直スケーリングとは異なります。次のスクリプトは minikube クラスターで実行されます。

~$ kubectl 自動スケーリング デプロイメント php -- CPU - パーセント = 50 -- = 10 –最大 = 二十

ここでは、最小値と最大値の値を 10 と 20 に設定していることがわかります。

前のコマンドの出力を添付します。

ステップ 9: horizo​​ntalPodScaler を確認する

このステップでは、新しく作成した horizo​​ntalPodAutoscaler の現在の状態を確認します。次のコマンドが実行されます。

~$ kubectl は HPA を取得します

結論

Kubernetes の最も便利な機能の 1 つは、Kubernetes クラスター内のリソースの自動更新を提供する「kubectl autoscale」です。オートスケーラーは、クラスターでポッドを増やす必要がある場合、またはポッドを減らす必要がある場合に役立ちます。この記事では、2 つの自動スケール方法について学びました。1 つはデフォルトのオートスケーラーで、もう 1 つは horizo​​ntalPodScaler です。

まず、ポッドをデプロイして宣言しました。次に、オートスケーラーを作成し、horizo​​ntalPodScaler の前にワークロード モニターをデプロイするように Apache サーバーを構成しました。その後、YAML ファイルと horizo​​ntalPodScaler を作成しました。この記事では、自動スケール Kubernetes の作成、構成、デプロイの詳細な手順に焦点を当てました。