日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2021年CKA考试真题(二)

發布時間:2023/12/18 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2021年CKA考试真题(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

直通車

  • 2021年CKA考試真題(二)
  • 2021年CKA考試真題(三)
  • 2021年CKA考試真題(四)
  • 2021年CKA考試模擬題(五)
  • 2021年CKA考試模擬題(六)
  • 2021年CKA考試模擬題(七)
  • 2021年CKA考試模擬題(八)
  • 2021年CKA考試模擬題(九)
  • 2021年CKA考試模擬題(十)
  • 2021年CKA考試模擬題(十一)

前言

上一篇文章跟大家介紹了關于CKA考試相關的準備資料,以及一些經驗,本章開始將帶大家來一起進入真題練習。

本章考點

  • RBAC,參考:RBAC
  • NetworkPolicy,參考:NetworkPolicy
  • Voulme,參考:volumes

考試真題


(一)

Create a service account name dev-sa in default namespace, dev-sa can create below components in dev namespace:

  • Deployment
  • StatefulSet
  • DaemonSet

解題思路

本題目考測RBAC,題意是創建一個service account,該service account具有在命名空間dev下創建Deployment, StatefulSet, DaemonSet的權限。我們首先應創建符合題目要求的service account以及role,然后再通過role binding進行授予權限,注意題目提及到兩個命名空間。

答案

  • 首先我們創建一個serviceaccount
  • ## 創建名為dev-sa的service account $ kubectl create sa dev-sa -n default
  • 接下來給該SA賦予指定權限
  • ## 創建能create 以上三個組件的role,在dev的namespace下 $ kubectl create role sa-role -n dev \ --resource=deployment,statefulset,daemonset --verb=create ## 創建role binding,授予service account權限 $ kubectl create rolebinding sa-rolebinding -n dev \ --role=sa-role --serviceaccount=default:dev-sa
  • 最后可以通過以下命令,來驗證是否成功。如果返回yes,則證明可以,否則反之。
  • $ kubectl auth can-i create deployment -n dev \ --as=system:serviceaccount:default:dev-sa YES

    (二)

    Create a pod name log, container name log-pro use image busybox, output the important information at /log/data/output.log. Then another container name log-cus use image busybox, load the output.log at /log/data/output.log and print it. Note, this log file only can be share within the pod.

    解題思路

    本題目考測pod概念和volume,題意是創建具有兩個容器的pod,其中一個容器向/log/data/output.log寫入一些信息,另外一個容器則要把該log文件加載到應用中并輸出。需要注意的是,題目有說到這log文件僅允許在當前pod中使用,因此我們用emptyDir來解決問題。題目沒有提及namespace,則默認選擇default。

    答案

  • 首先通過run命令輸出yaml文件,再在其基礎上去修改。
  • $ kubectl run log --image=busybox --dry-run=client -oyaml \ > log-pod.yaml

    我們得到了以下的文件

    apiVersion: v1 kind: Pod metadata:creationTimestamp: nulllabels:run: logname: log spec:containers:- image: busyboxname: logresources: {}dnsPolicy: ClusterFirstrestartPolicy: Always

    根據題目修改,vim log-pod.yaml 最終得到

    apiVersion: v1 kind: Pod metadata:creationTimestamp: nulllabels:run: logname: log spec:containers:- image: busyboxname: log-pro# busybox一定要執行sleep命令command: ["sh","-c","echo important information >> /log/data/output.log;sleep 1d"]volumeMounts:- name: date-logmountPath: /log/dataresources: {}- image: busyboxname: log-cuscommand: ["sh","-c","cat /log/data/output.log;sleep 1d"]volumeMounts:- name: date-logmountPath: /log/datadnsPolicy: ClusterFirstrestartPolicy: Alwaysvolumes:- name: date-logemptyDir: {}

    通過命令查看log-cus是否有print出期望的日志

    $ kubectl logs log -c log-cus #也可以通過以下命令,查看容器內是否創建了log文件 $ kubectl exec -it log -c log-pro -- cat /log/data/output.log

    (三)

    Only pods that in the internal namespace can access to the pods in mysql namespace via port 8080/TCP.

    解題思路

    本題目考測network policy,題意為只有在命名空間為internal的pod,才可以通過TCP協議8080端口訪問到在命名空間為mysql的pod,因此使用NP的ingress來解答。

    答案

  • 我們可以基于官方文檔network policy 的定義來進行修改,其中podSelector是NP生效應用的對象,from.namespaceSelector是指可以訪問的來源對象。
  • apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata:name: cka-networknamespace: mysql spec:## 這里pod selector不填,則默認選擇它所在命名空間下的所有podpodSelector: {}policyTypes:- Ingressingress:- from:- namespaceSelector:matchLabels:## 這里配置的label,如果命名空間internal沒有該標簽,則應先給它加上ns: internalports:- protocol: TCPport: 8080
  • 查看internal的命名空間是否具有上面文件定義的標簽ns=internal
  • #查看命名空間的標簽,是否存在label ns=internal $ kubectl get namespace --show-labels

    沒有則創建,其實這里大家可以隨便定義標簽,只要能對應上定義文件的namespaceSelector即可。

    $ kubectl label namespace internal ns=internal
  • 最后創建NP
  • #創建network policy $ kubectl apply -f networkPolicy.yaml

    我們遇到關于Network policy的題目時,一定要先理解清楚題意,再來決定用的是ingress或egress。

    總結

    以上是生活随笔為你收集整理的2021年CKA考试真题(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。