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文件。

➡️

继续阅读