乐趣区

关于云原生:云原生运维工程师学习路线与资料

云原生曾经是云计算行业的事实标准,扭转了软件开发、部署和运维的工作、思维形式,也让运维人员的职业方向产生了极大的转变,这也要求云原生运维工程师相比传统运维须要把握不同的技术与方法论。

1、云原生运维的前景

一个职业方向是否有前途,岗位需求量是否大,又须要把握哪些外围技能,最靠谱的做法当然是去招聘网站上搜寻相干岗位,比方对于云原生运维,能够搜寻“云原生运维”、“DevOps 工程师”、“SRE 工程师”、“云原生架构师”、“Kubernetes 运维”等关键词,就能够理解到以后云原生运维的岗位需求量比拟大,待遇前景也远非传统运维可比。

而同时随着云计算行业的一直演变,云原生运维的工作内容和职责相比传统运维有了很大的不同,尤其是从传统 Linux 操作系统的运维转向了云原生时代的操作系统 Kubernetes 的运维上:

  • 相熟 DevOps、CI/CD,负责利用产品的继续交付和继续运维的工具体系的建设,撑持业务的疾速迭代与稳定性工具建设;
  • 欠缺 Kubernetes 集群的监控体系、日志剖析和全方位数据经营(包含可用性指标、历史事变、资源利用率等),进步监控有效性及时发现故障,保障业务可用;
  • 优化 Kubernetes 集群运维体系,对底层根底组件的部署继续调优,晋升各线的运维能力和问题解决效率
  • 负责 Kubernetes 集群运维平台的建设,打造自动化运维和管控体系;负责 Kubernetes 集群治理、部署公布、可观测体系等零碎的设计和实现;

反观传统的 Linux 运维,因为云服务商提供的 IaaS、PaaS 的遍及,以及运维自动化水平越来越高,传统运维诸多工作内容也渐被取代。计算机基础设施(容器化、私有云、混合云等),利用架构(微服务、分布式、十二因素应用程序)以及 DevOps、FinOps、DevSecOps 等开发流程和方法论对运维人员所须要把握的技术技能提出了新的要求。

2、云原生运维须要把握哪些技术

1、把握一门编程语言

通常,运维工程师对编程语言的要求远没有程序员那么高,传统运维工程师须要熟练掌握一些比拟风行的脚本语言 Shell、Python。不少公司底层应用的是 Java,如果你能理解 Java,尤其是可能独立部署上线 Java 我的项目(倒不须要会开发)就更好了。

而绝大多数风行的云原生我的项目都是 Golang 开发的,作为云原生运维工程师更举荐去学习 Golang 并把 Golang 作为本人的主力编程语言。

学习 Golang,比拟举荐 Golang 官网在“go.dev/learn”(可在浏览器里输出这个链接)里提供的学习材料,比方技术文档、《Tour of Go》、Go 的 Web Dev、CLIs、《Go by example》等等。

如果网站拜访慢或不习惯通过英文来学习,举荐被誉为“Go 语言圣经”的《Go 程序设计语言》(The Go Programming Language)这本书,Manning 的《Go 语言实战》(Go in Action)、O’reilly 的《Head First Go 语言程序设计》(这本书非常适合入门)。

2、操作系统根底与命令行

Linux 操作系统及其命令行能够说是每个程序员都应该把握的基础知识,更是运维工程师的“传统艺能”,云原生运维工程师也不例外。

这部分的常识实践性是十分强的,倡议在电脑本地或通过虚拟机装置一个 Ubuntu,或在腾讯云上购买一个云服务器 CVM,不能只看书或视频。

比拟举荐的是《Linux 命令行大全》、《鸟哥的 Linux 私房菜》、《Linux/UNIX 零碎编程手册》

3、计算机网络

DevOps 是开发 Development 和运维 Operations 的合称,因而云原生运维也须要把握开发人员必学的计算机科学的外围常识,除了操作系统外,计算机网络也是须要重点把握的内容。

除了须要理解 OSI 七层网络模型、过程通信形式、TCP/IP 协定、HTTP/HTTPS、抓包、iptables 等一些本地或自建服务器运维所须要把握的网络与平安常识;

还倡议通过云服务商提供的产品服务来实际学习,比方腾讯云的云服务器 CVM、对象存储 COS、云数据库 MySQL、负载平衡、NAT 网关、公有网络、CDN、音讯队列等产品的应用来深刻理解一些云计算相干的服务以及背地所波及的计算机网络相干的常识。

4、开发环境编译与部署

能够从根底的 LAMP、LNMP、Wordpress 以及一些比拟风行的开源我的项目的部署上线到云服务动手,把握 Nginx、Tomcat、Apache 等网页服务器、负载平衡,MySQL、Redis 数据库和缓存。

以上这些常识根本都是传统运维工程师须要把握的内容,当然也是云原生运维的根底,云原生运维(DevOps 工程师、SRE 工程师等)则次要须要把握云原生产品生态以及文化:

5、云原生根底

Docker 容器化和 Kubernetes 集群能够说是云原生最为重要的根底,学习时也举荐先从入手实际来动手。入手实战时,倡议在本地装置部署好 Docker 环境、Kubernetes 集群以及应用云服务商提供的线上托管 Kubernetes(如腾讯云容器产品 TKE、EKS)搭配来学习,这才贴近企业理论生产时的实在环境。

只管 Docker 和 Kubernetes 官网技术文档是一个不错的入门教程,然而依然存在很多老手不可避免的一些“坑”。

为此腾讯云【燎原社】推出了一套学习门槛更低、步骤性更强、内容更为具体且更加适宜国内用户学习的云原生技术工坊,旨在帮忙更多对云原生技术感兴趣的开发者疾速且零碎的把握 Docker 与 Kubernetes。

作为一款入门课程,对初学者十分敌对,不仅收费,还配有专门的学习交换群,群内学员打卡分享,气氛超棒!

详情可戳链接: 腾讯云燎原社技术工坊

6、微服务、DevOps 与云原生监控

微服务、DevOps 以及云原生监控方面,除了把握根底的技术产品外,比方 Jenkins、Prometheus 等之外,还波及到一些企业上云以及云原生落地的流程与方法论,举荐浏览一下《基于 Kubernetes 的云原生 DevOps》、《Kubernetes in Action》、《云原生模式》、《Kubernetes 设计模式》(Kubernetes Patterns) 等相干的书籍。

腾讯云【燎原社】还推出了为期 3 天的线下【云原生技术实战营】,腾讯云技术专家团队会面对面倾囊相授一线云原生实战经验,手把手教你业务容器化革新的“最佳实际”,参与者不仅能够和社区各畛域程序员一起提高,还能与腾讯资深架构师、产品继续交换。

详情可戳链接: 腾讯云燎原社云原生技术实战营

7、云原生不同方向的学习

以上内容都是云原生运维须要把握的根底内容了,在不同的企业,云原生运维可能会分一些方向,比方 DevOps 工程师、SRE 工程师、平台架构工程师等等,不同的方向须要进阶学习的点都会有所不同,然而 Docker、Kubernetes 以及云原生在企业的落地是这些方向的基石。

不同方向的深刻学习,须要联合企业本身业务以及去参考一下 CNCF 的一些开源我的项目了。

3、对于考据与进阶

对于初、中级的云原生运维工程师来说,无论是想给本人设立一个指标,或者考查常识把握程度,抑或是求职来说,无妨去考一下云原生相干的证书。云原生计算基金会 CNCF,通常来说比很多云厂商提供的认证证书含金量更高,不少企业在招聘时也明确提出 CKA 和 CKAD 是加分项。这些考试大多数都是实操题,Kubernetes 官网技术文档是考试时惟一可能参考的材料

  • Kubernetes 应用程序开发者认证 Certified Kubernetes Application Developer (CKAD):CKAD 考试证实用户能够为 Kubernetes 设计、构建、配置和公布云原生利用。通过 CKAD 认证的人员可能在 Kubernetes 中定义软件资源并且应用外围组件来搭建、监控、查看可伸缩利用;
  • Kubernetes 管理员认证 Certified Kubernetes Administrator (CKA):CKA 认证确保 CKA 认证人员具备履行 Kubernetes 管理员职责的技能、常识和能力。通过认证的 Kubernetes 管理员展现了包含根底装置和配置、治理产品级别的 Kubernetes 集群方面的能力。
  • Kubernetes 认证平安专家 (CKS):Kubernetes 认证平安专家我的项目确保证书持有人员容易胜任各种最佳实际。CKS 认证包含在构建、部署和运行时确保基于容器的应用程序和 Kubernetes 平台平安的技能。加入 CKS 的候选人必须持有现行的 CKA 证书,以证实他们具备足够的 Kubernetes 专业知识。

当然也还有一些其余证书,这里就不多做介绍了,毕竟证书不是目标,更倡议在把握了 Linux 运维以及云原生根底的童鞋去加入腾讯云【燎原社】组织的线下技术实战营,更贴近企业的生产实践以及有大厂的架构师能够去深刻交换。

退出移动版