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

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
20天前
|
Kubernetes API 调度
k8s 到底是什么,架构是怎么样的?
Kubernetes(k8s)是Google开源的容器集群管理系统,它通过YAML文件自动化应用部署、扩展和管理。k8s架构包含控制平面(API Server、Scheduler、Controller Manager和etcd)和工作节点(Node,含kubelet、Container runtime、Kube Proxy等)。控制平面负责调度和管理,Node执行任务。kubectl是命令行工具,用于与k8s交互。k8s通过Ingress暴露服务,并通过Pod作为最小调度单位管理容器。Docker通常与k8s结合使用,提供容器化应用,但二者并非同一概念。
48 4
k8s 到底是什么,架构是怎么样的?
|
1月前
|
存储 Kubernetes 负载均衡
Kubernetes的“厨房”:架构是菜谱,组件是厨具,资源对象是食材(下)
本文深入探讨了Kubernetes(K8s)的架构、核心组件以及资源对象。Kubernetes作为一个开源的容器编排系统,通过其独特的架构设计和丰富的组件,实现了对容器化应用程序的高效管理和扩展。通过本文的介绍,读者可以深入了解Kubernetes的架构、核心组件以及资源对象,从而更好地应用和管理容器化应用程序。Kubernetes的灵活性和可扩展性使得它成为容器编排领域的领先者,为企业提供了强大的容器运行环境。
|
1月前
|
SQL NoSQL 前端开发
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
|
28天前
|
Java fastjson 数据安全/隐私保护
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
【Dubbo3技术专题】「云原生微服务开发实战」 一同探索和分析研究RPC服务的底层原理和实现
39 0
|
1月前
|
运维 Linux Apache
LAMP架构调优(九)——Apache Rewrite功能实战
LAMP架构调优(九)——Apache Rewrite功能实战
13 1
|
1月前
|
Kubernetes 开发者 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【2月更文挑战第29天】在当今快速发展的软件开发领域,微服务架构已成为提高系统可维护性、扩展性和敏捷性的关键解决方案。本文将深入探讨如何利用Docker容器化技术和Kubernetes集群管理工具,共同构建一个既高效又可靠的微服务环境。我们将分析Docker和Kubernetes的核心功能,并展示它们如何协同工作以简化部署流程、增强服务发现机制以及实现无缝的服务伸缩。通过实际案例分析,本文旨在为开发者提供一套实用的微服务架构设计和实施指南。
|
1月前
|
Kubernetes API 调度
Kubernetes的“厨房”:架构是菜谱,组件是厨具,资源对象是食材(上)
本文深入探讨了Kubernetes(K8s)的架构、核心组件以及资源对象。Kubernetes作为一个开源的容器编排系统,通过其独特的架构设计和丰富的组件,实现了对容器化应用程序的高效管理和扩展。通过本文的介绍,读者可以深入了解Kubernetes的架构、核心组件以及资源对象,从而更好地应用和管理容器化应用程序。Kubernetes的灵活性和可扩展性使得它成为容器编排领域的领先者,为企业提供了强大的容器运行环境。
|
2月前
|
Java API 调度
从Spring Cloud 开始,聊一聊微服务架构的设计与实战
随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。
369 1
从Spring Cloud 开始,聊一聊微服务架构的设计与实战
|
2月前
|
KVM 虚拟化 Android开发
DP读书:鲲鹏处理器 架构与编程(十二)鲲鹏软件实战案例Docker+KVM的部署
DP读书:鲲鹏处理器 架构与编程(十二)鲲鹏软件实战案例Docker+KVM的部署
56 1
|
2月前
|
开发者 Docker 微服务
深入浅出:使用Docker容器化部署微服务架构
在当今快速迭代的软件开发环境中,微服务架构因其高度解耦和独立性而成为企业首选。然而,微服务的管理和部署可能会变得复杂和繁琐。本文将探讨如何利用Docker,一个轻量级的容器化技术,来简化和加速微服务的部署。我们将从Docker的基础概念入手,详细介绍如何创建、配置和运行微服务容器,最后讨论Docker在微服务架构中的优势和挑战。本文旨在为开发者提供一条清晰的路径,通过容器化技术实现微服务架构的高效部署和管理。
87 0

推荐镜像

更多