Kubernetes デプロイメントを作成する

Kubernetes Depuroimentowo Zuo Chengsuru



Kubernetes のデプロイメントは、コンテナー化されたアプリケーションを持つポッドのインスタンスを変更または作成する方法を Kubernetes が認識できるようにするツールを表します。デプロイメントは、スケーリングされた数のポッド レプリカを実行し、必要に応じて以前のデプロイメントに戻すことができ、更新されたコードのロールアウトも処理できます。

手順

この記事では、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 で特定のアプリケーションを実行しました。