K8s证书--运维之最佳选择(K8s Certificate - the best Choice for Operation and Maintenance)

news2025/3/30 14:55:22

K8s证书--运维之最佳选择

No

-Number-

01

一个月速通CKA

为了速通CKA,主要办了两件事情

1. 在官方的Killercoda上,练习CKA的题目。把命令敲熟悉。 // 

https://killercoda.com/killer-shell-ckad

2. 使用K3s在多台虚拟机上快速搭建了K8s集群,然后在CSDN上找了别人分享的真题来练习。

别人两天速通CKA的教程

https://segmentfault.com/a/1190000044723122

考试有两次机会,挺严格的,需要开摄像头,拿着摄像头将整个房间扫描一遍。还需要开着全局的VPN才能流畅考试。

考试过程中无法切屏,人不能离开摄像头范围,也不能发出声音,嘴巴也不能做口型。

CKA 60分就算过,不过会有分数,过了就不会有分数,只有证书。

图片

K8s的使用就是一些kubectl,大部分也就是一些yaml文件的配置。但是很多options会经常忘记,一些yaml的key-value格式也经常忘。

总之就是熟能生巧,使用K3s可以搭建集群来复习。或者直接使用Killercoda来复习。

图片

No

-Number-

02

拿着CKA没找到工作

CKA全称是Certified Kubernetes Administrator。对应的中文就是K8s管理员。

在花了一个月考取了CKA证书之后,想凭着这个证书在Boss上收获更多的面试,甚至能找到一个K8s相关的offer。

然而联系了两百个K8s相关的岗位后,投递出去约100家后,只有不到7个的K8s相关面试。当然最后,也全挂了。

K8s的岗位,要么是大厂的K8s开发(golang开发),要么是大厂和小厂的K8s运维。

这两者都不是说,你有了CKA之后,就有面试机会。而是相关经验很匹配,然后又有CKA这个加分项,面试机会才会更大。

图片

很多网站也在鼓吹CKA有多重要,多重要。甚至开始卖课了,零基础拿下CKA认证。但属实是有点贩卖焦虑了。

图片

它直接给我贴大厂K8s相关岗位的薪资,用红圈圈出,CKA优先等字体。

要不要考CKA还是要认清楚三个现状

1. 要做K8s相关的开发,需要了解Kubernetes的很多原理,并且这些原理考完CKA,在遇到面试官提问K8s问题时,你也不一定会回答出来,因为在考CKA时不需要关注这些。

2. 要做K8s相关的开发,基本只有大厂才有,要求很高。不管是K8s相关的要求,还是golang相关的要求,都不低。几百个人的公司,对此要求也不低。

3. 要做K8s相关的运维,基本只有大厂和一些非IT类的企业需要运维K8s集群才有岗位。通常这些岗位会要求有各种各样的运维经验。数据库、Linux、各种中间件。并且运维招聘的人就很少。

总的来说,如果没有相关的经验,再去应聘。只拿着CKA证书,基本没有面试。

No

-Number-

03

Operator了解吗

在考完了CKA,想拿着这个证书去市场叱咤风云,但是各种没有听过的K8s八股文直接把我问懵了

问题:kubectl创建一个pod,kubectl背后发生的通信链路是?

回答:kubectl和kube-apiserver通信,api-server负责解析yaml文件

1. kube-apiserver --- kubectl直接与apiserver交互。间接和其它组件交互

2. etcd --- 由kube-apiserver直接与etcd交互

3. kubelet --- 这是宿主机的进程,负责与容器运行时交互

4. kube-controller-manager --- 重点关注,因为没有在图片上体现出来 和kube-apiserver交互,主动watch controller,确保controller的状态和预期一致 //controller通过监听kube-apiserver的事件,delete事件、watch事件、add事件等等

5. kube-scheduler ---- 负责调度pod--- 只在master节点上有,不直接与kubelet交互 --- kube-apiserver发送new pod事件通知kube-scheduler,然后将调度策略通知给kube-apiserver

总结就是kubectl、etcd、kube-controller-manager、kube-scheduler、kubelet进程都是直接和kube-apiserver直接通信,然后这些组件之间通过kube-apiserver间接通信。

还有一个kube-proxy进程运行在每个节点上的进程。负责集群内部,节点之间的流量转发。也就是三层IP层。kube-proxy、ingress、network-policy比较容易混淆

组件

组件

kube-proxy进程

运行在每个节点上的进程。负责集群内部,节点之间的流量转发。也就是三层IP层

ingress-controller(pod来的)

用于http/https层,也就是7层。用于集群外部的流量,进入内部时,哪一些路由,应该访问哪些pod

network-policy(具体由CNI控制,CNI以Daemonset部署)

主要是针对ip去做分流,实现pod、service之间的访问控制

问题:K8s的Operator了解吗?

回答:operator指的是一种模式。允许用户自定义自己的crd,deployment等等。以及可以自定义控制pod的运行

operator主要有3个组件

1. CR custom resource // 自定义资源

2. Controller---Observe the current state, compare it to the desired state and adjust the state // Controller is just some logic // 这个controller也是以pod的形式来运行。但是会监视CR的状态

3. State --- The state just holds the information of what the desired state of the resource is and the resource is the thing that you are managing. // 具体的表现形式就是yaml

官网是直接给了一个demo。参考:https://kubernetes.io/zh-cn/docs/concepts/extend-kubernetes/operator/

1.有一个名为 SampleDB 的自定义资源,你可以将其配置到集群中。

2.一个包含 Operator 控制器部分的 Deployment,用来确保 Pod 处于运行状态。// 控制器Controller本身也是一种Pod

3.Operator 代码的容器镜像。

4.控制器代码,负责查询控制平面以找出已配置的 SampleDB 资源。

5.Operator 的核心是告诉 API 服务器,如何使现实与代码里配置的资源匹配。

- 如果添加新的 SampleDB,Operator 将设置 PersistentVolumeClaims 以提供持久化的数据库存储, 设置 StatefulSet 以运行 SampleDB,并设置 Job 来处理初始配置。

- 如果你删除它,Operator 将建立快照,然后确保 StatefulSet 和 Volume 已被删除。

6.Operator 也可以管理常规数据库的备份。对于每个 SampleDB 资源,Operator 会确定何时创建(可以连接到数据库并进行备份的)Pod。这些 Pod 将依赖于 ConfigMap 和/或具有数据库连接详细信息和凭据的 Secret。

7.由于 Operator 旨在为其管理的资源提供强大的自动化功能,因此它还需要一些额外的支持性代码。 在这个示例中,代码将检查数据库是否正运行在旧版本上, 如果是,则创建 Job 对象为你升级数据库。

问题Deployment 、StatefulSet、DaemonSet、ReplicaSet 都有啥区别?

回答:如下

组件

作用

replicaset

管理pod副本的,部署无状态应用---k8s官方也不建议直接操作replicaset。应该使用deployment,deployment功能更多

deployment

管理Pod和ReplicaSet,部署无状态应用,滚动升级等功能

statefulset

部署有状态应用---比如mysql主从集群

Daemonset

保每个node都运行某个pod。一般这种pod里面放的是一些守护进程。

No

-Number-

04

总结

考了CKA也不能直接就有offer,K8s的八股文还是不能少,做K8s开发的路更难。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2322501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leaflet.js+leaflet.heat实现热力图

Leaflet热力图 #mermaid-svg-I1zXN0OrNCBGKEWy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-I1zXN0OrNCBGKEWy .error-icon{fill:#552222;}#mermaid-svg-I1zXN0OrNCBGKEWy .error-text{fill:#552222;stroke:#5522…

通过git文件查看大模型下载链接的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

多源最短路:Floyd算法の暴力美学

多源最短路求解的是图中的任意两个节点之间的最短路。 前文我们已经讲过单源最短路,我们完全可以做n次单源最短路算法,求出任意两节点的最短距离。最快的堆优化版的 dijkstra 算法的时间复杂度为o(m * logm),枚举n次时…

simpleITK - Setup - Pythonic Syntactic Sugar

Pythonic Syntactic Sugar Image Basics Notebook 非常简单,与 ITK 的 C 接口非常接近。 Sugar非常棒,它能让你精力充沛,更快地完成任务!SimpleITK 也应用了大量Sugar来帮助更快地完成任务。 %matplotlib inline import matplo…

下载vmware17

我用VMware10安装ubuntu24,死活不能成功,要么突然退出,要么装着装着,眼看完成,居然卡住不动,一查日志,提示光盘读取失败(用的ISO文件,居然装模作样的说光驱读取失败&…

德昂观点:如何看待MicroStrategy改名为Strategy?

2025年2月,纳斯达克上市公司MicroStrategy(股票代码:MSTR)宣布更名为“Strategy”,并同步启用全新品牌标识与橙色主视觉。这不仅是品牌形象的更新,更是公司战略方向的明确宣示。德昂作为MSTR中国区BI合作伙…

嵌入式八股RTOS与Linux---网络系统篇

前言 关于计网的什么TCP三次握手 几层模型啊TCP报文啥的不在这里讲,会单独分成一个计算机网络模块   这里主要介绍介绍lwip和socket FreeRTOS下的网络接口–移植LWIP 实际上FreeRTOS并不自带网络接口,我们一般会通过移植lwip协议栈让FreeRTOS可以通过网络接口收发数据,具体可…

Django 生成 ssl 安全证书,切换 https、wss协议(daphne 、nginx)

Django 普通 http 协议不够安全,无法支持连接本地摄像头(虽然在本地 localhost 上能连),此时需要切换成 https 协议(先提个醒,我这个方法最后失败了,不过对您应该也有帮助) 目录 配置…

告别Win10强制更新:永久关闭系统更新指南

你是否厌倦了Win10在开关机时的强制自动更新?无论你是在赶时间还是专注于工作,那突如其来的更新提示总是让人不胜其烦。屏幕上那句“正在更新,请勿关闭电源”的提示,仿佛是对你无奈的嘲笑。别担心,今天我将教你如何永久…

罗杰斯特回归

定义 逻辑回归其实就是原来的线性回归加了激活函数,这个函数其实就是sigmoid函数,把一个回归的连续数值压缩到了0到1的空间,其实只要有函数能够满足把数值压缩到0,1之间就可以(因为0到1之间的数值就是概率值) 对于分类…

【嵌入式学习2】C语言 - VScode环境搭建

目录 ## 语言分类 ## c语言编译器 ## VScode相关配置 ## 语言分类 编译型语言:C,C解释型语言:python,JS ## c语言编译器 分类GCC 系列MinGWCygwinMSVC系列一套编程语言编译器将GCC编译器和GNU Binutils移植到Win32平台下的产物…

利用脚本和Shader制作屏幕后处理效果

一、屏幕后处理的实现原理 该屏幕后处理的原理是将渲染完成后的屏幕纹理通过脚本和Shader完成一些操作,然后实现各种屏幕效果 而实现屏幕后处理效果的主要操作就是获得当下渲染完成后的屏幕图像,其中unity提供了一个函数用于获取此图像——OnRenderIma…

【银河麒麟系统常识】命令:uname -m(查看系统架构)

命令: uname -m 功能 常用的 Linux/Unix 终端命令,用于显示当前系统的硬件架构; 返回 返回系统的CPU架构类型,用于判断软件兼容性; 输出结果架构说明常见设备x86_64Intel/AMD 64位 CPU主流 PC、服务器aarch64ARM 64位 …

3.1.2 内存池

文章目录 3.1.2 内存池1. 什么是内存池2. 内存管理1. 定长2. 不定长3. jemalloc4. tcmalloc 3.1.2 内存池 1. 什么是内存池 内存池(Memory Pool) 是一种 预先分配 一块大内存,然后按需分配和回收 其中小块内存的技术。它的本质是管理一块连续…

基于SpringBoot + Vue 的餐厅点餐管理系统

SpringBootVue餐厅点餐管理系统 技术框架 后端:springboot mybatisPlus前端:Vue2 elementUI数据库:mysql项目构建工具:maven 数据库表 14张 角色及功能 管理员:登录、用户管理、餐桌信息管理、菜品类型管理、菜…

【博客节选】再谈Unity 的 root motion

节选自 【Unity实战笔记】第二十三 root motion变更方向攻击 (OnStateMove rootmotion rigidbody 使用的一些问题) 小伙伴们应该对root motion非常困惑,包括那个bake into pose。 当xz bake into pose后,角色攻击动画与父节点产…

26考研——栈、队列和数组_栈(3)

408答疑 文章目录 一、栈1、栈(Stack)的概念和特点定义术语操作特性示例直观理解栈的基本操作初始化栈判断栈是否为空入栈操作出栈操作读取栈顶元素销毁栈 栈的数学性质 2、栈的顺序存储结构顺序栈的定义栈顶指针初始化注意事项 共享栈共享栈的操作共享栈…

基于 mxgraph 实现流程图

mxgraph 可以实现复杂的流程图绘制。mxGraph里的Graph指的是图论(Graph Theory)里的图而不是柱状图、饼图和甘特图等图(chart),因此想找这些图的读者可以结束阅读了。 作为图论的图,它包含点和边,如下图所示。 交通图 横道图 架构图 mxGrap…

动态路由机制MoE专家库架构在多医疗AI专家协同会诊中的应用探析

随着医疗人工智能技术的飞速进步,AI在医学领域的应用日益增多,尤其是在复杂疾病的诊断和治疗中,AI技术的应用带来了巨大的潜力。特别是动态路由机制混合专家(Mixture of Experts,MoE)架构,因其灵活、高效的特点,正逐渐成为实现多AI专家协同会诊的关键技术。通过将多个不…

双工通信:WebSocket服务

(一)WebSocket概述 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输 注意;Websocket也只能由客户端先握…