终于读完了阿里云p9专家分享云原生Kubernetes全栈架构师实战文档

简介: Kubernetes(简称K8s)发布至今已经被越来越多的公司所接纳,其受欢迎程度更是超过了人们的想象,已逐渐成为很多公司的标配,尤为重要的是掌握Kubernetes几乎成为所有互联网技术人员必备的一项技能。Kubernetes的诞生象征着下一代云计算的时代已经来临,它的出现让很多应用和架构逐步实现了统一化、标准化、简单化,降低了公司因为架构设计不合理带来的问题,而且也大大减少了运维成本,使用Kubernetes可以轻轻松松管理上千台服务器、上万个容器节点。

Kubernetes前言介绍

Kubernetes(简称K8s)发布至今已经被越来越多的公司所接纳,其受欢迎程度更是超过了人们的想象,已逐渐成为很多公司的标配,尤为重要的是掌握Kubernetes几乎成为所有互联网技术人员必备的一项技能。

Kubernetes的诞生象征着下一代云计算的时代已经来临,它的出现让很多应用和架构逐步实现了统一化、标准化、简单化,降低了公司因为架构设计不合理带来的问题,而且也大大减少了运维成本,使用Kubernetes可以轻轻松松管理上千台服务器、上万个容器节点。

虽然Kubernetes给我们带来了诸多便利,减少了超过半数的应用运维工作,但是迄今为止学习Kubernetes依旧是一件很困难的事情。

首先是它的核心概念颇多,学习起来比较乏味,而且部分概念难以理解,从而导致学习成本甚高;

其次Kubernetes涉及的领域也比较广泛,了解过CNCF的读者可能知道,以Kubernetes为中心展开的周边云原生的生态是多么宏伟且庞大的一张蓝图。

由此看来,学习Kubernetes并不是一件容易的事情,也并非是一项两三天就能掌握的技术,但这些并不意味着Kubernetes是一艘不可驾驶的“船舶”,我们只需要找到方向由浅入深,系统地学习Kubernetes的设计理念及周边比较重要且常用的知识,这样下来无论公司有什么样的需求场景,无论今后再学习什么样的周边生态,都不再是一件困难的事情。

而本文的出发点就是为了解决上述问题,让读者更加清晰明了、全面、系统地学习Kubernetes知识及周边的一些常用工具的使用,从而成为一位合格的Kubernetes全栈工程师及DevOps工程师。


网络异常,图片无法展示
|

包含的主要内容

本文根据不同的知识结构将内容划分为7个板块,共18章,分别为安装篇、基础篇、进阶篇、高级篇、运维篇、DevOps篇和拓展篇。

网络异常,图片无法展示
|

第1章 Kubeadm安装高可用K8s集群,本章完成了使用Kubeadm方式安装高可用的Kubernetes集群,至此读者已经打开了Kubernetes的第一扇大门。在安装过程中,如果有任何疑问,可以直接在GitHub上提问,如果对概念不理解,直接翻到对应的基础概念部分学习即可。

网络异常,图片无法展示
|

第2章 二进制安装高可用K8s集群,本章完成了使用二进制方式安装Kubernetes高可用集群,虽然安装过程较为复杂,但这也是每个技术人员必须要掌握的内容。同时,在安装过程中,也可以更加深刻地理解每个组件的工作原理。

网络异常,图片无法展示
|

基础篇

第3章 Docker基础,通过上面的学习,已经足以满足生产环境的各类需求。实际使用时,可能并非是使用Docker进行镜像的制作,但是目前Docker的普及率依旧很高,所以对Docker的学习也是非常重要的。无论使用哪种方式制作镜像,都需要基于“不用的工具不装、选择小镜像”的原则,这样做出来的镜像才会更安全、体积更小,才能达到生产环境的要求。

网络异常,图片无法展示
|

第4章Kubernetes的基础概念,Kubernetes是谷歌以Borg为前身,基于谷歌15年生产环境经验开源的一个项目。Kubernetes致力于提供跨主机集群的自动部署、扩展、高可用以及运行应用程序容器的平台,其遵循主从式架构设计,其组件可以分为工作节点(Node)组件和控制平面组件。Kubernetes Master是集群的主要控制单元,用于管理其工作负载并指导整个系统的通信。Kubernetes控制平面由各自的进程组成,每个组件都可以在单个主节点上运行,也可以在支持高可用集群的多个节点上运行。本章主要介绍Kubernetes的重要概念和相关组件。

网络异常,图片无法展示
|

第5章Kubernetes调度基础,本章学习了Kubernetes开箱即用的调度资源,Deployment是实际使用时用得最多的一种类型。Kubernetes原生的资源调度基本上可以满足大部分的需求,但是在实际使用时,可能还会有一些定制化的需求,比如计划任务需要在每台服务器都要执行等。此类需求可以根据实际情况开发定制化的资源调度,类似的有阿里云开源的OpenKruise等。

网络异常,图片无法展示
|

第6章Kubernetes服务发布基础,本章讲解了服务发布的两种方式,即Service和Ingress。通常情况下,Service用于程序间的内部访问,即后端服务之间的相互调用。而Ingress多用于对外发布服务,即通过域名的形式让用户能访问到内部服务,这也是最普遍的发布方式,但是如果一个不需要对外发布的后端服务,通过Ingress被另一个后端服务调用,则相当于从外部绕了一圈,这不是推荐的方式。

网络异常,图片无法展示
|

第7章Kubernetes配置管理,本章学习了Kubernetes的配置管理,可以使用ConfigMap和Secret管理应用程序的配置,这也是云原生要素非常重要的一环——配置分离。

网络异常,图片无法展示
|

第8~11章为进阶篇,主要介绍Kubernetes的持久化存储、动态存储、CSI、高级调度(容忍、污点和亲和力)、服务质量、权限管理、Kubernetes资源配额管理。

网络异常,图片无法展示
|

第12、13章为高级篇,主要介绍云原生存储、中间件容器化、Operator和Helm的使用。

第12章 云原生存储Rook,本章主要讲解了Kubernetes动态存储及存储分类,而不是在企业内部如何搭建一个存储平台。对于企业内部生产级的存储平台的设计与落地,也并非一件容易的事情,读者可以参考与存储有关的资料。本章的重点是Kubernetes更高级的存储知识,比如扩容、快照等。

网络异常,图片无法展示
|

第13章 中间件容器化,本章演示了Operator和Helm的简单使用,可以看到,基本上常用的一些服务都能找到对应的Operator或者Helm进行部署,一些常用的开源项目一般不需要我们自行编写Operator控制器或者Helm的包,只需要在官方网站或者GitHub找到相关资料即可。通过上述演示也能看出来,无论是什么中间件,部署步骤都是一致的,基本没有太大的区别。Operator就是创建CRD和控制器,然后创建自定义资源,Helm就是找到对应的包,然后通过install安装。

将一些中间件服务部署到Kubernetes中,可以很大程度地降低应用部署的复杂度,同时可以提升部署的效率。如果企业内部有完善的存储平台供Kubernetes使用,基本上可以将任何中间件部署至Kubernetes集群,也就是实现“一切皆容器”的思想。通常情况下,在Kubernetes集群外部会有一个Ceph这样的分布式存储平台供Kubernetes使用,在Kubernetes上部署对应的CSI进行存储编排,之后即可非常方便地实现中间件数据的持久化,这也是常用的一种方式和架构。

网络异常,图片无法展示
|

第14~16章为运维篇,主要介绍针对Kubernetes的日志收集(EFK)、监控告警(Prometheus和Grafana)、生产级服务发布Ingress实践。

网络异常,图片无法展示
|

第17章为DevOps篇,主要介绍基于Kubernetes、Jenkins、Harbor、GitLab等工具建设生产级的DevOps平台,实现开发、测试、UAT、生产环境的流水线设计。

本章主要演示Java、Vue前端、Golang的自动化构建配置,演示了容器化业务部署的不同方式,均使用Jenkins新特性声明式流水线进行持续集成和持续部署,在实际使用时不一定非要使用流水线进行构建,也可以根据自己的业务场景选择其他风格的构建方式。

网络异常,图片无法展示
|

第18章为拓展篇,主要介绍云原生基石——服务网格Istio的使用,实现对Kubernetes内部服务的细粒度流量管理。

讲解了服务网格的基本知识及服务网格给我们带来的“红利”,也实践了Istio的网络功能。可以看到在使用服务网格时,在不更改代码的情况下就可以实现比较复杂的网络功能。所以在设计云原生应用时,这也是比较流行、比较推荐的方式,即把网络功能下沉到基础设施,让开发人员只需要关注业务逻辑即可,这样可以大幅度降低开发人员的工作难度。

网络异常,图片无法展示
|

本文档一共有686页,因为包含的内容过多,在这里就不给大家一一介绍了!



网络异常,图片无法展示
|

本文从动手搭建Kubernetes集群入手,方便读者快速入门Kubernetes的相关概念与知识,而后进一步掌握基于Kubernetes自动化部署、扩展、优化及管理以容器为对象与主体的,当代云计算架构的重要工具与技巧。这正是本文的主要价值与意义之所在。

本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
758 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
本文内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
1001 15
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
|
运维 Cloud Native 测试技术
极氪汽车云原生架构落地实践
随着极氪数字业务的飞速发展,背后的 IT 技术也在不断更新迭代。极氪极为重视客户对服务的体验,并将系统稳定性、业务功能的迭代效率、问题的快速定位和解决视为构建核心竞争力的基石。
|
11月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
11月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
800 2
|
11月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
3740 1
|
运维 监控 Cloud Native
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
376 1

推荐镜像

更多