手順
この記事では、Kubernetes のデプロイを作成する方法の実践的なデモンストレーションを示します。 Kubernetes を使用するには、まず、Kubernetes を実行できるプラットフォームがあることを確認する必要があります。これらのプラットフォームには、Google クラウド プラットフォーム、Linux/Ubuntu、AWS などが含まれます。言及されたプラットフォームのいずれかを使用して、Kubernetes を正常に実行できます。
例 # 01
この例では、Kubernetes でデプロイを作成する方法を示します。 Kubernetes の展開を開始する前に、最初にクラスターを作成する必要があります。これは、Kubernetes が複数のコンピューター クラスターにまたがるコンテナーのアプリケーションの実行を管理および調整するために使用されるオープン ソース プラットフォームであるためです。 Kubernetes のクラスターには、2 つの異なるタイプのリソースがあります。各リソースにはクラスター内でそれぞれの機能があり、これらは「コントロール プレーン」と「ノード」です。クラスター内のコントロール プレーンは、Kubernetes クラスターのマネージャーとして機能します。
これにより、アプリケーションのスケジューリング、アプリケーションの望ましい状態の維持または維持、新しい更新の制御、アプリケーションの効率的なスケーリングなど、クラスター内で可能なすべてのアクティビティが調整および管理されます。
Kubernetes クラスターには 2 つのノードがあります。クラスター内のノードは、仮想マシンまたはベア メタル形式 (物理) のコンピューターのいずれかであり、その機能は、マシンがクラスターで動作するように機能します。すべてのノードには独自の kubelet があり、Kubernetes クラスターのコントロール プレーンと通信し、ノードも管理します。したがって、クラスターの機能は、Kubernetes にアプリケーションをデプロイするときはいつでも、Kubernetes クラスターのコントロール プレーンにコンテナーを開始するように間接的に指示します。次に、コントロール プレーンによって、コンテナーが Kubernetes クラスターのノードで実行されます。
次に、これらのノードは、コントロール パネルによって公開される Kubernetes の API を介してコントロール プレーンと調整します。また、これらはエンド ユーザーが Kubernetes クラスターとのやり取りに使用することもできます。
物理コンピューターまたは仮想マシンのいずれかに Kubernetes クラスターをデプロイできます。 Kubernetes から始めるには、ローカル システムでの仮想マシンの動作を可能にし、Windows、Mac、Linux などの任意のオペレーティング システムで使用できる Kubernetes 実装プラットフォーム「MiniKube」を使用できます。また、開始、ステータス、削除、停止などのブートストラップ操作も提供します。次に、このクラスターを作成し、最初の Kubernetes デプロイを作成しましょう。
展開には、システムに事前にインストールされている Minikube を使用します。作業を開始するには、最初に minikube が機能しており、適切にインストールされているかどうかを確認します。これを行うには、ターミナル ウィンドウで次のコマンドを次のように入力します。
$ minikube versionコマンドの結果は次のようになります。
次に、次のようにコマンドなしで minikube を起動しようとします。
$ ミニキューブを始める
上記のコマンドに従って、minikube は別の仮想マシンを開始し、その仮想マシンで Kubernetes クラスターが実行されます。これで、ターミナルで実行中の Kubernetes クラスターができました。クラスター情報を検索または知るには、「kubectl」コマンド インターフェイスを使用します。そのために、コマンド「kubectl version」を入力して、kubectl がインストールされているかどうかを確認します。
$ kubectl バージョン
kubectl がインストールされ、構成されています。また、クライアントとサーバーに関する情報も提供します。現在、Kubernetes クラスターを実行しているため、kubectl コマンドを「kubectl cluster-info」として使用して詳細を知ることができます。
$ kubectl クラスター情報
コマンド「kubectl get nodes」を使用して、Kubernetes クラスターのノードを確認しましょう。
$ kubectl でノードを取得
クラスターには 1 つのノードしかなく、そのステータスは準備完了です。これは、このノードがアプリケーションを受け入れる準備ができていることを意味します。
ここで、Kubernetes API を処理し、Kubernetes クラスターとやり取りする kubectl コマンド ライン インターフェイスを使用してデプロイを作成します。新しいデプロイメントを作成するときは、アプリケーションのイメージとアプリケーションのコピー数を指定する必要があります。デプロイメントを作成すると、これを呼び出して更新できます。 Kubernetes で実行する新しいデプロイメントを作成するには、コマンド「Kubernetes create deployment」を使用します。これに対して、デプロイメントの名前とアプリケーションのイメージの場所を指定します。
これで、新しいアプリケーションがデプロイされました。上記のコマンドは、アプリケーションを実行できるノードを探しましたが、この場合は 1 つしかありませんでした。ここで、コマンド「kubectl get deployments」を使用してデプロイメントのリストを取得すると、次の出力が得られます。
$ kubectl はデプロイメントを取得します
プロキシ ホストでアプリケーションを表示して、ホストと Kubernetes クラスター間の接続を確立します。
プロキシは 2 番目のターミナルで実行され、ターミナル 1 で指定されたコマンドが実行され、その結果がサーバーのターミナル 2 に表示されます: 8001。
ポッドは、Kubernetes アプリケーションの実行単位です。ここでは、ポッド名を指定して API 経由でアクセスします。
結論
このガイドでは、Kubernetes でデプロイを作成する方法について説明します。 Minikube Kubernetes 実装でデプロイを実行しました。最初に Kubernetes クラスターの作成方法を学び、次にこのクラスターを使用してデプロイを作成し、Kubernetes で特定のアプリケーションを実行しました。