CKAD Note Section 1 Introduction
Contents
Kubernetes Series
作者的系列課程總共有三個,分別適合不同職位的三種人。
- Absolute Beginners (零經驗初學者,帶你從 container 開始)
- sysAdmin (想要通過 CKAD)
- Application Developer (程式開發人員)

Certification Details
這邊告知 CKAD 考試的方式 (非選擇題、線上考試、會有監考官、考試時間 2 小時,可以向監考官申請暫停去上廁所之類的)
CNCF-Certified Kubernetes Application Developer (CKAD)
Linux Foundation-Frequently Asked Questions: CKA and CKAD & CKS
|
|
CNCF Taiwan User Group 發文
Certified Kubernetes Application Developer (CKAD) 要改版了嗎? 官方公告新的 CKAD-2021 將在今年 Q3 實施 (最少會提早 30 天在網站上公告)
目前考試項目與註冊頁面: https://training.linuxfoundation.org/certification/certified-kubernetes-application-developer-ckad/
公告實施頁面: https://training.linuxfoundation.org/ckad-program-change-2021/
7 月 SYSADMIN Day 折扣 (-100 USD): https://training.linuxfoundation.org/july-2021-promo/
Section 2 Core Concepts
K8s yaml 檔永遠有四個 top 欄位 (top level of field): apiVersion, kind, metadata, spec

不同的 kind 使用的 apiVersion 也不同

spec.containers 之所以是 list/array 型態是因為一個 pod 可以包含多個 container

20.Edit Pods
如果遇到題目要求修改現有 Pod 的話
|
|
Tips 快速刪除
如果不使用內建的 --now 或者 --force --grace-period=0 刪除 K8s resource 的話,等待時間將會拖很久。 有些物件 (例如: pod) Kubernetes 預設會等一會兒才會刪除 (grace period) ,在考照的時候你不會想等的!
|
|
或者直接使用 kubectl edit 修改
|
|
(Recap) 21. ReplicaSets
要縮放 pods 可以使用指令
|
|
(自己另外補充的) kubectl create 與 kubectl apply 差異
kubectl create = Creates a new k8s resource in the cluster
kubectl replace = Updates a resource in the live cluster
kubectl apply = If I want to do create + replace
kubectl apply vs kubectl create?
(Recap) 29.Namespaces
每個 namespace 擁有各自的成員與資源 (resources),Kubernetes 會自動建立一系列的 pods 與 service 作為內部服務,例如 Networking 或者 DNS service
不同 namespace 可以互相存取


在 YAML 裡面也可以直接定義這個 Kubernetes 元件必須被建立在哪個 namespace 裡面,這樣就不用怕忘記下指令時忘記 --namespace=
如果 YAML 裡面指定的 namespace 不存在,則會出現錯誤


▲ 當 namespace 不存在時出現錯誤
要建立 namespace 可以透過 YAML 或者 簡單一點透過 kubectl create namespace xzk 達成
|
|
假如我們必須要在 xzk 這個 namespace 下面工作許久,不想要每次都 --namespace=xzk 的話可以透過
|
|

利用 --dry-run 快速產生 YAML File (32. Certification Tip: Imperative Commands)
--dry-run 預設是帶 --dry-run=none,使用者也可以自訂要使用 --dry-run=client 或者 --dry-run=server。
如果目的是快速產生 YAML file 來說最簡單的方式是不帶 (--dry-run)
產生 pod
|
|
|
|
產生 Deployment
|
|
|
|
Author
LastMod 2022-05-06 (be577e0)