文章目录
重新认知
2021年,我在重新认识一切。最大的改变,不是像2020年在项目实践中驱动学习并以点扩面的盘旋积累自己的知识,而是复盘过去项目涉及的知识领域的重新认识。回顾匆忙的运维几年里,让我对维护项目的技术工具运用变得炉火纯青,并且即便是陌生初遇的bug也不再恐惧,只要拥有恰当的寻找方式和耐心,就一定会有答案。但今年重点不是这些。
我在思考:
- 项目运用的某一项技术需求是什么?
- 某一个技术项目解决的需求是什么?
- 它在同行中是怎么样的优势和突出?
- 产品来源的灵感在哪?
- 技术运用是否粘人?
- …
这些问题在别人看来是老生常谈,因为这些熟悉的字眼在每本书的第一页就是类似这样的开始。但看到一个东西是什么用途,与使用一个东西去实现它的用途,我们对此思考的内容是不一样的。
让工作内容更有价值与意义
过去我在匆忙体验追求作为一名工程师解决某项问题或某种需求的实在,而现在不止是这样,解决问题有多种方法,但每种方法不仅仅是各种技能操作不一样,通常面临选择的纠结,但我有一个标准,先尝试寻找当前业界最符合趋势的方法。然而,实情往往突出这样的需求:时间短、简单、粗暴。
因此,需求无论来自哪里,我会把它定义10分:
- 实现它是0到1的过程当然是1分;
- 技术运用是否符合潮流趋势1分;
- 是否存在日志与终端输出1分;
- 是否存在安全风险1分;
- 是否代码规范1分;
- 是否有说明readme1分;
- 是否可以被利用价值1分;
- 是否可以实现形式多种1分;
- 是否可以实现工作流1分;
- 有在开源或不仅我一个人知道并会使用它1分。
满分10分。
拥抱云原生,更接近未来
2021年,云原生领域,各个奇思妙想的技术在不断突破、构筑开源社区。而当我真正去学习的时候,发现我已经不知道被丢在哪里了,我不知道2022年是什么样子,但各个你想不到的技术就像海上的浪花一样,一个接着一个出现。
- 当我还在玩转docker的时候愁苦着修改docker配置容器也要伴随着重启的风险的时候,殊不知podman已经变为替代docker的无守护进程的工具。
- 当我们觉着minikube快速完成搭建一个单节点k8s集群的时候,但kind工具已经完全把它超越,在一个机器可以虚拟出多个节点。
- 当我还在本地编写Dockerfile享受着构建一个镜像的快感,但谁知道什么是完美的镜像,它安全吗?是最小优化吗?是否存在不必要的文件?当学习cks的时候,让我思考Dockerfile编写并不是单单让应用程序能够运行的一种实现,这还不算结束,docker-compose、Makefile可以实现构建部署的结合,这已经是一个非常简单的workerflow(工作流),但实际问题有时候我们是多种选择:
构建 | 部署 | ||
构建 | 推送 | 部署 | |
构建 | 扫描 | 推送 | 部署 |
- 另外,构建不仅是docker build,还有kaniko、BuildKit、buildah。Kaniko是2018年由谷歌提出,创建之初是寻求在执行容器镜像构建时消除对特权账户的依赖。
- 我们会想到结合gitlab的
.gitlab-ci.yml
、github的workerflow.yml
、jenkin的pipline等等去CI/CD实现自动化。这是我们熟悉的传统 CI/CD pipeline由外部事件触发,比如新代码被推送到应用程序库时,就触发了。而现在有了基于 Pull 的部署方法,引入了operator。它通过不断将环境配置库中的期望状态与部署环境中的实际状态进行比较来接管pipeline的角色。当发现差异时,operator会更新部署环境中的状态以匹配环境配置库。此外,它还可以监控 image registry ,以查找要部署的新镜像版本,那就是GitOps系列项目,例如:Flux、argo。
2021年,我还在学习crd、kustomize、envy、Istio 、harbor、helm、etcd、ansible、 terraform…, 这似乎预示着我在向 DevOps 工程师转变。
期待与展望
- 我希望在2022年初春季那下CKS( kuberents安全专家 )证书,并在中旬尝试考试KCNA考试(云原生初级操作考试),年末CFCD考试(云原生开发考试)。
- 我希望能参与并学习产品项目关于自动化、部署、改进的任务,并借此机会做一些开发的挑战。
我做了哪些事
概述简要
一月
- 梳理prometheus监控的相关技术并读完《promehues up &running 》
- 梳理kuberentes相关基础组件运用
- 学习go基础、python基础
二月、三月
- 备考elasticsearch
四月
- 备考cks
六月、七月
- 学习极客时间–倪朋飞《Linux 性能优化实战》
- 学习crd 开发
八月
- 学习极客时间–张磊《深入剖析Kubernetes》
- 学习go开发准入控制
九月
- 回顾docker知识架构
- 学习helm编排
- 梳理kubernetes组件运用梳理
十月
- 梳理kubernetes组件运用梳理
十一月
- 学习envy服务网格
- 梳理gitlab demo实战
- 梳理kubernetes组件运用梳理
- 学习kube-dbscale部署
十二月
- 学习argo CD demo构建
- 梳理gitlab demo实战