このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

定義ファイルを記述する手順(Pod)

 Kubernetesにおいて、リソースを管理するためには、定義ファイル(マニフェストファイル)が必要です。定義ファイルはYAML形式で記述され、Podやサービスの設定内容を記述します。今回はApacheコンテナを作成するためのPodの定義ファイルを作成していきます。この定義ファイルは、後に作成するデプロイメントのファイルでも利用されるため、重要な基礎ステップとなります。

Podの定義ファイルの書き方

Podの定義ファイルを作成する際には、まず、以下の大項目を設定します。

  1. apiVersion: APIのバージョンを指定します。
  2. kind: リソースの種類を指定します。
  3. metadata: Podの名前やラベルといったメタ情報を設定します。
  4. spec: 実際のコンテナ構成などの詳細を記述します。
作成するPodとコンテナの情報
項目
APIグループとバージョンv1 (グループはなし)
リソースの種類Pod
Podの名前apache-pod
ラベルapp: apache
コンテナの名前apache-container
元となるイメージhttpd
コンテナポートcontainerPort: 80
作成するPodとコンテナの情報
Podの定義ファイル名と置く場所
項目
podの定義ファイル名pod.yml
ファイルを置く場所C:\Users\ユーザー名\Desktop\kubernetes\apache
Podの定義ファイル名と置く場所

【作成手順】Podの定義ファイル

 ここでは、コンテナの作成では定番のApacheコンテナを作成するためのPodの定義ファイルを作成していきます。

 作成する「pod.yml」ファイルは、後でデプロイメントの定義ファイルを作成するときに利用します。

【STEP1】「pod.yml」ファイルを作成する。

・PowerShellを起動し、作業ディレクトリに移動します。

PS C:\Users\joeac> cd desktop\kubernetes
PS C:\Users\joeac\Desktop\kubernetes>

・「apache」というディレクトリを作成します。

PS C:\Users\joeac\Desktop\kubernetes> mkdir apache

    Directory: C:\Users\joeac\Desktop

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2024/09/15    22:42                apache

・「apache」ディレクトリに移動して、VSCodeを使って「pod.yml」ファイルを作成します。

PS C:\Users\joeac\Desktop\kubernetes> cd apache 
PS C:\Users\joeac\Desktop\kubernetes\apache> code pod.yml

VSCodeが起動します。

【STEP2】大項目を並べます。

必要な大項目(apiVersion, kind, metadata, spec)を並べます。

以下のように入力します。

apiVersion:
kind:
metadata:
spec:
【STEP3】apiVersionkind を設定します。

apiVersionに「v1」、kindに「Pod」を入力します。

以下のように入力します。

apiVersion: v1
kind: Pod
metadata:
spec:
【STEP4】metadata の設定値を入力します。

 metadataの値として、Podの名前(name)を設定します。名前は「apache-pod」とします。また、ラベル(labels)として「app: apache」を設定します。

以下のように入力します。

apiVersion: v1
kind: Pod
metadata:
  name: apache-pod
  labels:
    app: apache
spec:
【STEP5】spec の設定値を入力します。

 specに作成したいコンテナの情報(name、image、ports)を設定します。nameは「apache-container」、imageは「httpd」、portsは「containerPort: 80」を指定します。

以下のように入力します。

apiVersion: v1
kind: Pod
metadata:
  name: apache-pod
  labels:
    app: apache
spec:
  containers:
    - name: apache-container
      image: httpd
      ports:
        - containerPort: 80
【STEP6】保存します。

 ファイルを保存します。保存した「pod.yml」は、デプロイメントの定義ファイルの作成時に利用します。

まとめ

 この手順で作成したPodの定義ファイルは、Kubernetesにおけるリソース管理の基本です。Podの定義を理解することで、デプロイメントやサービスの作成がスムーズに行えるようになります。特にYAML形式での記述が重要であり、スペースの扱いに注意することが大切です。