このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
定義ファイルを記述する手順(Pod)
Kubernetesにおいて、リソースを管理するためには、定義ファイル(マニフェストファイル)が必要です。定義ファイルはYAML形式で記述され、Podやサービスの設定内容を記述します。今回はApacheコンテナを作成するためのPodの定義ファイルを作成していきます。この定義ファイルは、後に作成するデプロイメントのファイルでも利用されるため、重要な基礎ステップとなります。
Podの定義ファイルの書き方
Podの定義ファイルを作成する際には、まず、以下の大項目を設定します。
- apiVersion: APIのバージョンを指定します。
- kind: リソースの種類を指定します。
- metadata: Podの名前やラベルといったメタ情報を設定します。
- spec: 実際のコンテナ構成などの詳細を記述します。
作成するPodとコンテナの情報
項目 | 値 |
---|---|
APIグループとバージョン | v1 (グループはなし) |
リソースの種類 | Pod |
Podの名前 | apache-pod |
ラベル | app: apache |
コンテナの名前 | apache-container |
元となるイメージ | httpd |
コンテナポート | containerPort: 80 |
Podの定義ファイル名と置く場所
項目 | 値 |
---|---|
podの定義ファイル名 | pod.yml |
ファイルを置く場所 | C:\Users\ユーザー名\Desktop\kubernetes\apache |
【作成手順】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】apiVersion
と kind
を設定します。
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形式での記述が重要であり、スペースの扱いに注意することが大切です。