几个月前,CNCF 推出了 CARE 计划(Certification Advancement & Recertification Experience),目的是让持证工程师在技能持续成长的同时,不用反复走低效的续期流程。现在这条规则有了实质扩展:通过 CKS(Certified Kubernetes Security Specialist)考试,可以直接延长你的 CKA(Certified Kubernetes Administrator)认证有效期。
这意味着你不再需要单独花钱、花时间重考 CKA 来续期——向上进阶本身就是续期。
CARE 计划解决了什么痛点
过去 CKA 和 CKAD 的续期逻辑很死板:认证三年有效,到期只能重考同一门。对已经在做安全加固、策略治理的高级工程师来说,重考 CKA 既浪费时间也缺乏挑战。CARE 的核心思路是:如果你通过了更高阶或同级别的认证,低阶认证自动续期三年。
最初的 CARE 只覆盖 CKAD → CKA 的续期路径。这次扩展补上了 CKS → CKA 的路径,逻辑一致:CKS 考试范围覆盖安全策略、RBAC、网络策略、审计日志等,这些能力本身就建立在扎实的集群管理基础之上,通过 CKS 理应证明你仍然具备 CKA 级别的管理能力。
续期路径一览
当前 CARE 计划支持的续期路径:
| 通过的考试 | 可续期的认证 | 续期时长 |
|---|---|---|
| CKAD | CKA | 3 年 |
| CKS | CKA | 3 年 |
| CKA | CKAD | 3 年 |
注意方向性:CKS 可以续期 CKA,但 CKA 不能续期 CKS——因为安全 specialist 的能力域比 administrator 更窄更深,管理员通过不代表安全能力仍然达标。
实际影响:怎么规划你的认证路线
这条规则对正在准备考试的人有直接策略影响:
- 已有 CKA、即将到期:别急着重考 CKA,直接备考 CKS。一次考试同时获得新认证 + 续期旧认证,性价比更高。
- 刚拿到 CKA:不用立刻想续期,但可以把 CKS 作为下一个目标,三年后通过 CKS 自然续期 CKA。
- 同时持有 CKA + CKS:CKS 到期时仍需重考 CKS,但只要你在 CKA 到期前通过 CKS 重考,CKA 也一并续期。
备考 CKS 时同时巩固 CKA 能力的实战练习
CKS 考纲中的安全主题几乎都依赖 CKA 级别的集群操作能力。下面是一个同时覆盖两门考纲核心点的练习脚本——用 kubectl 和基础 YAML 完成安全加固,这些操作本身就是 CKA 考试的高频考点。
练习:创建受限 Pod + NetworkPolicy + RBAC 绑定
# 1. 创建专用 namespace
kubectl create namespace secure-demo
# 2. 创建 ServiceAccount
kubectl create serviceaccount app-runner -n secure-demo
# 3. 创建 Role:只允许读取 ConfigMap
kubectl apply -f - <<EOF
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: configmap-reader
namespace: secure-demo
rules:
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["get", "list"]
EOF
# 4. 绑定 Role 到 ServiceAccount
kubectl apply -f - <<EOF
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-configmaps
namespace: secure-demo
subjects:
- kind: ServiceAccount
name: app-runner
namespace: secure-demo
roleRef:
kind: Role
name: configmap-reader
apiGroup: rbac.authorization.k8s.io
EOF
# 5. 创建 NetworkPolicy:只允许同 namespace 内流量
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-cross-namespace
namespace: secure-demo
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
ingress:
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: secure-demo
egress:
- to:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: secure-demo
EOF
# 6. 验证:用 app-runner 身份尝试读取 ConfigMap(应成功)
kubectl auth can-i get configmaps -n secure-demo --as=system:serviceaccount:secure-demo:app-runner
# 预期输出: yes
# 7. 验证:尝试创建 Pod(应被拒绝)
kubectl auth can-i create pods -n secure-demo --as=system:serviceaccount:secure-demo:app-runner
# 预期输出: no
运行前确保你的集群支持 NetworkPolicy(Calico、Cilium 等 CNI 均可,默认 kindestnet 不支持)。可以用 kind 快速创建一个带 Calico 的练习集群:
# 创建带 Calico 的 kind 集群(CKS/CKA 练习推荐)
cat <<EOF > kind-calico.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
disableDefaultCNI: true
nodes:
- role: control-plane
- role: worker
EOF
kind create cluster --name ck8s-lab --config kind-calico.yaml
# 安装 Calico(简化版)
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.0/manifests/calico.yaml
# 等待 Calico Pod 就绪
kubectl wait --for=condition=Ready pod -l k8s-app=calico-node -n kube-system --timeout=120s
这个练习同时覆盖了 CKA(namespace 管理、RBAC、kubectl 操作)和 CKS(最小权限 RBAC、NetworkPolicy 隔离)的核心考点,一举两得。
续期前的检查清单
在依赖 CARE 续期之前,确认以下几点:
- 时间窗口:CKS 必须在 CKA 到期之前通过,过期后再考 CKS 无法回溯续期已失效的 CKA。
- 认证状态:在 LF Credentials 页面确认你的 CKA 当前仍然 active。
- 考试顺序:CKS 要求先持有 CKA,所以你不可能在没有 CKA 的情况下考 CKS——这条续期路径只对已有 CKA 的人生效。
- 成本对比:CKS 考试费 $395,CKA 重考也是 $395,但 CKS 让你多一张 specialist 认证,投入产出比更优。
值得注意的边界
CARE 目前只覆盖 CNCF 自家的 Kubernetes 认证体系,不涉及其他 Linux Foundation 认证。另外,CKS → CKA 续期是单向的——如果你只持有 CKS(理论上不可能,因为 CKS 前置要求 CKA),这条规则对你没有额外意义。
另一个现实考量:CKS 考试难度明显高于 CKA。如果你的 CKA 即将在两个月内到期,而你对安全主题准备不足,硬冲 CKS 可能得不偿失——考不过则 CKA 直接过期。稳妥策略是评估自己的备考进度,必要时先重考 CKA 保住认证,再从容准备 CKS。
CARE 的这次扩展让认证体系终于有了合理的进阶激励:向上学习本身就是续期。对已经在做 Kubernetes 安全工作的工程师来说,这既是认可也是推动——把续期变成成长,而不是重复。