ポッドコントローラ-DaemonSet
:このセクションでは、第二のコントローラもたらしDaemonSet
説明するために。
あなたは学ぶでしょう:何であるDaemonSet
、と彼の戦闘の設定、I固有名詞の汚れや寛容に最終的にリード、すでに基盤を持っている場合、あなたは選択の章を読むことを直接行くことができます(個人参照) 。
- DaemonSetは何ですか?
- 補足命令
- 実際の構成
- 知識サプリメント
- リマーク
DaemonSetは1.Whatありますか?
DaemonSet
規則に従うは、各ことを保証することであるnode
ノードと唯一Pod
のコントローラ。あなたは以下の点に注意してください。
- 1.新しいノードは、クラスタが追加されます合流します
Pod
- ポッドに対応する2ノードをオフラインで回収します
2.コマンドサプリメント
#可以使用kubectl get ds查看DaemonSet
[root@centos-1 mainfasts]# kubectl get ds -A
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
kube-system kube-flannel-ds-amd64 3 3 3 3 3 <none> 4d1h
kube-system kube-flannel-ds-arm 0 0 0 0 0 <none> 4d1h
kube-system kube-flannel-ds-arm64 0 0 0 0 0 <none> 4d1h
kube-system kube-flannel-ds-ppc64le 0 0 0 0 0 <none> 4d1h
kube-system kube-flannel-ds-s390x 0 0 0 0 0 <none> 4d1h
kube-system kube-proxy 3 3 3 3 3 beta.kubernetes.io/os=linux 4d1h
3.実際の構成
1)を編集しfilebeat-daemonset.yaml
、我々が作成した、filebeat
のdaemonset
日常のニーズを、各クライアントノードのノードにおけるfilebeat pod`コンテナを展開したいと思います。あなたは、に注意を払う必要があります。
logcollecting:ここでは、セレクタノードを使用して「オン」、デフォルトのノードは、このラベルではありません!
apiVersion: apps/v1 kind: DaemonSet metadata: name: filebeat-ds labels: app: filebeat spec: selector: matchLabels: app: filebeat template: metadata: labels: app: filebeat spec: containers: - name: filebeat image: prima/filebeat:6.4.2 env: - name: REDIS_HOST value: db.ikubernetes.is:6379 - name: LOG_LEVEL value: info nodeSelector: #节点选择器 logcollecting: "on" #自定义标签
2)を使用するapply -f
ローディングyaml
、観察。カスタムラベルの定義は、何の対応がないので、見つけることができるnode
ノードは、pod
一世代ではありません!
[root@centos-1 mainfasts]# kubectl apply -f filebeat-daemonset.yaml
daemonset.apps/filebeat-ds created
[root@centos-1 mainfasts]# kubectl get pod
NAME READY STATUS RESTARTS AGE
ngx-new-cb79d555-gqwf8 1/1 Running 0 29h
ngx-new-cb79d555-hcdr9 1/1 Running 0 30h
[root@centos-1 mainfasts]# kubectl get ds
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
filebeat-ds 0 0 0 0 0 logcollecting=on 8s
3)次に、我々がしようとnode01
対応するラベルが付いたノードたpod
ノードにすでに始まっスケジューリング対応を
[root@centos-1 mainfasts]# kubectl label node centos-2.shared logcollecting="on" --overwrite
node/centos-2.shared labeled
[root@centos-1 mainfasts]# kubectl get pod
NAME READY STATUS RESTARTS AGE
filebeat-ds-dlxwn 0/1 CrashLoopBackOff 1 5s
ngx-new-cb79d555-gqwf8 1/1 Running 0 29h
ngx-new-cb79d555-hcdr9 1/1 Running 0 30h
[root@centos-1 mainfasts]# kubectl get node --show-labels
NAME STATUS ROLES AGE VERSION LABELS
centos-1.shared Ready master 4d v1.16.3 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=centos-1.shared,kubernetes.io/os=linux,node-role.kubernetes.io/master=
centos-2.shared Ready <none> 4d v1.16.3 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=centos-2.shared,kubernetes.io/os=linux,logcollceting=true,logcollecting=on
centos-3.shared Ready <none> 4d v1.16.3 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=centos-3.shared,kubernetes.io/os=linux
4)タグを削除するには、次のコマンドを使用することができます
kubectl label node centos-2.shared logcollceting-
4.補足知識
ノード汚染された、スケジューリング戦略に影響を与えるだろう、私は染色と寛容は、詳細セクションで説明します。
[root@centos-1 mainfasts]# kubectl describe node centos-1.shared
Name: centos-1.shared
Roles: master
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/arch=amd64
kubernetes.io/hostname=centos-1.shared
kubernetes.io/os=linux
node-role.kubernetes.io/master=
Annotations: flannel.alpha.coreos.com/backend-data: {"VtepMAC":"6a:82:c9:37:15:dd"}
flannel.alpha.coreos.com/backend-type: vxlan
flannel.alpha.coreos.com/kube-subnet-manager: true
flannel.alpha.coreos.com/public-ip: 192.168.0.104
kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
node.alpha.kubernetes.io/ttl: 0
volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp: Mon, 25 Nov 2019 17:00:45 +0800
Taints: node-role.kubernetes.io/master:NoSchedule. #污点,pod调度的高级功能,容忍度:不允许调度至master节点
5.備考
この記事のサイトは、私の中に位置していますGithubに、私はあなたに有益な場合、プロセスの大規模およびネイティブクラウド技術の知識と実践的な操作で共有するように設計、すべてのトピックは、ドッキングウィンドウ、K8S、CEPH、istioとプロメテウス含め、来る更新していきます、続くスターと私のgithubのを転送し、これは私の更新電力共有、外出先で、あなたに感謝してください〜