赞
踩
说明:
CKA认证含金量的认识
CKA认证考试是专为Kubernetes管理员、云管理员和其他管理Kubernetes实例的IT专业人员而设的。已获得认证的K8s管理员具备了进行基本安装以及配置和管理生产级Kubernetes集群的能力。这个证书本身是有含金量的,但是就像红帽认证那些一样,考的人多了,也就有点烂大街的感觉。
我是这么理解的:就像以前只有少部分人练习了《九阴真经》,现在行业内人人都可以花钱买到一本。但是《九阴真经》就真的弱吗?那肯定不弱,只是业内的整体水平变高了。所以,趁大部分人还没有练《九阴真经》,我们先练起来走在前面,并不都是图个虚名,因为它确实实用才学。
在线实操考试,考试前会让你登陆到考试系统(需要科学network),在网页上实操命令答题。
很多资料都这么说,但是考试就10来道题,只能说有几率考到,不会都考。
1.Installation, Configuration & Validation 安装,配置和验证12%
2.Core Concepts 核心概念 19%
3.Application Lifecycle Management 应用生命周期管理 8%
4.Networking 网络 11%
5.Storage 存储 7%
6.Scheduling 调度 5%
7.Security 安全 12%
8.Cluster Maintenance 集群维护 11%
9.Logging / Monitoring 日志/监控 5%
10.Troubleshooting 问题排查 10%
考试过程中会有一个老外监考考试者,会要求你允许浏览器捕捉你的屏幕信息,允许笔记本摄像头监控你的人脸,考试过程需要随时保持人脸在画面内。不过也可以举手向考官示意去上厕所。
300美金左右。
考试成绩在75分以上才会发放证书,一般会在考试后48小时内出结果并发证书到你的邮箱。要是第一次考不过会有一次重新预约补考机会。
切换集群环境:kubectl config use-context k8s
Context
为部署管道创建一个新的ClusterRole并将其绑定到范围为特定的Namespace的特定ServiceAccount
Task:
创建一个名为deployment-clusterrole且仅允许创建一下资源类型的新ClusterRole:
Deployment
StatefulSet
DaemonSet
在现有的namespace app-team1中创建一个名为cicd-token的新ServiceAccount
限于namespace app-team1,将新的ClusterRole deployment-clusterrole绑定到新的ServiceAccount cicd-token
解题答案:
kubectl config use-context k8s
kubectl create clusterrole deployment-clusterrole --verb=create --resource=deployments,daemonsets,statefulsets
kubectl create serviceaccount cicd-token -n app-team1
kubectl create rolebinding cicd-token --serviceaccount=app-team1:cicd-token --clusterrole=deployment-clusterrole -n app-team1
测试服务账号(SA)权限:
kubectl --as=system:serviceaccount:app-team1:cicd-token get pods -n app-team1
切换集群环境:kubectl config use-context ek8s
tasks:将名为eks-node-1的节点调度为不可用,并重新调度该节点上运行的所有pods
解题答案:
kubectl config use-context ek8s
kubectl cordon ek8s-node-1 # 设置为不可调度
kubectl drain ek8s-node-1 --ignore-daemonsets # 驱逐节点上 Pod
# 如果执行 drain 提示错误,根据提示再加上选项,例如--delete-local-data --force
切换集群环境:kubectl config use-context mk8s
Tasks:现有的Kubernetets运行在版本1.20.0,仅将主节点上的所有Kubernetes控制平面和节点组件升级到版本1.20.1
确保在升级前drain主节点,并在升级后uncordon主节点。
这个题目仍然是叫我使用mk8s集群。
可以使用以下命令连接到 主节点:
ssh mk8s-master-0
使用sudo获取更大的权限:
sudo -i
另外,在主节点上升级kubelet和kubectl
解题:
kubectl config use-context mk8s
kubectl drain k8s-master-0 --ignore-daemonsets
ssh mk8s-master-0
sudo -i
apt install kubeadm=1.20.1-00 –y
kubeadm upgrade plan
kubeadm upgrade apply v1.20.1 --etcd-upgrade=false # 题目要求不升级 etcd
kubectl uncordon k8s-master-0
# 升级 kubelet 和 kubectl
apt install kubelet=1.20.1-00 kubectl=1.20.1-00 -y
systemctl restart kubelet
# 查看升级结果
kubectl get node
官方文档:https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
此项目无需更改配置环境。但是,在执行此项目之前,确保已经返回初始点
[root@mk8s-master-0] # exit
[student@mk8s-master-0] $ exit
Task
首先,为运行在https://127.0.0.1:2379shang上的现有etcd实例创建快照并将快照保存到/data/backup/etcd-snapshot.db
为给定的实例创建快照,在考试环境预计能在几秒内完成。如果该操作似乎挂起,则命令可能有问题。用ctrl+c终止操作,然后重试。
然后还原位于/data/backup/etcd-snapshot.db的现有快照
提供了以下TLS证书和密钥,以通过etcdctl 连接到服务器。
CA证书:/opt/KUIN0021/ca.crt
Client证书:/opt/KUIN0021/etcd-client.crt
Client密钥:/opt/KUIN0021/etcd-client.key
解题:
# 备份
ETCDCTL_API=3
etcdctl snapshot save /data/backup/etcd-snapshot.db --endpoints=https://127.0.0.1:2379 --cacert=/opt/KUIN0021/ca.crt --cert=/opt/KUIN0021/etcd-client.crt --key=/opt/KUIN0021/etcd-client.key
# 恢复
systemctl stop etcd
systemctl cat etcd # 确认下数据目录
mv /var/lib/etcd/default.etcd /var/lib/etcd/default.etcd.bak
ETCDCTL_API=3
etcdctl snapshot restore /data/backup/etcd-snapshot-previous.db --data-dir=/var/lib/etcd/default.etcd
chown -R etcd:etcd /var/lib/etcd
systemctl start etcd
切换集群:
kubectl config use-context hk8s
Task
在现有namespace my-app中创建一个名为allow-port-from-namespace的新的NetworkPolicy。
确保新的NetworkPolicy允许namespace my-app中的pods来连接到namespace demo-corp中的端口8080
进一步确保新的NetworkPolicy:
不允许对没有在监听端口8080的pods的访问
不允许不来自namespace my-app中的pods的访问
解题
kubectl config use-context hk8s # 给命名空间打标签:kubectl label namespace big-corp name=demo-corp apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: allow-port-from-namespace namespace: my-app spec: podSelector: {} policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: name: demo-corp ports: - protocol: TCP port: 8080
本期的分享就到这里,过两天会出真题的其他题目,码字不易,希望大家点点关注,感谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。