<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ckad on 丸子有记, 记录生活、分享技术，专注于运维架构、运维开发(devops)。</title>
    <link>https://wanzi.dev/zh-cn/tags/ckad/</link>
    <description>Recent content in Ckad on 丸子有记, 记录生活、分享技术，专注于运维架构、运维开发(devops)。</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <managingEditor>wzdushu@gmail.com (wanzi)</managingEditor>
    <webMaster>wzdushu@gmail.com (wanzi)</webMaster>
    <copyright>丸子有记</copyright>
    <lastBuildDate>Mon, 19 Aug 2024 10:10:42 +0800</lastBuildDate>
    
        <atom:link href="https://wanzi.dev/zh-cn/tags/ckad/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>一周拿下CKA经验分享</title>
      <link>https://wanzi.dev/zh-cn/post/kubernetes-cka-2024/</link>
      <pubDate>Mon, 19 Aug 2024 10:10:42 +0800</pubDate>
      <author>wzdushu@gmail.com (wanzi)</author>
      <guid>https://wanzi.dev/zh-cn/post/kubernetes-cka-2024/</guid>
      
        <description>&lt;p&gt;对于云原生&amp;amp;k8s相关证书很早就想考一个，越早考试越好，工作的原因一直推脱到今年，眼看着它价格涨了两次（说到这里有点小肉疼了）。&lt;/p&gt;
&lt;p&gt;最近终于有空腾出一周时间全身心备考了，由于自己工作生产环境一直使用的kubernetes，所以，这次我自己的计划是考前多吸收考点，多做大量考题；&lt;/p&gt;
&lt;p&gt;下面总结整理一下最近一周我CKA考试的历程，希望对你有帮助。&lt;/p&gt;
&lt;h2 id=&#34;cka全面认识&#34;&gt;CKA全面认识&lt;/h2&gt;
&lt;h3 id=&#34;1cka是什么&#34;&gt;1、CKA是什么？&lt;/h3&gt;
&lt;p&gt;CKA全称：Certified Kubernetes Administrator 是由CNCF推出的第一个基于kubernetes的认证，整个考试全部是实操题，且监考极其严格，所以CKA是全球公认的Kubernetes含金量最高的证书之一。&lt;/p&gt;
&lt;h3 id=&#34;2cka证书有效期多长时间&#34;&gt;2、CKA证书有效期多长时间？&lt;/h3&gt;
&lt;p&gt;CKA证书的有效期为3年，但自2024年4月1日起，新认证的CKA证书有效期变更为2年。在2024年4月1日前通过考试并获得证书的学员，其证书仍然保持3年的有效期。&lt;/p&gt;
&lt;p&gt;证书过期后需重新参加考试，并且需要满足考试的要求。考试的形式是在线考试，考试时间2小时，考试题目17道，满分100分，66分及格。&lt;/p&gt;
&lt;h3 id=&#34;3cka有什么用&#34;&gt;3、CKA有什么用？&lt;/h3&gt;
&lt;p&gt;对企业而言，Kubernetes认证服务供应商(KCSP)一般需要有3名CKA。
对个人而言，获得CKA认证，是检测自己学习成果的一个重要指标。一来可以系统的学习知识， 二来可以通过证书向企业证明自己的技术实力。&lt;/p&gt;
&lt;h3 id=&#34;4ckackadcks对比分析&#34;&gt;4、CKA、CKAD、CKS对比分析&lt;/h3&gt;
&lt;p&gt;其实CNCF基金会下有关k8s的认证主要这三个，三个证书侧重点不一样，可以根据自己实际情况选择。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CKA:Certified Kubernetes Administrator, 侧重于kubernetes系统管理，比如基本安装以及配置和管理生产级集群的能力,涉及到Kubernetes网络、存储、安全、维护、日志记录和监控、应用生命周期、故障排除、API对象原语等关键概念。&lt;/li&gt;
&lt;li&gt;CKAD:Certified Kubernetes Application Developer, 侧重于Kubernetes设计、构建和部署云原生应用程序，比如使用Kubernetes核心原语来创建/迁移、配置、公开和观察可伸缩的应用程序。&lt;/li&gt;
&lt;li&gt;CKS:Certified Kubernetes Security，侧重于Kubernetes安全，比如构建、部署和运行时保护基于容器的应用程序和Kubernetes平台安全。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;通过备考三个证书考点和考题，CKA的知识点要涉及更全面相对更难一些，如果你考过了CKA再去考CKAD或者CKS，你会很容易考试通过，而里面的知识点有60-80%都是有关联的。&lt;/p&gt;
&lt;h3 id=&#34;5cka主要考试那些知识点&#34;&gt;5、CKA主要考试那些知识点？&lt;/h3&gt;
&lt;p&gt;第一部分：集群架构，安装和配置(占比25%)：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;管理基于角色的访问控制（RBAC）&lt;/li&gt;
&lt;li&gt;使用Kubeadm安装基本集群&lt;/li&gt;
&lt;li&gt;管理高可用性的Kubernetes集群&lt;/li&gt;
&lt;li&gt;设置基础架构以部署Kubernetes集群&lt;/li&gt;
&lt;li&gt;使用Kubeadm在Kubernetes集群上执行版本升级&lt;/li&gt;
&lt;li&gt;实施etcd备份和还原&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第二部分：工作负载和调度(占比15%)：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;了解部署以及如何执行滚动更新和回滚&lt;/li&gt;
&lt;li&gt;使用ConfigMaps和Secrets配置应用程序&lt;/li&gt;
&lt;li&gt;了解如何扩展应用程序&lt;/li&gt;
&lt;li&gt;了解用于创建健壮的、自修复的应用程序部署的原语&lt;/li&gt;
&lt;li&gt;了解资源限制如何影响Pod调度&lt;/li&gt;
&lt;li&gt;了解清单管理和通用模板工具&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第三部分：服务和网络(占比20%):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;了解集群节点上的主机网络配置&lt;/li&gt;
&lt;li&gt;理解Pods之间的连通性&lt;/li&gt;
&lt;li&gt;了解ClusterIP、NodePort、LoadBalancer服务类型和端点&lt;/li&gt;
&lt;li&gt;了解如何使用入口控制器和入口资源&lt;/li&gt;
&lt;li&gt;了解如何配置和使用CoreDNS&lt;/li&gt;
&lt;li&gt;选择适当的容器网络接口插件&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第四部分：存储(占比10%):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;了解存储类、持久卷&lt;/li&gt;
&lt;li&gt;了解卷模式、访问模式和卷回收策略&lt;/li&gt;
&lt;li&gt;理解持久容量声明原语&lt;/li&gt;
&lt;li&gt;了解如何配置具有持久性存储的应用程序&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第五部分：故障排除(占比30%):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;评估集群和节点日志&lt;/li&gt;
&lt;li&gt;了解如何监视应用程序&lt;/li&gt;
&lt;li&gt;管理容器标准输出和标准错误日志&lt;/li&gt;
&lt;li&gt;解决应用程序故障&lt;/li&gt;
&lt;li&gt;对群集组件故障进行故障排除&lt;/li&gt;
&lt;li&gt;排除网络故障&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cka考前准备&#34;&gt;CKA考前准备&lt;/h2&gt;
&lt;h3 id=&#34;报名缴费&#34;&gt;报名缴费&lt;/h3&gt;
&lt;p&gt;报名地址：https://training.linuxfoundation.cn/certificates/1&lt;/p&gt;
&lt;p&gt;价格比以前都贵了，建议等黑五的下单，大概优惠五折的样子。&lt;/p&gt;
&lt;p&gt;另外，这里可以选择中文监考或者英文监考，建议选择中文，当然二者差别不大，考题即便是英文也能大概看明白。&lt;/p&gt;
&lt;p&gt;下单成功后，登录后台，查看订单的地方会有一个考试券，把这个记录下来，后面会用到。&lt;/p&gt;
&lt;h3 id=&#34;激活考试码&#34;&gt;激活考试码&lt;/h3&gt;
&lt;p&gt;整个考试流程可以参考这里：https://training.linuxfoundation.cn/news/308&lt;/p&gt;
&lt;p&gt;第一步，需要注册一个 Linux Foundation ID（LFID），注意自己名称，一定要和身份证、护照保持一致，也建议和实名认证保持一致，不然后面预约考试过不了。&lt;/p&gt;
&lt;p&gt;注册和预约考试地址：https://trainingportal.linuxfoundation.org/&lt;/p&gt;
&lt;p&gt;第二步，拿到之前的考试券，注册考试，正常情况下不注册考试，考试券只有1个月的有效期，
注册考试券后只需要1年内考试就可以。&lt;/p&gt;
&lt;p&gt;第三步，考试预约&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;预约考试时间：整个考试时间2个小时，建议选择上海时间，凌晨1点-2点考试，因为考试服务器都在海外，这个时间点不会很卡。&lt;/li&gt;
&lt;li&gt;预约考试语言：考试语言和监考老师语言，这里直接选择中文即可。&lt;/li&gt;
&lt;li&gt;电脑环境检测：考试前需要对考试系统环境进行检测，浏览器建议用chrome，不建议提前安装PSI，考试前半个小时安装PSI即可，考试前头一天，建议将电脑上的向日葵、Todesk、Vmware、lemon等这些禁用或者卸载掉，我这次就是因为这个耽误了十几分钟。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;预约成功以后，就可以安心备考了。&lt;/p&gt;
&lt;h3 id=&#34;考试环境注意事项&#34;&gt;考试环境注意事项&lt;/h3&gt;
&lt;p&gt;考前，建议备一个VPN，但是考试的时候建议不要用，除非你的网络特别卡，卡的都退出考试系统了，这个时候可以选择用VPN。&lt;/p&gt;
&lt;p&gt;从考前到进入真正考试时间，需要如下五步准备：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;第一步：PSI环境检测，check成功才能考试，一定一定要提前半个小时，这个会折腾20分钟；&lt;/li&gt;
&lt;li&gt;第二步：人脸识别，需要用电脑摄像头进行拍照；&lt;/li&gt;
&lt;li&gt;第三步：身份认证信息，需要拿身份证和护照对着摄像头拍照，这个考官会检查&lt;/li&gt;
&lt;li&gt;第四步：考官会让你拿着笔记本摄像头展示四周环境，考试桌子上桌子下面都不能有任何东西，且四周1米距离内不能有任何东西，身边不能有任何人谈话，手机建议放到1米外以上距离，让考官看到最好。&lt;/li&gt;
&lt;li&gt;第五步：考官会让你举起手检查手里是否夹东西，耳朵两侧是否有耳塞等等。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上面都OK了，考官会给你确认是否可以考试，你回答OK即可，从这个时间才算考试时间。&lt;/p&gt;
&lt;h3 id=&#34;考试时间考题考试结果&#34;&gt;考试时间&amp;amp;考题&amp;amp;考试结果&lt;/h3&gt;
&lt;p&gt;为什么考试时间需要单独拎出来说呢，就是因为考试时间总共就2个小时，17道题，说长也长，说短也短。&lt;/p&gt;
&lt;p&gt;考试系统服务器再美国，经常会遇到卡顿现象，所以做一道题有的时候可能会很长。&lt;/p&gt;
&lt;p&gt;对于备考时间非常短的同学，建议再电脑桌子对面放置一个钟表或者自己带一个手表，因为考试系统里时间是美国时间，很容易过点。&lt;/p&gt;
&lt;p&gt;另外，关于考试题，建议刚开始先选择简单的，因为有60-70%都可以通过命令行解决掉；&lt;/p&gt;
&lt;p&gt;每做一道题，切记一定要执行kubectl config context xxxxk8s选择考题指定集群；&lt;/p&gt;
&lt;p&gt;对于比如PV/PVC、Netpol需要手写Yaml这些，建议后做，集群升级可以放到最后再做。&lt;/p&gt;
&lt;p&gt;一般考试结束以后，成绩会在24小时后出来，考试通过分数是66分；如果因为考试环境问题无法进入考试，建议尽快联系监考老师；考试结果不理想，还有一次考试机会，后面直接重新约考即可。&lt;/p&gt;
&lt;h3 id=&#34;考题解析&#34;&gt;考题解析&lt;/h3&gt;
&lt;p&gt;下面是一些从网上搜集的八道考题，从我个人角度觉得稍微有一些难度的考题，这些考题和实际考题类型基本相似，大家不妨自己做实验体验一下，所以，能手写k8s资源对象yaml文件，就手写，这样才能节省更多时间。&lt;/p&gt;
&lt;div class=&#34;highlight-container&#34;&gt;

  &lt;button class=&#34;copy-code-btn outline&#34;&gt;Copy&lt;/button&gt;

  
  &lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;
&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-1&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-1&#34;&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-2&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-2&#34;&gt; 2&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-3&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-3&#34;&gt; 3&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-4&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-4&#34;&gt; 4&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-5&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-5&#34;&gt; 5&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-6&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-6&#34;&gt; 6&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-7&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-7&#34;&gt; 7&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-8&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-8&#34;&gt; 8&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-9&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-9&#34;&gt; 9&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-10&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-10&#34;&gt;10&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-11&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-11&#34;&gt;11&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-12&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-12&#34;&gt;12&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-13&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-13&#34;&gt;13&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-14&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-14&#34;&gt;14&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-15&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-15&#34;&gt;15&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-16&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-16&#34;&gt;16&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-17&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-17&#34;&gt;17&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-18&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-18&#34;&gt;18&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-19&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-19&#34;&gt;19&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-20&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-20&#34;&gt;20&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-21&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-21&#34;&gt;21&lt;/a&gt;
&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34; id=&#34;hl-0-22&#34;&gt;&lt;a style=&#34;outline:none;text-decoration:none;color:inherit&#34; href=&#34;#hl-0-22&#34;&gt;22&lt;/a&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;
&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;、创建一个名为deployment-clusterrole且仅允许创建以下资源类型的新 ClusterRole：Deployment，StatefulSet，DaemonSet；&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;在现有的namespace app-team1中创建一个名为cicd-token的新ServiceAccount限于namespace app-team1中，将新的 ClusterRole deployment-clusterrole绑定到新的ServiceAccount&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#40a070&#34;&gt;2&lt;/span&gt;、通过pod label name=cpu-loader，找到运行时占用大量 CPU 的 pod，并将占用 CPU 最高的 pod 名称写入文件 /opt/KUTR000401/KUTR00401.txt（已&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;存在）。&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#40a070&#34;&gt;3&lt;/span&gt;、在现有的namespace my-app中创建一个名为allow-port-from-namespace的新NetworkPolicy；确保新的 NetworkPolicy 允许 namespace echo 中的 Pods 连接到 namespace&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;my-app 中的 Pods 的 9000 端口；进一步确保新的 NetworkPolicy：不允许对没有在监听 端口 9000 的 Pods 的访问，不允许非来自 namespace echo 中的 Pods 的访问。&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#40a070&#34;&gt;4&lt;/span&gt;、请重新配置现有的deployment front-end以及添加名为http的端口规范来公开现有容器nginx的端口80/tcp；创建一个名为front-end-svc的新service，以公开容器端口http；配置此service，以通过各个Pod所在的节点上的NodePort来公开他们。&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#062873;font-weight:bold&#34;&gt;5、如下创建一个新的 nginx Ingress 资源：名称&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#062873;font-weight:bold&#34;&gt;ping，Namespace&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;ing-internal，使用服务端口5678在路径/hello上公开服务hello，可以使用以下命令检查服务hello的可用性，该命令应返回hello：curl -kL &amp;lt;INTERNAL_IP&amp;gt;/hello&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#062873;font-weight:bold&#34;&gt;6、创建一个新的 PersistentVolumeClaim，名称&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#062873;font-weight:bold&#34;&gt;pv-volume，Class&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#062873;font-weight:bold&#34;&gt;csi-hostpath-sc，容量&lt;/span&gt;:&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;10Mi；创建一个新的 Pod，来将PersistentVolumeClaim作为volume 进行挂载：名称：web-server，Image：nginx:1.16，挂载路径：/usr/share/nginx/html，配置新的Pod，以对volume具有 ReadWriteOnce权限。最后，使用 kubectl edit 或 kubectl patch 将 PersistentVolumeClaim 的容量扩展为70Mi，并记录此更改。&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#40a070&#34;&gt;7&lt;/span&gt;、使用busybox Image来将名为sidecar的sidecar容器添加到现有的Pod 11-factor-app中；新的 sidecar 容器必须运行以下命令：/bin/sh -c tail -n+1 -f /var/log/11-factor-app.log；使用挂载在/var/log 的 Volume，使日志文件11-factor-app.log可用于sidecar 容器；除了添加所需要的 volume mount 以外，请勿更改现有容器的规格&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#40a070&#34;&gt;8&lt;/span&gt;、现有的Kubernetes集群正在运行版本1.30,仅将master节点上的所有Kubernetes 控制平面和节点组件升级到版本 1.31,确保在升级之前drain master节点，并在升级后uncordon master节点.&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;可以使用以下命令，通过 ssh 连接到 master 节点：ssh master01&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;可以使用以下命令，在该 master 节点上获取更高权限：&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo -i&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;另外，在主节点上升级 kubelet 和 kubectl。 请不要升级工作节点，etcd，container 管理器，CNI 插件， DNS 服务或任何其他插件。&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;cka考试总结&#34;&gt;CKA考试总结&lt;/h2&gt;
&lt;p&gt;最后，放一张CKA证书收尾：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://wnote.com/images/2024/cka-2024.png&#34; alt=&#34;CKA&#34;&gt;&lt;/p&gt;
&lt;p&gt;通过这次CKA认证考试，整体来看难度适中，我觉得实操Kubernetes还是很重要的，尤其对于DevOps工程师；&lt;/p&gt;
&lt;p&gt;其实，要想高分通过，没有任何捷径可言，就是多吸收上面列举的知识点，多练习，多实操。&lt;/p&gt;
&lt;p&gt;最后，我想说的是考试只是一种形式，目的是为了证明自己熟练掌握k8s的技能，最终将这些技能应用到实际工作当中。&lt;/p&gt;
</description>
      
    </item>
    
  </channel>
</rss>
