Kubernetes でノードを作成する方法

Kubernetes Denodowo Zuo Chengsuru Fang Fa



Kubernetes は、Kubernetes クラスター内でコンテナー化されたアプリケーションを実行するコンテナー オーケストレーション プラットフォームです。 Kubernetes クラスターは、ノード、コントローラー、ポッド、コンテナーなどのさまざまなコンポーネントで構成されます。 Kubernetes の処理はすべてノード内で行われるため、ノードは不可欠なコンポーネントです。

この投稿では次のことを説明します。

Kubernetes ノードとは何ですか?

Kubernetes ノードは、ポッドを使用してコンテナ化されたアプリケーションを実行する Kubernetes クラスターのコア コンポーネントです。 Kubernetes クラスターには、マスター ノード (コントロール プレーン) とスレーブ ノード (ワーカー ノード) の 2 種類のノードが含まれています。







マスター ノードはクラスターに関する決定を行い、ワーカー ノードを管理します。どのノードコンテナが実行されるかをスケジュールして決定し、サービスと API を公開し、スレーブノードと通信する責任があります。対照的に、スレーブ ノードはマスター ノードの指示に従ってすべての Kubernetes 処理を実行しました。その主な作業は、コンテナ化されたアプリをポッド内にデプロイすることです。複数のポッドを実行でき、各ポッドは複数のコンテナを実行および管理できます。





前提条件: Docker のインストールと起動

Kubernetes クラスターを実行するために、ユーザーはさまざまなコンポーネントを使用できますが、クラスターは仮想マシン内またはコンテナー内で実行できます。 Kubernetes クラスターとそのノードをコンテナー内で実行するには、ユーザーは Docker などのコンテナー ランタイムをインストールする必要があります。 Windows に Docker をインストールして実行するには、「」に従ってください。 Windows に Docker デスクトップをインストールする方法 ' 記事。





Minikube Kubernetes クラスターにノードを作成するにはどうすればよいですか?

Minikube は、Kubernetes クラスターを迅速にセットアップして実行するクラスター実装ツールです。システム上で Kubectl (Kubernetes CLI ツール) と minikube ツールを入手するには、リンクされた記事「 Kubernetes と Kubectl を始める方法 ”。 minikube でノードを作成するには、まずシステム上で Docker を実行します。その後、以下の手順に従ってください。

ステップ 1: Minikube クラスターを開始する

PowerShell を管理者として起動します。その後、「」を使用してKubernetesクラスターを実行します。 ミニキューブスタート ' 指示:



ミニキューブスタート

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

実行中の minikube クラスターのノードにアクセスするには、「 kubectl ノードを取得する ” kubectl コマンド:

kubectl ノードを取得する

ステップ 3: Minikube クラスターに新しいノードを作成する

minikube クラスターに新しいノードを追加または作成するには、「 minikube node add ' 指示。ここで「 -p 」オプションは、ノードが追加される minikube クラスターのプロファイルまたは名前を指定するために使用されます。

minikube node add -p minikube

ステップ 4: 検証

確認のため、Kubernetes ノードに再度アクセスします。

kubectl ノードを取得する

ここでは、minikube Kubernetes クラスターに新しいノードを効果的に作成して追加したことがわかります。

ステップ 5: ノードのステータスを確認する

minikube クラスター ノードのステータスを確認するには、以下のコマンドを使用します。

ミニキューブのステータス

ここでは、新しいノードが minikube クラスター内で効果的に実行されていることがわかります。

ボーナス ヒント: Minikube Kubernetes クラスターにノードを手動で作成する

残念ながら、Kubectl ツールには、Kubernetes でノードを作成するための直接コマンドが提供されていません。ただし、ユーザーは、すでに実行されているノードの構成にアクセスして、新しいノードを構築できます。その後、ユーザーは「」を作成できます。 ヤムル 」ファイルを使用してノードを作成し、すでに実行中のノードの構成を貼り付けて編集します。適切なデモンストレーションを行うには、以下の手順に従ってください。

ステップ 1: 既存のノードを編集する

すでに実行中のノードの構成にアクセスするには、「 kubectl 編集ノード <ノード名> ' 指示:

kubectl edit node minikube-m02

ステップ 2: ノード構成をコピーする

上記のコマンドを実行すると、ノード yaml 構成がメモ帳またはデフォルトで選択されたエディターで開きます。 「」を押します。 CTRL+A 」を押してすべてのノード構成を選択し、「」を押します。 CTRL+C ” をコピーするには:

ステップ 3: 新しい Yaml ファイルを作成する

次に、「」という名前の yaml ファイルを作成します。 ノード.yml 」を使用し、コピーした命令を「」を使用してファイルに貼り付けます。 CTRL+V ”。以下で強調表示されている不要な命令を削除します。

ノードの名前を変更し、「」を削除します。 UID このアドレスはすでに実行中のノードによって占有されているため、「」キーを押して IP アドレスを変更します。また、「」も削除してください。 スペック 構成のセクション:

ステップ 4: 新しいノードを作成する

その後、「」を適用します。 ノード.yml ” ファイルを編集し、以下のコマンドを使用して minikube クラスターに新しいノードを手動で作成します。

kubectl 適用 -f ノード.yml

ステップ 5: 検証

確認のために、minikube クラスター ノードを再度リストします。

kubectl ノードを取得する

ここでは、新しいノードが minikube Kubernetes クラスターに正常に追加されたことがわかります。

Kind Kubernetes クラスターでノードを作成するにはどうすればよいですか?

The Kind も、Kubernetes クラスターの実行と操作に使用される、人気のオープンソース ツールです。各クラスター ノードは別個の Docker コンテナーで実行されます。これは、単一マシンでのローカル開発とテストの目的で使用されます。

Kind Kubernetes クラスターにノードを作成するには、まずシステム上で Docker を起動します。その後、Kind ツールをシステムにインストールし、次の手順に従って Kubernetes クラスターを起動します。

ステップ 1: 種類ディレクトリを作成する

システムに Kind ツールをインストールするには、まず「」に移動します。 C ” ディスクドライブを介して” CD ' 指示。その後、「」という名前の新しいディレクトリを作成します 親切 ”を使用して” mkdir ' 指示:

CD C:\

mkdir 親切

ここで、以下の結果は、「」にディレクトリが正常に作成されたことを示しています。 C ' ドライブ:

ステップ 2: 種類をインストールする

以下のコマンドを実行して、バイナリから種類をインストールします。

カール.exe -それ kind-windows-amd64.exe https: // kind.sigs.k8s.io / ダウンロード / v0.20.0 / 種類-windows-amd64

次に、Kind バイナリ実行可能ファイルを新しく作成した「 親切 」 指定されたコマンドを使用してディレクトリに移動します。

項目の移動 .\kind-windows-amd64.exe c:\kind\kind.exe

ステップ 3: パス変数を設定する

ターミナルから Kind ツールのコマンドにアクセスするには、ユーザーはそのインストール パスを環境変数に追加する必要があります。種類のパス環境変数を永続的に設定するには、以下のコマンドを使用します。

setx パス '%PATH%;C:\種類'

ステップ 4: ノード構成ファイルの作成

次に、マルチノード Kubernetes クラスターを実行します。これを行うには、「」という名前のファイルを作成します。 ノード.config ”:

次のスニペットをファイルに追加します。

種類: クラスター

apiバージョン: kind.x-k8s.io / v1アルファ4

ノード:

- 役割: コントロールプレーン

- 役割: 労働者

- 役割: 労働者

上記の命令の説明は次のとおりです。

  • 親切 ”はクラスターを指定します。
  • ノード ” キーはクラスター内のノードを設定するために使用されます。
  • 役割 ノードの下の「」はノードのタイプを指定します。ここでは、1 つのマスター (コントロール プレーン) ノードと 2 つのスレーブ (ワーカー) ノードを作成したことがわかります。

ステップ 5: マルチノードクラスターを作成して実行する

次に、「」が保存されているディレクトリに移動します。 ノード.config ” ファイルが作成されます。

CD C:\ユーザー\Dell\Documents\Kubernetes\Nodes

「」を使用して新しいマルチノード クラスターを作成します。 種類がクラスターを作成する ' 指示。ここ、 ' -名前 ” はクラスター名の設定に使用され、” –config 」は、クラスターまたはノード構成ファイルにアクセスするために使用されます。

種類がクラスターを作成する - 名前 =マルチノード --config =node.config

上記のコマンドは、「」からクラスター構成を読み取ります。 ノード.config ” ファイルを作成し、それに応じてクラスターを作成します。

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

次に、「」を使用して Kind クラスター ノードにアクセスします。 kubectl ノードを取得する ' 指示:

kubectl ノードを取得する

ここでは、1 つのコントロール プレーンと 2 つのワーカー ノードが正常に作成されたことがわかります。これらすべてのノードは、別個の Docker コンテナーで実行されます。

ステップ 7: ノード構成ファイルを変更する

Kind Kubernetes クラスターに新しいノードを作成するには、以下に示すようにノード構成ファイルを変更し、新しいロールを追加します。

注記: Kind では、実行時に新しいノードを追加または作成することはできません。つまり、実行中のクラスターに新しいノードを追加することはできません。新しいノードを追加するには、ユーザーはクラスターを削除し、「 構成 ” ファイルに必要なノード数を追加し、クラスターを再作成します。

ステップ 8: クラスターの削除

Kubernetes クラスターを削除するには、「 種類削除クラスター ” ノードと” -名前 」オプションを使用して、削除する必要があるクラスターの名前を指定します。

種類削除クラスター - 名前 =マルチノード

ステップ 9: 変更されたマルチノード クラスターを作成する

次に、以下のコマンドを使用してクラスターを再度作成します。

種類がクラスターを作成する - 名前 =マルチノード --config =node.config

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

確認のため、「」を使用して Kubernetes ノードにアクセスします。 kubectl ノードを取得する ' 指示:

kubectl ノードを取得する

以下の出力は、新しいノードを効果的に追加し、マルチノードの種類の Kubernetes クラスターを実行したことを示しています。

K3d Kubernetes クラスターにノードを作成するにはどうすればよいですか?

k3d は、別の k3s (Rancher Lab) 製品であり、Docker 上で直接実行される Kubernetes ディストリビューションです。 Docker 上で単一ノードおよびマルチノードの Kubernetes クラスターを簡単に作成および運用できます。これは主に、Kubernetes のローカル開発とデプロイメントに使用されます。

k3d をシステムにインストールしてクラスターを起動するには、次の手順を実行します。

ステップ 1: k3d をインストールする

まず、k3d は Chocolatey Windows プレインストール パッケージを使用してシステムに簡単にインストールできます。 Chocolatey を使用して Windows に k3d をインストールするには、次のコマンドを使用します。

チョコ インストール k3d

ステップ 2: 検証

k3d がシステムにインストールされているかどうかを確認するには、「 k3d –ヘルプ ' 指示:

k3d - ヘルプ

出力は、k3d が Windows に正常にインストールされたことを示しています。

ステップ 3: マルチノード k3d Kubernetes クラスターを作成して実行する

次に、「」を使用して k3d マルチノード Kubernetes クラスターを実行します。 k3d クラスター作成 <クラスター名> ' 指示:

k3d クラスターでマルチノードを作成する --エージェント 2 --サーバー 1

ここ、 ' –エージェント ” はワーカーノードの数を指定し、” –サーバー ” マスター (コントロール プレーン) ノードの数を指定します。

ステップ 4: ノードのリストを作成する

クラスターを作成した後、「」を実行します。 k3dノードリスト ' 指示:

k3dノードリスト

ここで、以下の出力は、3 つのクラスター ノードが実行されており、1 つはサーバー (マスター) ノードで、他の 2 つはエージェント (ワーカー) ノードであることを示しています。

ステップ 5: K3d クラスターに新しいノードを作成する

幸いにも、k3d クラスターを使用すると、クラスターの実行中に新しいノードを作成できました。 k3d Kubernetes クラスターに新しいノードを作成するには、「 k3d node create <ノード名> <タイプ> –cluster <クラスター名> ' 指示:

k3d ノード作成デモノード - 役割 エージェント - 集まる マルチノード

ステップ 6: 検証

新しいノードが Kubernetes クラスターに追加されたかどうかを確認するには、以下のコマンドを使用します。

k3dノードリスト

出力は、新しいノードが効果的に追加され、マルチノード k3d Kubernetes クラスターで実行されていることを示しています。

K3d Kubernetes クラスターからノードを削除するには?

K3d クラスター ノードを削除するには、「 k3d ノード削除 <ノード名> ' 指示:

k3d ノードの削除 k3d-demo-node- 0

Kubectl ツールを使用してノードを削除するにはどうすればよいですか?

Kubectl ツールを使用して Kubernetes ノードを削除するには、「 kubectl delete ノード <ノード名> ' 指示:

kubectl delete node minikube-m03

Kubernetes クラスター内に新しいノードを作成する方法は以上です。

結論

残念ながら「」はありません。 kubectl ノードの作成 」コマンドを使用して、Kubernetes にノードを作成します。ローカル開発用に Kubernetes クラスターを実行できるすべてのツールには、新しいノードを作成して開始するためのさまざまな手順とコマンドがあります。 minikube では、「」を使用します。 minikube node add ' 指示。 Kind Kubernetes クラスターでは、ユーザーがクラスターを再作成する必要があるたびに、構成ファイルを使用して新しいノードを追加します。 k3d で、「」を使用して新しいノードを作成します。 k3d ノード作成 <ノード名> <タイプ> ' 指示。 Kubernetes クラスター内にノードを作成する方法について説明しました。