シンプルなアプリのデプロイ
kubectlを使って、基本的なコンテナ化アプリケーションをMinikubeクラスターにデプロイします。
「シンプルなアプリのデプロイ」はCoddyKit上の無料Kubernetes Basicsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはKubernetes Basics学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Kubernetes Basicsコースには全4レッスンが含まれています。
Kubernetesで最初のアプリを動かす
ようこそ。このレッスンでは、大きな一歩として、Minikubeクラスターに初めてアプリケーションをデプロイします。
強力なコマンドラインツールであるkubectlを使い、コードから実行中のサービスになるまでアプリの流れを管理します。

Deploymentの概要
Kubernetesでは、アプリケーションを実行するようクラスターに指示するためにDeploymentを使います。
- 同一のアプリケーションのコピー(Pod)の集合を管理します。
- 指定した数のコピーが常に実行されるようにします。
- アプリのインスタンスに対する設計図兼管理者のようなものです。
`kubectl`でデプロイする
アプリを実行する最も簡単な方法は、kubectl create deploymentコマンドを使うことです。
Deploymentの名前と、実行するコンテナイメージを指定するだけで済みます。あとはKubernetesが処理します。
最初のDeploymentを作成する
シンプルなNginx Webサーバーをデプロイしましょう。このコマンドは、nginx Dockerイメージを使ってnginx-deploymentという名前のDeploymentを作成するようKubernetesに指示します。
kubectl create deployment nginx-deployment --image=nginx
Minikubeが実行されている環境のターミナルで、このコマンドを実行してください。
Deploymentを確認する
コマンドを実行すると、Kubernetesは必要なリソースの作成を開始します。状態は次のコマンドで確認できます。
- Deploymentを確認する:
kubectl get deployments - Deploymentによって作成されたPodを確認する:
kubectl get pods
nginx-deploymentと、それに対応するPodを探してみましょう。
Serviceが重要な理由
NginxのPodは実行中ですが、ユーザーはどのようにアクセスすればよいのでしょうか。
- PodのIPアドレスは一時的なものです。
- Podは停止して置き換えられることがあり、その場合は新しいIPアドレスが割り当てられます。
- Serviceは安定したネットワークエンドポイントを提供し、Podへのゲートウェイとして機能します。
Podが作成されたり削除されたりしても、正常なPodに常にトラフィックが届くようにします。
アプリケーションを公開する
Nginxにアクセスできるようにするため、kubectl exposeを使ってServiceを作成します。Deployment名とポートを指定します。
kubectl expose deployment nginx-deployment --type=NodePort --port=80
これにより、外部トラフィックをNginxのPodのポート80へルーティングするServiceが作成されます。
ローカルでアプリにアクセスする
NginxのDeploymentがServiceによって公開されたので、Minikubeを使ってアクセスできます。
次のコマンドを実行すると、MinikubeがNginx Webサーバーを開くブラウザーウィンドウを表示します。
minikube service nginx-deployment
「Welcome to nginx!」というページが表示されるはずです。
クラスターをクリーンアップする
不要になったリソースをクリーンアップするのはよい習慣です。これにより、Minikubeクラスターのリソースを解放できます。
- Serviceを削除する:
kubectl delete service nginx-deployment - Deploymentを削除する(Podも削除されます):
kubectl delete deployment nginx-deployment
必ずServiceを先に削除し、その後でDeploymentを削除してください。
クイックチェック
アプリケーションのデプロイと公開に成功しました。busyboxイメージを使ってmy-appという名前のアプリをまずデプロイし、その後ポート8080でNodePort Serviceとして公開するには、どのようなkubectlコマンドの順序を使いますか。
まとめ:アプリが稼働中です
おめでとうございます。Minikubeを使って、Kubernetes上で最初のアプリケーションのデプロイ、公開、アクセスに成功しました。
kubectl create deploymentを使ってコンテナを実行しました。kubectl expose deploymentを使ってService経由でアクセスできるようにしました。minikube serviceでアクセスし、kubectl deleteでクリーンアップしました。
これでKubernetesの習得に一歩近づきました。
よくある質問
「シンプルなアプリのデプロイ」レッスンは無料ですか?
はい。「シンプルなアプリのデプロイ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Kubernetes Basicsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Kubernetes Basicsコースには全4レッスンが含まれています。
「シンプルなアプリのデプロイ」で何を学びますか?
kubectlを使って、基本的なコンテナ化アプリケーションをMinikubeクラスターにデプロイします。 ブラウザで直接実行するハンズオンコードでKubernetes Basicsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Kubernetes Basicsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのKubernetes Basicsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「シンプルなアプリのデプロイ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このKubernetes Basicsレッスンでコードを書いて実行できますか?
はい。すべてのKubernetes Basicsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。