Kubernetes で Deployment を使用して CentOS コンテナを実行し、replicas による維持と ReplicaSet の関係を確認します。
参考
書籍
書籍
参考書籍
Kubernetes完全ガイド 第2版
Kubernetes の仕組み、リソース、ネットワーク、運用観点を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
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 コンテナの実行



