终于读完了阿里云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给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
1月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
26天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
128 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
1天前
|
人工智能 编解码 自然语言处理
AI运用爆发时代, 视频服务云原生底座“视频云”架构的全智能再进化
本文介绍了AI运用爆发时代下,视频服务云原生底座“视频云”架构的全智能再进化。随着AI技术的发展,视频内容和交互方式正经历深刻变革。文章从背景、视频AI应用挑战、视频云网端底座、AIGC时代的全智能化及未来展望五个方面展开讨论。重点阐述了云、网、端三者如何深度融合,通过AI赋能视频采集、生产、分发和消费全流程,实现视频处理的智能化和高效化。同时,展望了未来AI在视频领域的创新应用和潜在的杀手级应用。
|
1月前
|
运维 Cloud Native 持续交付
云原生技术深度探索:重塑现代IT架构的无形之力####
本文深入剖析了云原生技术的核心概念、关键技术组件及其对现代IT架构变革的深远影响。通过实例解析,揭示云原生如何促进企业实现敏捷开发、弹性伸缩与成本优化,为数字化转型提供强有力的技术支撑。不同于传统综述,本摘要直接聚焦于云原生技术的价值本质,旨在为读者构建一个宏观且具体的技术蓝图。 ####
|
1月前
|
弹性计算 运维 Cloud Native
云原生架构的崛起与未来展望
在数字化转型的浪潮中,云原生架构凭借其高效、灵活和可扩展的特性,正逐渐成为企业IT战略的核心。本文旨在探讨云原生架构的定义、关键特性、实施优势以及面临的挑战,同时展望未来的发展趋势。通过深入分析,我们期望为读者提供一个关于云原生架构全面而深入的视角,助力企业在云计算时代做出更明智的决策。
47 3
|
1月前
|
Cloud Native API 持续交付
云原生时代的微服务架构设计
随着云计算的蓬勃发展,云原生概念逐渐成为IT行业的热点。本文将通过深入浅出的方式,介绍在云原生环境下,如何设计一个高效、可扩展的微服务架构。文章不仅涉及理论概念,还将结合实际代码示例,帮助读者理解微服务架构的核心要素和设计原则,以及如何在云平台上实现这些设计。
|
2月前
|
Cloud Native 持续交付 云计算
云原生技术在现代IT架构中的转型力量####
本文深入剖析了云原生技术的精髓,探讨其在现代IT架构转型中的关键作用与实践路径。通过具体案例分析,展示了云原生如何赋能企业实现更高效的资源利用、更快的迭代速度以及更强的系统稳定性,为读者提供了一套可借鉴的实施框架与策略。 ####
33 0
|
2月前
|
Kubernetes Cloud Native 持续交付
容器化、Kubernetes与微服务架构的融合
容器化、Kubernetes与微服务架构的融合
57 1
|
1月前
|
Cloud Native API 持续交付
云原生架构下的微服务治理策略与实践####
本文旨在探讨云原生环境下微服务架构的治理策略,通过分析当前面临的挑战,提出一系列实用的解决方案。我们将深入讨论如何利用容器化、服务网格(Service Mesh)等先进技术手段,提升微服务系统的可管理性、可扩展性和容错能力。此外,还将分享一些来自一线项目的经验教训,帮助读者更好地理解和应用这些理论到实际工作中去。 ####
50 0