このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
サービスの定義ファイルからPodの作成と動作確認
Kubernetesにおいて、デプロイメントを利用してPodを作成した後、次に行う作業がサービスの作成です。サービスは、作成されたPodと外部の通信を可能にするための設定を行うもので、特にWebアプリケーションなどの場合、ブラウザからアクセスできるようにする重要な役割を担っています。サービスを作成することで、クライアントがPodにアクセスでき、アプリケーションが正常に動作しているかどうかを確認できるようになります。
サービスの作成と動作確認の手順
- デプロイメントが完了した後のサービス作成
デプロイメントでPodが作成されたら、次にそのPodに外部からアクセスできるようにサービスを作成します。サービスの定義ファイルを用いて設定を行い、Kubernetesクラスタに反映します。 - 使用するファイル
サービスを作成するための定義ファイルはservice.yml
という名前で既に保存しています。このファイルにサービスの種類(NodePortなど)、ポート番号、ターゲットとなるPodなどの設定が記述されています。 - 使用するコマンド
kubectl apply -f service.yml
: サービスの定義ファイルをクラスタに適用するコマンドです。kubectl get service
: 作成されたサービスの一覧を表示し、サービスが正常に作成されたことを確認します。
サービスの作成手順とWebブラウザでの動作確認
サービスの定義ファイルからサービスを作成して、WebブラウザでApacheサーバに接続して動作確認を行っていきます。
1.Docker desktopとPowerShellの起動します。
まず、Docker desktopを起動して、コンテナ管理環境を準備します。次にPowerShellを起動し、作業ディレクトリに移動して「apache」ディレクトリに移動します。
PS C:\Users\joeac> cd desktop\kubernetes
PS C:\Users\joeac\Desktop\kubernetes> cd apache
PS C:\Users\joeac\Desktop\kubernetes\apache>
2.サービスの定義ファイルの適用します。
service.yml
ファイルをKubernetesクラスタに反映させるために、以下のコマンドを実行します。
PS C:\Users\joeac\Desktop\kubernetes\apache> kubectl apply -f service.yml
service/apache-ser created
3.サービスが作成されているかを確認します。
以下のコマンドで、作成されたサービスが正常に動作しているかを確認します。
PS C:\Users\joeac\Desktop\kubernetes\apache> kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
apache-ser NodePort 10.99.125.24 <none> 8099:30080/TCP 70s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 46h
4.Webブラウザでアクセスして動作確認します。
サービスが正しく作成されたら、Webブラウザを開いてURLに「http://localhost:30080/」を入力してアクセスします。
これにより、Apacheの初期画面が表示されれば、サービスが正常に動作していることが確認できます。
まとめ
サービスの定義ファイルを使ってPodへの外部アクセスを管理することで、Webアプリケーションなどのサービスが外部からアクセスできるようになります。サービスはPodのライフサイクルを管理する重要なコンポーネントの一つであり、動作確認までの手順を正確に行うことが重要です。