共計 1442 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要為大家展示了“如何設置 Kubernetes 的 Master 節點運行應用 pod”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“如何設置 Kubernetes 的 Master 節點運行應用 pod”這篇文章吧。
使用 kubeadm 部署高可用 Kubernetes 1.17.0 設置了三個 Master 節點,然后在部署 Heketi 過程中發現,Daemonset 不啟動相應的 pod。原來需要設置 Kubernetes 的 Master 節點參與應用調度(默認安裝 Master 節點不運行應用)。有兩種方法:
長期改變節點的屬性,允許 Master 運行應用,執行:
kubectl taint nodes --all node-role.kubernetes.io/master-
臨時允許 Master 節點執行應用,在應用的 yaml 文件中添加:
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
我這里測試使用:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd-elasticsearch
namespace: test
labels:
k8s-app: fluentd-logging
spec:
selector:
matchLabels:
name: fluentd-elasticsearch
template:
metadata:
labels:
name: fluentd-elasticsearch
spec:
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
containers:
- name: fluentd-elasticsearch
image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2
resources:
limits:
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
volumeMounts:
- name: varlog
mountPath: /var/log
- name: varlibdockercontainers
mountPath: /var/lib/docker/containers
readOnly: true
terminationGracePeriodSeconds: 30
volumes:
- name: varlog
hostPath:
path: /var/log
- name: varlibdockercontainers
hostPath:
path: /var/lib/docker/containers
然后保存為 test.yaml,運行:kubectl apply -f test.yaml,pod 被建立起來。
如果沒有 tolerations 的設置,雖然運行成功,但 pod 僅在 worker 節點運行,如果只有 master 節點,則不會啟動 pod。
以上是“如何設置 Kubernetes 的 Master 節點運行應用 pod”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!