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认证,所以接下来我会努力推进实际生产的各项工作。

广告
将在 10 秒后关闭
bannerAds