Pod
同じPod内のContainerはネットワークとストレージを共有する
Podは一時的なリソースである
永続的なものではない
必要に応じて気軽に再作成されるイメージを持つmrsekut.icon
Pod単体は直接管理しない
作ろうと思えば直接作れるが、
動物によって変わる「群れ」の呼び方
https://gyazo.com/30b9a5847f4652f40ca64a5f1ac40f19
クジラ(Docker)の群れはpodと言うらしい
GPT-4.icon
2. Pod の構成要素
Podは以下のようなリソースを含みます。
1. コンテナ(Containers)
Pod の中に含まれるアプリケーションコンテナ(通常1つだが、複数でも可)。
例えば nginx のようなWebサーバを含める。
2. ネットワーク(Networking)
Pod 内のコンテナは、同じIPアドレス を持つ。
Podごとに個別のIPアドレス が付与され、外部からアクセスできる。
3. ストレージ(Storage)
Pod内のコンテナでボリュームを共有 できる(例:PersistentVolume)。
4. メタデータ
Podの名前、ラベル、アノテーションなど。
---
3. Podのライフサイクル
Pod は 永続的なものではなく、一時的なもの です。
🔹 ライフサイクルのステータス
table:table
ステータス 説明
------------ -------------------------
Pending スケジューリング中(まだ実行されていない)
Running すべてのコンテナが実行中
Succeeded すべてのコンテナが正常終了
Failed コンテナが異常終了
Unknown 状態が不明(ネットワーク障害など)
---
4. Podの作成方法
Kubernetes では、 kubectl コマンドを使用して Pod を作成できます。
1. 簡単なPodを作成
code:sh
kubectl run mypod --image=nginx
mypod という名前の Pod を作成
nginx イメージを使用
2. マニフェストファイルを使ったPodの定義
YAML 形式で Pod を定義し、適用することもできます。
code:yaml
apiVersion: v1
kind: Pod
metadata:
name: mypod
labels:
app: web
spec:
containers:
name: nginx-container
image: nginx
ports:
containerPort: 80
適用方法
code:sh
kubectl apply -f mypod.yaml