CKA合格的过程~预习/报名/考试~
首先
这篇文章的内容 de
由于已经完成了Certified Kubernetes Application Developer(CKAD)的认证,我整理了一些学习时的重要问题。希望这对即将参加考试的人有所帮助。
关于CKAD的信息在这里
CKAD合格日志-预备学习/报名/考试~
CKA 是什么意思?
鉴于您要求以中文提供改写后的内容,以下是一种可能的选项:
什么是 CKA?
从https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/中提取的信息。
CKA 认证侧重于今天工业界成功担任 Kubernetes 管理员所需的技能。
-
- 試験の仕組み
試験の実施方法
オンライン
試験の所要時間
3時間
認定の有効期間
3年間
受験料
$300
受験料に含まれているもの
12ヶ月間の試験受験資格
無料の再受験
PDF形式の証明書
経験レベル
中級
CKAD考试的时间比较长,为一小时,题目数量也变为24题。
提前学习
学习开始时的情况
以下是笔者的技能水平。
-
- v1.7くらいから趣味でちょこっと触っている
-
- 本格的に触りはじめたのが今年入ってから
- 先月(2019/10)にCKADを取得
学习环境
-
- Kubernetes
Kubernetes The Hard Wayで作成したクラスタ
エディタ
Vim
試験中はVimで操作するため
~/.vimrcのカスタマイズも一旦消して初期状態のVimで練習
由于创建集群本身可能会出现问题,因此我们使用了通过困难的方式构建的集群来进行配置。
学习内容
Kubernetes The Hard Way
让我们先试试这个,不妨一试:
https://github.com/kelseyhightower/kubernetes-the-hard-way
如果没有GCP的免费额度,你也可以尝试在Vagrant上进行。请点击以下链接:
https://github.com/kenfdev/kubernetes-the-hard-way-vagrant
由于上述Vagrant版本是基于v1.10.2的,你也可以尝试将测试环境的版本升级,这对学习也是有益的。
CKA课程简介
CKA的课程大纲已经公开。
虽然没有严格地对应,但我已经提供了一些相关的页面供您参考。
以下是在考试期间可以浏览的页面,所以我提前将其添加为书签。
-
- 5% – Scheduling
Use label selectors to schedule Pods.
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
Understand the role of DaemonSets.
https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/
Understand how resource limits can affect Pod scheduling.
https://kubernetes.io/docs/concepts/policy/resource-quotas/
Understand how to run multiple schedulers and how to configure Pods to use them.
https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
Manually schedule a pod without a scheduler.
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
https://kubernetes.io/docs/tasks/configure-pod-container/static-pod/
Display scheduler events.
https://kubernetes.io/docs/concepts/scheduling/kube-scheduler/
Know how to configure the Kubernetes scheduler.
https://kubernetes.io/docs/concepts/scheduling/kube-scheduler/
5% – Logging/Monitoring
Understand how to monitor all cluster components.
https://kubernetes.io/docs/concepts/overview/components/
https://kubernetes.io/docs/tasks/debug-application-cluster/debug-cluster/
Understand how to monitor applications.
https://kubernetes.io/docs/tasks/debug-application-cluster/
Manage cluster component logs.
https://kubernetes.io/docs/tasks/debug-application-cluster/debug-cluster/
Manage application logs.
https://kubernetes.io/docs/tasks/debug-application-cluster/
8% – Application Lifecycle Management
Understand Deployments and how to perform rolling updates and rollbacks.
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
Know various ways to configure applications.
https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
https://kubernetes.io/docs/concepts/configuration/secret/
https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/
Know how to scale applications.
https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
Understand the primitives necessary to create a self-healing application.
https://kubernetes.io/docs/concepts/architecture/
https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/
11% – Cluster Maintenance
Understand Kubernetes cluster upgrade process.
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
Facilitate operating system upgrades.
https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/
Implement backup and restore methodologies.
https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/
12% – Security
Know how to configure authentication and authorization.
https://kubernetes.io/docs/reference/access-authn-authz/authentication/
https://kubernetes.io/docs/reference/access-authn-authz/rbac/
https://kubernetes.io/docs/reference/access-authn-authz/controlling-access/
Understand Kubernetes security primitives.
Know to configure network policies.
https://kubernetes.io/docs/concepts/services-networking/network-policies/
https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy/
Create and manage TLS certificates for cluster components.
https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/
Work with images securely.
https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
Define security contexts.
https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
Secure persistent key value store.
https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/
7% – Storage
Understand persistent volumes and know how to create them.
https://kubernetes.io/docs/concepts/storage/persistent-volumes/
Understand access modes for volumes.
https://kubernetes.io/docs/concepts/storage/persistent-volumes/
Understand persistent volume claims primitive.
https://kubernetes.io/docs/concepts/storage/persistent-volumes/
Understand Kubernetes storage objects.
https://kubernetes.io/docs/concepts/storage/
Know how to configure applications with persistent storage.
https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/
10% – Troubleshooting
Troubleshoot application failure.
https://kubernetes.io/docs/tasks/debug-application-cluster/debug-application/
Troubleshoot control plane failure.
https://kubernetes.io/docs/tasks/debug-application-cluster/debug-cluster/
Troubleshoot worker node failure.
https://kubernetes.io/docs/tasks/debug-application-cluster/debug-cluster/
Troubleshoot networking.
https://kubernetes.io/docs/tasks/debug-application-cluster/debug-cluster/
19 – Core Concepts
Understand the Kubernetes API primitives.
https://kubernetes.io/docs/concepts/overview/kubernetes-api/
Understand the Kubernetes cluster architecture.
https://kubernetes.io/docs/concepts/architecture/
Understand Services and other network primitives.
https://kubernetes.io/docs/concepts/services-networking/service/
11% – Networking
Understand the networking configuration on the cluster nodes.
https://kubernetes.io/docs/concepts/cluster-administration/networking/
Understand Pod networking concepts.
https://kubernetes.io/docs/concepts/services-networking/service/
Understand service networking.
https://kubernetes.io/docs/concepts/services-networking/service/
Deploy and configure network load balancer.
https://kubernetes.io/docs/concepts/services-networking/service/
Know how to use Ingress rules.
https://kubernetes.io/docs/concepts/services-networking/ingress/
Know how to configure and use the cluster DNS.
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/
https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/
Understand CNI.
https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/
https://kubernetes.io/docs/concepts/cluster-administration/networking/
12% – Installation, Configuration & Validation
Design a Kubernetes cluster.
Install Kubernetes masters and nodes.
https://kubernetes.io/docs/setup/
Configure secure cluster communications.
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping/
Configure a Highly-Available Kubernetes cluster.
https://kubernetes.io/docs/tasks/administer-cluster/highly-available-master/
Know where to get the Kubernetes release binaries.
https://github.com/kubernetes/kubernetes/releases
Provision underlying infrastructure to deploy a Kubernetes cluster.
Choose a network solution.
https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/
https://kubernetes.io/docs/concepts/cluster-administration/networking/
Choose your Kubernetes infrastructure configuration.
Run end-to-end tests on your cluster.
https://kubernetes.io/blog/2019/03/22/kubernetes-end-to-end-testing-for-everyone/
Analyse end-to-end tests results.
https://kubernetes.io/blog/2019/03/22/kubernetes-end-to-end-testing-for-everyone/
Run Node end-to-end tests.
https://kubernetes.io/blog/2019/03/22/kubernetes-end-to-end-testing-for-everyone/
Install and use kubeadm to install, configure, and manage Kubernetes clusters.
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
I can provide a paraphrase in Chinese:
申请
考試報名
我会通过官方网站申请。如果没有特别要求的话,我会选择CKA-JP进行考试。
(尽管与考官的交流一开始是用英语的,不过中途转换成了日语。)
https://training.linuxfoundation.org/certified-kubernetes-administrator-cka-jp/
時間帯について、自分が申し込んだ際は平日09:00~16:00の間でいくつか枠が用意されていました。
休日には枠がなかったようにみえましたが、CKADと同じくもともとないのか埋まっていたのかは不明です。
考场的准备工作
我们可以租用临时会议室或者预留公司内的会议室。不要选择类似咖啡厅这样的开放场所。
考试时间比CKAD多一小时,总共3小时。和CKAD一样,需要事先准备等等,所以最好提前30分钟左右保留时间。
终端设备的准备。
-
- Chromeブラウザ
受験用のExtensionを事前にインストール
Kubernetesのサイトをブックマークしておくと◎
Webカメラ
自分はUSBで接続するカメラを利用しましたが、ノートPCのカメラでも可能です。
考试
考试即将开始前的准备。
-
- ブラウザの確認
試験官の指示に従って確認作業を行います。会話の必要はなく、チャットでのやりとりとなります
受験者の確認
国が発行する写真つきの証明書が必要となります。
自分はパスポートを利用しました。
周囲の確認
机の周りや下などをチェックされます
このとき外付けカメラだと取り回しやすいです。
考试
与CKAD相比,看起来有很多时间可以利用。
跳过一道问题后,已经解答完23道问题,剩下1小时。
由于Kubernetes建设问题也会出现,所以让我们学会使用Linux的相关命令。
-
- systemctl start/stop/status/restart/enable [サービス名]
- journalctl -u [サービス名]
除了CKAD之外,还有以下几点要注意。
kubectl –dry-run -o yamlなどでベースを作る
時間を節約するために。残りはvimで手直し
kubectl -hでオプションを確認
ちょっとしたオプションであれば、公式サイトを検索するより早い
はじめにsource <(kubectl completion bash)を叩いて補間を使えるようにしておく
Pod名などの補間が効くので便利
ctl+c/ctl+v(コピペ)はブラウザ上では使えないのでマウスでコピペ
Ins+特定のキーでコピペ可能なようですが、変な操作をしてしまいそうだったのでマウスに
最终结论和结束
根据我自己的经历,考试结束后的36小时内收到了结果,与CKAD相似,大约在32小时后收到了结果。我的分数是92%,合格了(大于74%才合格)。只有一道问题我完全无法解答,所以扣了8%的分数。
我已经成功获得了CKA和CKAD认证,所以接下来我会努力推进实际生产的各项工作。