Skip to content

⚙️ 核心元件測驗

1. virt-operator 監聽哪個 Port 提供 Metrics 與 Leader Election 服務?

  • A. 8182
  • B. 8185
  • C. 8186
  • D. 8443

2. 安裝 KubeVirt 時,哪個元件是「唯一需要手動部署」的?

  • A. virt-controller
  • B. virt-api
  • C. virt-handler
  • D. virt-operator

3. virt-operator 的 Leader Election 使用哪種 Kubernetes 資源,且 Lease Duration 為多少秒?

  • A. ConfigMap,30 秒
  • B. Endpoint,15 秒
  • C. Kubernetes Lease,15 秒
  • D. Kubernetes Lease,30 秒

4. virt-operator 的預設 Rate Limiting QPS 與 Burst 各是多少?

  • A. QPS=30,Burst=50
  • B. QPS=50,Burst=100
  • C. QPS=100,Burst=200
  • D. QPS=10,Burst=20

5. virt-operator 升級 KubeVirt 版本時,新版本的 Install Strategy 以哪種 Kubernetes 資源形式儲存?

  • A. Secret
  • B. ConfigMap
  • C. CRD annotation
  • D. Deployment label

6. KubeVirt CR 的 status.phase 在所有元件都就緒後,會顯示什麼值?

  • A. Running
  • B. Ready
  • C. Deployed
  • D. Available

7. virt-api 的 Mutating Webhook 預設會將 VMI 的 terminationGracePeriodSeconds 補齊為多少秒?

  • A. 60 秒
  • B. 120 秒
  • C. 180 秒
  • D. 300 秒

8. virt-api 的 Mutating Webhook 在 x86 架構下,預設補齊的 domain.machine.type 是什麼?

  • A. pc
  • B. i440fx
  • C. q35
  • D. virt

9. virt-api 提供 HTTPS 服務的對外 Port 是多少?

  • A. 6443
  • B. 8080
  • C. 8443
  • D. 443

10. virt-api 預設的 Rate Limiting QPS 與 Burst 分別是多少?

  • A. QPS=50,Burst=100
  • B. QPS=20,Burst=40
  • C. QPS=30,Burst=50
  • D. QPS=10,Burst=30

11. virt-api 使用哪種機制驗證請求者是否有權限執行特定操作(例如連接 console)?

  • A. JWT Token 驗證
  • B. Kubernetes SubjectAccessReview
  • C. mTLS 憑證驗證
  • D. API Key 比對

12. virt-api 的 Validating Webhook 會驗證哪些安全性限制?

  • A. 禁止使用超過 8 個 CPU 核心
  • B. 普通用戶不能使用 hostPID 或 hostNetwork
  • C. 禁止使用 PVC 作為根磁碟
  • D. 強制所有 VM 必須使用 virtio 網卡

13. virt-controller 中,VMI 控制器的 Worker Goroutine 數量是多少,為何設定較高?

  • A. 3 個,因為 VMI 操作簡單
  • B. 6 個,與 Snapshot 控制器相同
  • C. 10 個,因為 VMI 事件最頻繁
  • D. 16 個,因為需要高並發

14. virt-controller 的 Leader Election 設定中,Renew Deadline 是多少秒?

  • A. 5 秒
  • B. 10 秒
  • C. 15 秒
  • D. 20 秒

15. virt-controller 的 Metrics Port 是多少?

  • A. 8182
  • B. 8185
  • C. 8186
  • D. 8443

16. virt-controller VM 控制器中,RunStrategy 設為 RerunOnFailure 代表什麼行為?

  • A. 永遠確保 VMI 存在,即使手動停止也重啟
  • B. 只要使用者沒有 stop request 就持續執行
  • C. VM 失敗或 VMI 不存在時自動重啟
  • D. VM 只執行一次,完成後不再重啟

17. virt-controller 的 Work Queue 失敗重試機制採用哪種策略,最長退避時間為何?

  • A. 固定間隔 5 秒重試,無上限
  • B. 指數退避,最長不超過 16 秒
  • C. 指數退避,最長不超過 60 秒
  • D. 線性退避,每次加 2 秒

18. virt-handler 的部署型態是什麼,且每個節點部署幾個?

  • A. Deployment,每個節點 2 個(High Availability)
  • B. DaemonSet,每個 Linux 節點 1 個
  • C. StatefulSet,每個節點 1 個
  • D. ReplicaSet,整個叢集共 3 個

19. virt-handler 需要哪些特殊的 Pod 安全設定?

  • A. runAsRoot: true,hostIPC: true
  • B. hostPID: true,hostNetwork: true
  • C. privileged: true,allowPrivilegeEscalation: true
  • D. seccompProfile: Unconfined,hostPID: true

20. virt-handler 與 virt-launcher 通訊時,Unix Domain Socket 的路徑格式是什麼?

  • A. /var/run/kubevirt/{VMI-Name}/cmd-server.sock
  • B. /var/run/kubevirt-private/{VMI-UID}/cmd-server.sock
  • C. /tmp/kubevirt/{VMI-UID}/grpc.sock
  • D. /run/kubevirt/launcher/{namespace}/cmd.sock

21. virt-handler 負責 VM 網路設定的哪個階段,為什麼?

  • A. Phase 2(Unprivileged),因為不需要特殊權限
  • B. Phase 1(Privileged),因為需要 CAP_NET_ADMIN 修改 Pod network namespace
  • C. Phase 0(Pre-flight),在 Pod 建立前先行設定
  • D. Phase 3(Post-boot),在 VM 啟動後設定

22. virt-handler 在節點上加上的哪個標籤表示該節點可以排程 VM?

  • A. node.kubernetes.io/vm-ready=true
  • B. kubevirt.io/schedulable=true
  • C. kubevirt.io/enabled=true
  • D. vm.kubevirt.io/node=active

23. virt-handler 執行 Migration 時,預設的並行通道(multifd)數量是多少?

  • A. 4
  • B. 6
  • C. 8
  • D. 16

24. virt-handler 進行 Live Migration 時,目標節點網路介面的選擇優先順序為何?

  • A. 先用 eth0,再用 migration0
  • B. 先用 Pod IP,再用 migration0
  • C. 先用 migration0(專用遷移網路),再用 Pod 網路
  • D. 只使用 Pod 網路,不支援專用遷移網路

25. virt-launcher 是以哪種 Kubernetes 資源型態運行,且數量與 VMI 的關係為何?

  • A. DaemonSet,整個叢集一個
  • B. Deployment,每個 namespace 一個
  • C. Pod,每個執行中的 VMI 一個
  • D. StatefulSet,根據副本數動態調整

26. virt-launcher 啟動 VM 的預設超時時間(defaultStartTimeout)是多少?

  • A. 1 分鐘
  • B. 2 分鐘
  • C. 3 分鐘
  • D. 5 分鐘

27. virt-launcher 啟動後,如何通知 virt-handler 它已就緒可以接受指令?

  • A. 透過 HTTP healthz endpoint 回傳 200
  • B. 更新 Pod 的 label kubevirt.io/ready=true
  • C. 重新命名 ready file(socket),讓 virt-handler 偵測到
  • D. 傳送 gRPC Ready 訊號給 virt-handler

28. virt-launcher 的 Guest Agent 輪詢間隔是多少,可以取得哪類資訊?

  • A. 每 5 秒,只取得網路介面資訊
  • B. 每 10-30 秒,取得 OS 資訊、網路介面、檔案系統、登入使用者等
  • C. 每 60 秒,只取得 CPU 與記憶體使用量
  • D. 每 1 分鐘,取得完整 VM 狀態快照

29. virt-launcher 執行 VM 網路設定的哪個階段,其主要工作是什麼?

  • A. Phase 1,建立 bridge 與 veth pair
  • B. Phase 2(Unprivileged),讀取 Phase 1 快取並注入 domain XML,以及啟動 DHCP server
  • C. Phase 0,設定 CNI 網路插件
  • D. Phase 3,在 VM 啟動後更新 MAC 地址

30. virt-launcher 的 libvirt 連線本地超時(LibvirtLocalConnectionTimeout)是多少秒?

  • A. 5 秒
  • B. 10 秒
  • C. 15 秒
  • D. 30 秒

基於 Apache 2.0 授權