killercoda CKA:架构、安装与维护
💡
原文英文,约5100词,阅读约需19分钟。
📝
内容提要
本文介绍了Kubernetes中Pod的创建、日志读取、资源监控及ETCD的备份与恢复操作,重点通过kubectl命令展示如何确保集群正常运行和数据安全。
🎯
关键要点
- 使用nginx镜像创建名为sleep-pod的Pod,并设置其命令为sleep 3600。
- 通过kubectl命令读取log-reader-pod的日志,并将其保存到podalllogs.txt文件中。
- 使用grep命令过滤application-pod的错误日志,并将其保存到poderrorlogs.txt文件中。
- 创建alpine-pod-pod以实时监控日志文件,使用ConfigMap挂载配置。
- 更新product Pod的定义文件,将输出内容从'Mi Tv Is Good'更改为'Sony Tv Is Good'。
- 使用kubectl命令查找消耗最多CPU的Pod,并将结果保存到high_cpu_pod.txt文件中。
- 更新pod-filter.sh脚本以仅使用jsonpath过滤nginx-pod的application值。
- 创建名为database-app-secret的Kubernetes Secret,并使用database-data.txt文件的内容。
- 解码名为database-data的Secret,并将解码后的内容保存到decoded.txt文件中。
- 查找消耗最多内存的Node,并将结果保存到high_memory_node.txt文件中。
- 更新svc-filter.sh脚本以过滤redis-service的target port值。
- 更新group1-sa服务账户的权限,使其只能创建、获取和列出deployments。
- 创建名为app-account的服务账户,并更新其权限以仅在default命名空间中获取Pods。
- 升级kubeadm、集群和kubelet到下一个版本,并验证升级成功。
- 在kube-system环境中备份etcd-controlplane Pod,并将备份存储在/opt/cluster_backup.db文件中。
- 在kube-system环境中恢复etcd,并将恢复的控制台输出存储在restore.txt文件中。
❓
延伸问答
如何使用nginx镜像创建一个名为sleep-pod的Pod?
使用kubectl命令应用nginx.yaml文件,内容包括apiVersion、kind、metadata和spec等信息。
如何读取log-reader-pod的日志并保存到文件?
使用kubectl logs命令结合tee,将日志输出重定向到podalllogs.txt文件。
如何过滤application-pod的错误日志并保存?
使用kubectl logs命令结合grep过滤错误信息,并使用tee保存到poderrorlogs.txt文件。
如何创建一个Kubernetes Secret?
使用kubectl create secret命令,指定Secret名称和数据文件,例如database-data.txt。
如何查找消耗最多CPU的Pod并保存结果?
使用kubectl top pod命令,结合awk将结果格式化并保存到high_cpu_pod.txt文件。
如何备份etcd控制平面Pod的数据?
在kube-system环境中,使用etcdctl snapshot save命令备份数据,并将输出保存到backup.txt文件。
🏷️
标签
➡️