1、HPA自動擴縮容
考題
(考試的考題內容,只有下面方框里的內容)
你必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000050
Task
在 autoscale namespace 中創建一個名為 apache-server 的新 HorizontalPodAutoscaler(HPA)。此 HPA 必須定位到 autoscale namespace 中名為 apache-
server 的現有 Deployment 。
將 HPA 設置為每個 Pod 的 CPU 使用率旨在 50% 。將其配置為至少有 1 個 Pod,且不超過 4 個 Pod 。此外,將縮小穩定窗口設置為 30 秒。
2、Ingress
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000024
如下創建新的 Ingress 資源:
名稱: echo
Namespace: sound-repeater
使用 Service 端口 8080 在 http://example.org/echo 上公開 echoserver-service Service。
可以使用以下命令檢查 echoserver-service Service 的可用性,該命令應返回 Hello World _:
candidate@master01:~$ curl http://example.org/echo
3、sidecar
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000037
Context
您需要將一個傳統應用程序集成到 Kubernetes 的日志架構(例如 kubectl logs)中。
實現這個要求的通常方法是添加一個流式傳輸并置容器。
Task
更新現有的 synergy-leverager Deployment,
將使用 busybox:stable 鏡像,且名為 sidecar 的并置容器,添加到現有的 Pod 。
新的并置容器必須運行以下命令:
/bin/sh -c “tail -n+1 -f /var/log/synergy-leverager.log”
使用掛載在 /var/log 的 Volume,使日志文件 synergy-leverager.log 可供并置容器使用。
除了添加所需的卷掛載之外,請勿修改現有容器的規范。
4、StorageClass
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000046
Task
首先,為名為 rancher.io/local-path 的現有制備器,創建一個名為 ran-local-path 的新 StorageClass
將卷綁定模式設置為 WaitForFirstConsumer
注意,沒有設置卷綁定模式,或者將其設置為 WaitForFirstConsumer 之外的其他任何模式,都將導致分數降低。
接下來,將 ran-local-path StorageClass 配置為默認的 StorageClass
請勿修改任何現有的 Deployment 和 PersistentVolumeClaim,否則將導致分數降低。
5、Service
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000022
Task
重新配置 spline-reticulator namespace 中現有的 front-end Deployment,以公開現有容器 nginx 的端口 80/tcp
創建一個名為 front-end-svc 的新 Service ,以公開容器端口 80/tcp
配置新的 Service ,以通過 NodePort 公開各個 Pod
6、Pod優先級PriorityClass
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000049
Task
請執行以下任務:
為用戶工作負載創建一個名為 high-priority 的新 PriorityClass ,其值比用戶定義的現有最高優先級類值小一。
修改在 priority namespace 中運行的現有 busybox-logger Deployment ,以使用 high-priority 優先級類。
確保 busybox-logger Deployment 在設置了新優先級類后成功部署。
請勿修改在 priority namespace 中運行的其他 Deployment,否則可能導致分數降低。
7、Argo CD
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000060
Quick Reference
文檔 Argo Helm Charts
Task通過執行以下任務在集群中安裝 Argo CD:
添加名為 argo 的官方 Argo CD Helm 存儲庫。
注意:Argo CD CRD 已在集群中預安裝。
為 argocd namespace 生成 Argo CD Helm 圖表版本 5.5.22 的模板,并將其保存到 ~/argo-helm.yaml ,將圖表配置為不安裝 CRDs 。
使用 Helm 安裝 Argo CD ,并設置發布名稱為 argocd ,使用與模板中相同的配置和版本(5.5.22) ,將
其安裝在 argocd namespace 中,并配置為不安裝 CRDs 。
注意:您不需要配置對 Argo CD 服務器 UI 的訪問權限。
8、PVC
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000047
Task
mariadb namespace 中的 MariaDB Deployment 被誤刪除。請恢復該 Deployment 并確保數據持久性。請按照以下步驟:
如下規格在 mariadb namespace 中創建名為 mariadb 的 PersistentVolumeClaim (PVC):
訪問模式為 ReadWriteOnce
存儲為 250Mi
集群中現有一個 PersistentVolume。
您必須使用現有的 PersistentVolume (PV)。
編輯位于 ~/mariadb-deployment.yaml 的 MariaDB Deployment 文件,以使用上一步中創建的 PVC。
將更新的 Deployment 文件應用到集群。
確保 MariaDB Deployment 正在運行且穩定。
9、Gateway
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000057
Task
將現有 Web 應用程序從 Ingress 遷移到 Gateway API。您必須維護 HTTPS 訪問權限。
注意:集群中安裝了一個名為 nginx 的 GatewayClass 。
首先,創建一個名為 web-gateway 的 Gateway ,主機名為 gateway.web.k8s.local ,并保持現有名為 web 的 Ingress 資源的現有 TLS 和偵聽器配置。
接下來,創建一個名為 web-route 的 HTTPRoute ,主機名為 gateway.web.k8s.local ,并保持現有名為 web 的 Ingress 資源的現有路由規則。
您可以使用以下命令測試 Gateway API 配置:
[candidate@cka000057]$ curl -Lk https://gateway.web.k8s.local:31443
最后,刪除名為 web 的現有 Ingress 資源。
10、NetworkPolicy
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000056
Task
從提供的 YAML 樣本中查看并應用適當的 NetworkPolicy。
確保選擇的 NetworkPolicy 不過于寬松,同時允許運行在 frontend 和 backend namespaces 中的 frontend 和 backend Deployment 之間的通信。
首先,分析 frontend 和 backend Deployment,以確定需要應用的 NetworkPolicy 的具體要求。
接下來,檢查位于 ~/netpol 文件夾中的 NetworkPolicy YAML 示例。
注意:請勿刪除或修改提供的示例。僅應用其中一個。否則可能會導致分數降低。
最后,應用啟用 frontend 和 backend Deployment 之間的通信的 NetworkPolicy,但不要過于寬容。
注意:請勿刪除或修改現有的默認拒絕所有入站流量或出口流量 NetworkPolicy。否則可能導致零分。
11、定制資源定義CRD
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000055
Task
驗證已部署到集群的 cert-manager 應用程序。
使用 kubectl ,將 cert-manager 所有定制資源定義(CRD)的列表,保存到 ~/resources.yaml 。
注意:您必須使用 kubectl 的默認輸出格式。請勿設置輸出格式。否則將導致分數降低。
使用 kubectl ,提取定制資源 Certificate 的 subject 規范字段的文檔,并將其保存到 ~/subject.yaml 。
注意:您可以使用 kubectl 支持的任何輸出格式。如果不確定,請使用默認輸出格式。
12、ConfigMap
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000048
Task
名為 nginx-static 的 NGINX Deployment 正在 nginx-static namespace 中運行。它通過名為 nginx-config 的 ConfigMap 進行配置。
更新 nginx-config ConfigMap 以僅允許 TLSv1.3 連接。
注意:您可以根據需要重新創建、重新啟動或擴展資源。
您可以使用以下命令測試更改:
candidate@cka000048$ curl -k --tls-max 1.2 https://web.k8snginx.local
13、Calico
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000054
文檔地址
Flannel Manifest
https://github.com/flannel-io/flannel/releases/download/v0.26.1/kube-flannel.yml
Calico Manifest
https://raw.githubusercontent.com/projectcalico/calico/v3.27.0/manifests/tigera-operator.yaml
Context
集群的 CNI 未通過安全審核,已被移除。您必須安裝一個可以實施網絡策略的新 CNI。Task
安裝并設置滿足以下要求的容器網絡接口(CNI):
選擇并安裝以下 CNI 選項之一:
Flannel 版本 0.26.1
Calico 版本 3.28.2
選擇的 CNI 必須:
讓 Pod 相互通信
支持 Network Policy 實施
從清單文件安裝(請勿使用 Helm)
14、resources cpu和memory
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000058
Context
您管理一個 WordPress 應用程序。由于資源請求過高,某些 Pod 無法啟動。
Task
relative-fawn namespace 中的 WordPress 應用程序包含:
具有 3 個副本的 WordPress Deployment
按如下方式調整所有 Pod 資源請求:
將節點資源平均分配給這 3 個 Pod
為每個 Pod 分配公平的 CPU 和內存份額
添加足夠的開銷以保持節點穩定
請確保,對容器和初始化容器使用完全相同的請求。
您無需更改任何資源限制。
在更新資源請求時,暫時將 WordPress Deployment 縮放為 0 個副本可能會有所幫助。
更新后,請確認:
WordPress 保持 3 個副本
所有 Pod 都在運行并準備就緒
15、etcd修復
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000059
Context
kubeadm 配置的集群已遷移到新機器。它需要更改配置才能成功運行。
Task
修復在機器遷移過程中損壞的單節點集群。
首先,確定損壞的集群組件,并調查導致其損壞的原因。
注意:已停用的集群使用外部 etcd 服務器。
接下來,修復所有損壞的集群組件的配置。
注意:確保重新啟動所有必要的服務和組件,以使更改生效。否則可能導致分數降低。
最后,確保集群運行正常。確保:
每個節點 和 所有 Pod 都處于 Ready 狀態。
16、cri-dockerd
考題
(考試的考題內容,只有下面方框里的內容)
您必須連接到正確的主機。不這樣做可能導致零分。
[candidate@base] $ ssh cka000051
Context
您的任務是為 Kubernetes 準備一個 Linux 系統。 Docker 已被安裝,但您需要為 kubeadm 配置它。
Task
完成以下任務,為 Kubernetes 準備系統:
設置 cri-dockerd :
安裝 Debian 軟件包 ~/cri-dockerd_0.3.6.3-0.ubuntu-jammy_amd64.deb
Debian 軟件包使用 dpkg 安裝。
啟用并啟動 cri-docker 服務
配置以下系統參數:
net.bridge.bridge-nf-call-iptables 設置為 1
net.ipv6.conf.all.forwarding 設置為 1
net.ipv4.ip_forward 設置為 1
net.netfilter.nf_conntrack_max 設置為 131072
確保這些系統參數在系統重啟后仍然存在,并應用于正在運行的系統。