DeamonSetとは

  • ReplicaSetと似てる
  • 各ノードにPodを1つづつ確実に配置する
  • ReplicaSetでは指定した数上がってればよくてどのノードで起動するかはk8sがよしなに決める
  • 1ノードに2Podずつの配置もできる
  • Podを配置したくないNodeがあるときはnodeSelector,Node Anti-Affinityを使う

コンフィグファイル

sample-ds.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: sample-ds
spec:
  selector:
    matchLabels:
      app: sample-app
  template:
    metadata:
      labels:
        app: sample-app
    spec:
      containers:
        - name: nginx-container
          image: nginx:1.12

deploy

kubectl apply -f sample-ds.yaml

各ノードへきれいにばらけて配置される

ノードは2つ

kubectl get nodes

出力結果

NAME                           STATUS ROLES  AGE   VERSION
ip-172-16-109-200.ec2.internal Ready  <none> 4h48m v1.11.10-eks-17cd81
ip-172-16-117-100.ec2.internal Ready  <none> 4h48m v1.11.10-eks-17cd81
kubectl get pods sample-ds-sr6gh -o wide

Podその1

NAME              READY   STATUS    RESTARTS   AGE    IP              
sample-ds-sr6gh   1/1     Running   0          112s   172.16.112.125 
 
NODE                  NOMINATED NODE  READINESS GATES 
ip-172-16-117-100.ec2.internal   <none>           <none>
Podその2
kubectl get pods sample-ds-txhrv -o wide
NAME              READY   STATUS    RESTARTS   AGE     IP              
 
sample-ds-txhrv   1/1     Running   0          2m46s   172.16.109.101 

NODE                  NOMINATED NODE  READINESS GATES 
ip-172-16-109-200.ec2.internal   <none>           <none>

<スポンサーリンク>

コメントを残す

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

*

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