手当たり次第に書くんだ

飽きっぽいのは本能

Kubernetes Deployment を使用した CentOS コンテナの実行

Kubernetes で Deployment を使用して CentOS コンテナを実行し、replicas による維持と ReplicaSet の関係を確認します。

Deployment の役割

Deployment は Pod を直接作るのではなく、望ましい状態を定義します。Pod 数、label、コンテナイメージを宣言すると、ReplicaSet を介して必要な Pod 数を維持します。

Manifest

kubectl apply -f - <<'EOF'
apiVersion: apps/v1
kind: Deployment
metadata:
  name: centos-dep
spec:
  replicas: 2
  selector:
    matchLabels:
      app: centos
  template:
    metadata:
      labels:
        app: centos
    spec:
      containers:
        - name: centos
          image: quay.io/centos/centos:stream9
          command: ["sleep", "infinity"]
EOF

確認

kubectl get deployment
kubectl get replicaset
kubectl get pod -l app=centos -o wide

自己修復の確認

POD=$(kubectl get pod -l app=centos -o jsonpath='{.items[0].metadata.name}')
kubectl delete pod ${POD}
kubectl get pod -l app=centos -w

まとめ

Deployment は「Pod を作るコマンド」ではなく「Pod の望ましい状態を維持するコントローラ」です。Kubernetes の運用では Pod 単体より Deployment を基準に考える方が自然です。

Kubernetes Deployment を使用した CentOS コンテナの実行

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る