備戰CKA,每日一題 | 第2天

  • 2019 年 11 月 25 日
  • 筆記

從昨天開始,正式開始備戰CKA考試。看了看昨天考題留言,答題的有十多個,只有2個答對了。

昨日考題

以下 Daemonset yaml 中,哪些是正確的?(多選)

A. apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd-elasticsearch namespace: default labels: k8s-app: fluentd-logging spec: selector: matchLabels: name: fluentd-elasticsearch template: metadata: labels: name: fluentd-elasticsearch spec: containers: - name: fluentd-elasticsearch image: gcr.io/fluentd-elasticsearch/fluentd:v2.5.1 restartPolicy: NeverB. apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd-elasticsearch namespace: default labels: k8s-app: fluentd-logging spec: selector: matchLabels: name: fluentd-elasticsearch template: metadata: labels: name: fluentd-elasticsearch spec: containers: - name: fluentd-elasticsearch image: gcr.io/fluentd-elasticsearch/fluentd:v2.5.1 restartPolicy: OnfailureC. apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd-elasticsearch namespace: default labels: k8s-app: fluentd-logging spec: selector: matchLabels: name: fluentd-elasticsearch template: metadata: labels: name: fluentd-elasticsearch spec: containers: - name: fluentd-elasticsearch image: gcr.io/fluentd-elasticsearch/fluentd:v2.5.1 restartPolicy: AlwaysD. apiVersion: apps/v1 kind: DaemonSet metadata: name: fluentd-elasticsearch namespace: default labels: k8s-app: fluentd-logging spec: selector: matchLabels: name: fluentd-elasticsearch template: metadata: labels: name: fluentd-elasticsearch spec: containers: - name: fluentd-elasticsearch image: gcr.io/fluentd-elasticsearch/fluentd:v2.5.1

昨日答案

CD

昨日解析

在考試時,只允許有考試網站和k8s官網兩個標籤頁。所以平常學習時,儘可能去找官網文檔去學習,官網才是最權威的。也可以用書籤記錄下有用的k8s文檔網站https://kubernetes.io/

看到這個問題,如果不確定,直接打開daemonset的官網說明文檔,見以下鏈接:

https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/

A Pod Template in a DaemonSet must have a RestartPolicy equal to Always, or be unspecified, which defaults to Always. Daemonset里的pod Template下必須有RestartPolicy,如果沒指定,會默認為Always

restartPolicy 字段,可選值為 Always、OnFailure 和 Never。默認為 Always。一個Pod中可以有多個容器,restartPolicy適用於Pod 中的所有容器。restartPolicy作用是,讓kubelet重啟失敗的容器。

另外Deployment、Statefulset的restartPolicy也必須為Always,保證pod異常退出,或者健康檢查 livenessProbe失敗後由kubelet重啟容器。https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment

Job和CronJob是運行一次的pod,restartPolicy只能為OnFailure或Never,確保容器執行完成後不再重啟。https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

今日考題

在Kubernetes PVC+PV體系下通過CSI實現的volume plugins動態創建pv到pv可被pod使用有哪些組件需要參與?

A. PersistentVolumeController + CSI-Provisoner + CSI controller pluginB. AttachDetachController + CSI-Attacher + CSI controller pluginC. Kubelet + CSI node plugin