Kubernetes ストレージ クラスの使用方法

Kubernetes Sutoreji Kurasuno Shi Yong Fang Fa



この記事では、Kubernetes のストレージと、アプリケーションで Kubernetes のストレージ クラスを使用してより適切に実装する方法について説明します。このチュートリアルでは、例を使用してすべてを説明します。このチュートリアルの目的は、Kubernetes でストレージ クラスを簡単に定義し、ストレージ クラスの目的、標準ストレージ クラスとは何か、さまざまなコマンドを使用して Kubernetes ですべてのストレージ クラスを取得する方法を理解できるようにトレーニングすることです。 Kubernetes ストレージ クラスに関するさらに興味深いことを効率的に学習する準備をしてください。

Kubernetes ストレージ クラスとは?

Kubernetes には、マスター ノードとワーカー ノードの 2 つのノードがあります。 Kubernetes サーバー ランタイムの状態は、マスター ノードによって維持されます。すべてのクライアント ノードはマスター ノードを使用して、オンコールで Kubernetes コンテナーを構成および管理します。マスター ノードは、API サーバー、スケジューラ、レジストリ、ストレージなどのさまざまなコンポーネントから製造されています。

Kubernetes ストレージ クラスは、ストレージ Kubernetes コンポーネントに含まれています。 Kubernetes ストレージ クラスは、Kubernetes クラスターで永続ボリューム (PV) を動的にプロビジョニングできるメカニズムです。 Kubernetes ストレージは、管理者が定義するさまざまなクラスに分割されており、これらのクラスをポッドでさまざまな目的に使用します。ストレージ クラスは、Kubernetes のストレージ コンポーネントのプロパティも指定できます。これらのプロパティは、速度、ファイル システムのタイプ、サービス レベルの品質、バックアップなどです。







それでは、実行されたコマンドを使用して、このトピックをよりよく理解しましょう。



前提条件:

Linux と Ubuntu の最新バージョンがシステムにインストールされていることを確認してください。 Kubernetes がシステムにインストールされています。 Linux と Kubernetes での作業方法と、Kubernetes に関連する Linux へのライブラリのインストール方法についてのアイデアが必要です。 Windows を使用している場合は、Virtual Box をインストールし、仮想マシンを作成して、システム上で仮想的に Linux を実行します。 Linux で使用される kubectl コマンド ラインに関する情報が必要です。



Kubernetes ストレージ クラスの使用方法

提供されるストレージの「クラス」を評価するために、Kubernetes の管理者はストレージ クラスを使用できます。 Kubernetes ストレージ クラスは、さまざまなタイプのストレージ タイプを定義するために使用されます。これらのストレージ クラス タイプにより、さまざまなエンド ユーザーがそれぞれの作業需要に合わせて特定のストレージ クラス タイプを要求できます。ここでは、次のセッションで、理解を深めるために関連する例の添付のスクリーンショットを使用して、Kubernetes でストレージ クラスを使用する方法のプロセス全体を説明します。トピック全体をさまざまなステップで説明します。





ステップ 1: ローカル Kubernetes マシンを開始する

最初に、コマンドを実行してローカルの Kubernetes クラスターを開始し、そこでさらにポッドを作成してタスクを実行します。 Kubernetes では、コンテナーやポッドに関連するローカル プロセスの処理に minikube が使用されます。次のコマンドを入力します。

> ミニキューブを始める



コマンドが実行されると、以前に添付されたスクリーンショットの結果が表示されます。これにより、minikube コンテナーが Kubernetes で正常に作成され、操作を簡単に実行できることが保証されます。 minikube の初期化に関連する以前の情報を注意深く読んでください。

ステップ 2: ストレージ クラスがデフォルトでシステムにインストールされているかどうかを確認する

このステップでは、定義済みまたはデフォルトのストレージ クラスがシステムにインストールされていることを確認する方法を学習します。確認のために、次のコマンドを実行します。

> kubectl get sc

kubectl の助けを借りて、コマンドでストレージ クラスを取得します。 sc はストレージ クラスを表します。理解を深めるために、コマンドと受け入れられた結果のスクリーンショットがこのステップに添付されています。

ご覧のとおり、このコマンドは、Name、Provisioner、Reclaim Policy、volumebindingmode、AllowVolumeExpansion、Age などの正確なデータを含むさまざまなパラメーターを返します。ストレージ クラスの名前は 1 つだけに絞り込みました。ストレージ クラスの名前は、「デフォルト ステータスの標準」です。デフォルト ステータスは、このストレージ クラスに事前定義された値またはデフォルト値があることを示しています。

ステップ 3: 標準ストレージ クラスの説明

このステップでは、Kubernetes のデフォルトのストレージ クラスについて説明します。 Standard は常にデフォルトのストレージ クラスです。ユーザーからの PVC 仕様がない場合、このストレージ クラスは PV を提供するためにデプロイされます。次に、ストレージ タイプの詳細を確認します。次のコマンドを実行します。

> kubectl describe storageclass standard

このコマンドの実行後、次の添付のスクリーンショットでわかるように、標準ストレージ タイプに関する詳細が表示されます。

  自動生成されたテキスト説明

前のスクリーンショットのコマンドの出力は、異なるパラメーターを持ち、これが既定のストレージ クラスであることを示しています。

ステップ 4: Kubernetes のストレージ クラスのリスト

最後のステップでは、ストレージ クラスのリストを再度取得して、システムで実行されているストレージ クラスの種類を確認します。同じコマンドをもう一度実行して、システム内のすべてのストレージ クラスを表示します。次のコマンドを実行します。

> kubectl get storageclass

このコマンドを実行すると、ストレージ クラスのリストが表示されます。次のスクリーンショットでは、標準のストレージ クラスを取得しています。このストレージ タイプのプロビジョナーは「k8s.io/minikube-hostpath」、ReclaimPolicy は「Delete」、VolumeBindingMode は「Immediate」、AllowVolumeexpansion は「false」、このストレージ クラスの age は「110d」です。このコマンドは、このタイプのストレージ クラス データを提供します。

必要に応じて、ストレージ クラスのタイプを削除および変更することもできます。 Kubernetes は、これらすべての機能を提供して、作業の効率を向上させます。

結論

ここでは、すべてのノードにストレージ クラス タイプがあり、すべてのユーザーがタスクを簡単に実行できるため、StorageClass 機能によってすべてのユーザーの生活が楽になると結論付けています。ストレージ クラスとその使用方法について詳しく説明しました。また、ストレージ クラスの種類についても説明しました。ストレージ クラスのタイプは異なります。この Kubernetes フレームワークは、ユーザーがワークロードに応じてストレージ クラス タイプを削除および変更できるこのタイプの機能を提供します。これらのコマンドをシステムで練習して、理解を深めることができます。