手把手带你过CNCF CKA考试 (最终章)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 随着云原生和golang的日渐发展,CKA的普及度也越来越高了.现在市面上均是收费题库.并没有太多整体的复习资料,本人于2021年5月刚刚通过CKA考试.本文将分享我的考试心得及复习资料

先说心得

  1. 每道题请务必看是否需要执行kubectl config use-context k8s来加载环境变量,只有少部分的题不需要加载环境变量(因为可能用的是上一题的环境).环境变量名称大部分是 hk8s mk8s等等.环境变量会直接导致你答案的准确性.
  2. 不会的题可以点击左下侧按钮记性 flag 标记等全部完成后再回来做题(再次提醒如果是这种情况也要务必记得重新加载本题的环境变量)
  3. 故障排查问题/集群升级问题 需要进入对应节点 提权至root权限后进行配置,等本题操作完成后,务必记得退出到student(本地)的控制台再进行下一题,(需要退出两次,第一次是退出到非root账户,第二次是退出对应节点ssh)
  4. 考试时允许开启最多一个tab页面来查阅文档,可以提前在收藏夹里把一些重点文档保存下来方便查阅(.io的搜索系统有时候不好用需要多请求几次)

20% - Services & Networking

• Understand host networking configuration on the cluster nodes
• Understand connectivity between Pods
• Understand ClusterIP, NodePort, LoadBalancer service types and endpoints
• Know how to use Ingress controllers and Ingress resources
• Know how to configure and use CoreDNS
• Choose an appropriate container network interface plugin

20% - 服务和网络

• 掌握在集群节点配置主机网络
https://kubernetes.io/zh/docs/concepts/cluster-administration/networking/


• 掌握Pods间的通信


• 掌握ingress controllers 和 配置ingress资源


• 掌握配置和使用CoreDNS


• 选择合适的容器网络接口插件


10% - Storage

• Understand storage classes, persistent volumes
• Understand volume mode, access modes and reclaim policies for volumes
• Understand persistent volume claims primitive
• Know how to configure applications with persistent storage

10% - 存储

• 掌握存储类型,以及持久化volumes
https://kubernetes.io/zh/docs/concepts/storage/storage-classes/


• 掌握卷模式,读写,权限等相关操作
针对 PV 持久卷,Kuberneretes 支持两种卷模式(volumeModes):Filesystem(文件系统) 和 Block(块)。 volumeMode 是一个可选的 API 参数。 如果该参数被省略,默认的卷模式是 Filesystem。

访问模式有:

ReadWriteOnce -- 卷可以被一个节点以读写方式挂载;
ReadOnlyMany -- 卷可以被多个节点以只读方式挂载;
ReadWriteMany -- 卷可以被多个节点以读写方式挂载。
在命令行接口(CLI)中,访问模式也使用以下缩写形式:

RWO - ReadWriteOnce
ROX - ReadOnlyMany
RWX - ReadWriteMany


• 理解持久卷的创建cli和yaml
https://kubernetes.io/zh/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims


• 掌握如何配置application的持久化存储
https://kubernetes.io/zh/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume


30% - Troubleshooting

• Evaluate cluster and node logging
• Understand how to monitor applications
• Manage container stdout & stderr logs
• Troubleshoot application failure
• Troubleshoot cluster component failure
• Troubleshoot networking

30% - 排查故障 目录

• 根据节点和集群日志排查故障

日志架构
使用sidecar容器进行日志传输

apiVersion: v1
kind: Pod
metadata:
  name: counter
spec:
  containers:
  - name: count
    image: busybox
    args:
    - /bin/sh
    - -c
    - >
      i=0;
      while true;
        do
        echo "$i: $(date)" >> /var/log/1.log;
        echo "$(date) INFO $i" >> /var/log/2.log;
        i=$((i+1));
        sleep 1;
      done      
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  volumes:
  - name: varlog
    emptyDir: {}
---
apiVersion: v1
kind: Pod
metadata:
  name: counter
spec:
  containers:
  - name: count
    image: busybox
    args:
    - /bin/sh
    - -c
    - >
      i=0;
      while true;
      do
        echo "$i: $(date)" >> /var/log/1.log;
        echo "$(date) INFO $i" >> /var/log/2.log;
        i=$((i+1));
        sleep 1;
      done      
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  - name: count-log-1
    image: busybox
    args: [/bin/sh, -c, 'tail -n+1 -f /var/log/1.log']
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  - name: count-log-2
    image: busybox
    args: [/bin/sh, -c, 'tail -n+1 -f /var/log/2.log']
    volumeMounts:
    - name: varlog
      mountPath: /var/log
  volumes:
  - name: varlog
    emptyDir: {} 

• 理解如何监控application


• 管理容器日志的标准化输出和错误输出


• 排查application故障


• 排查集群组件问题


• 排查网络问题

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
10月前
|
存储 数据处理 数据中心
1U和2U服务器应如何正确选择?各有什么优缺点?
标准机架式服务器以U为高度单位,1U和2U服务器因高度差异影响其内部空间和扩展能力。1U服务器体积小巧、性价比高但扩展性受限;2U服务器扩展性强、散热好、稳定性高,但托管费用较高。选择时需根据具体需求权衡。
278 6
|
12月前
|
网络协议 安全 容灾
哪些 DNS 服务器的响应速度快且稳定可靠?
哪些 DNS 服务器的响应速度快且稳定可靠?
15692 4
|
开发框架 前端开发 测试技术
基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中(2)
基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中(2)
|
Python C++ 前端开发
PyTorch 2.2 中文官方教程(十一)(1)
PyTorch 2.2 中文官方教程(十一)
354 1
PyTorch 2.2 中文官方教程(十一)(1)
|
存储 Kubernetes Perl
【CKA模拟题】容忍度策略实战案例
【CKA模拟题】容忍度策略实战案例
199 1
|
Ubuntu 编译器 开发工具
|
SQL 流计算
"Missing version in readMessageBegin, old client?
"Missing version in readMessageBegin, old client?
219 1
|
机器学习/深度学习 分布式计算 Python
OpenAI Gym 高级教程——分布式训练与并行化
OpenAI Gym 高级教程——分布式训练与并行化
573 1
|
存储 Kubernetes Cloud Native
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习
云原生|kubernetes|持久化存储pv,pvc和StorageClass的学习
438 1