Kubernetes + Docker 完整课程 – 二合一实践!

Kubernetes – Kubernetes Docker – kubernetes AWS – kubernete 云 – 使用 docker 的 kubernetes – 100% 动手实践!

讲师:Up Degree

口袋资源独家Udemy付费课程独家中英文字幕配套资料齐全!

不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。

你将学到什么

  • 能够理解、管理和部署 Kubernetes
  • 部署 Kubernetes 集群
  • 开始容器化并在 Kubernetes 上运行容器
  • 使用负载均衡使应用程序在 Kubernetes 上运行
  • 能够在 Kubernetes 上运行无状态和有状态应用程序
  • 能够部署MySQL、Wordpress Kubernetes

要求

  • 对计算机科学概念的基本理解:关于操作系统和可执行单元
  • 对docker和容器有基本的了解
  • 熟悉 Linux、MacOS 或 Windows 命令行(我们将指导您完成操作,但只需要稍微熟悉一下即可)
  • 对云计算的基本了解会对您有所帮助,但不是必需的

描述

Kubernetes Docker 完整课程将帮助您了解如何在 Kubernetes 上运行、部署和维护应用程序。如果您热衷于 DevOps,那么这是您需要学习的技术。 Kubernetes 最近很受欢迎,它是公司瞄准的一项技能。

本课程将向您展示如何使用 docker 在容器中构建应用程序以及如何将其部署到 Kubernetes 集群。另一方面,本 Kubernetes 课程将向您解释如何在桌面上或使用 AWS 在云上设置 Kubernetes 集群。

 

什么是 Kubernetes?

Kubernetes是一个开源的容器编排技术系统。Kubernetes主要用于容器化应用程序的自动化部署、扩展和管理。

Kubernetes 最初由 Google 设计,然后开源。并且从那时到现在 Kubernetes 由云原生计算基金会维护。

Kubernetes 旨在提供一个“跨主机集群自动部署、扩展和操作应用程序容器的平台”,它可与包括 Docker 在内的一系列容器工具配合使用。

Kubernetes 是一个可移植且可扩展的平台,用于管理容器化工作负载和服务,促进声明式配置和自动化。 Kubernetes 拥有庞大且快速发展的生态系统。 Kubernetes 服务、支持和工具具有广泛的可用性。

Google 于 2014 年开源了 Kubernetes 项目。Kubernetes 建立在 Google 十五年大规模运行生产工作负载的经验之上,并结合了社区的最佳想法和实践。

尽管 Kubernetes 提供了很多功能,但总有新的场景会从新功能中受益。可以简化特定于应用程序的工作流程以加快开发人员的速度。最初可接受的临时编排通常需要大规模的强大自动化。这就是为什么 Kubernetes 也被设计为构建组件和工具生态系统的平台,以便更轻松地部署、扩展和管理应用程序。

Kubernetes 中的标签使用户能够随心所欲地组织资源。注释使用户能够使用自定义信息来装饰资源,以促进其工作流程,并为管理工具提供检查点状态的简单方法。

Kubernetes 控制平面主要基于开发人员和用户可用的相同 API 构建。用户可以使用自己的 API 编写自己的控制器(例如调度程序),这些 API 可以作为通用命令行工具的目标。

这种设计使得许多其他系统能够构建 Kubernetes。

另一方面,Kubernetes 并不是一个传统的或包罗万象的平台即服务(PaaS)系统。由于 Kubernetes 在容器级别而不是硬件级别运行,因此它提供了一些 PaaS 产品常见的通用功能,例如部署、扩展、负载平衡、日志记录和监控。然而,Kubernetes 并不是单一的,这些默认解决方案是可选的且可插拔的。 Kubernetes 提供了用于构建开发人员平台的构建块,但在重要的地方保留了用户的选择和灵活性。

 

以下是 Kubernetes 的一些优点

首先,Kubernetes 不限制支持的应用程序类型。此外,Kubernetes 的目标是支持极其多样化的工作负载,包括无状态和有状态甚至数据处理工作负载。这就是为什么如果应用程序可以在容器中运行,那么它应该在 Kubernetes 上运行得很好。

Kubernetes 从不部署源代码,也不会构建您的应用程序。持续集成、交付和部署 (CI/CD) 工作流程由组织文化和偏好以及技术要求决定。

Kubernetes 不提供应用程序级服务,例如中间件(例如消息总线)、数据处理框架(例如 Spark)、MySQL 等数据库、缓存作为内置服务。此类组件可以在 Kubernetes 上运行,和/或可以由 Kubernetes 上运行的应用程序通过可移植机制(例如 Open Service Broker)访问。

Kubernetes 从不规定日志记录、监控或警报解决方案。它提供了一些集成作为概念证明以及收集和导出指标的机制。

Kubernetes 也不提供也不强制要求配置语言/系统(例如 jsonnet)。它提供了一个声明性 API,可以以任意形式的声明性规范为目标。

Kubernetes 从不提供也不采用任何全面的机器配置、维护、管理或自我修复系统。

尽管 Kubernetes 不仅仅是一个编排系统。事实上,kubernetes 消除了编排的需要。相比之下,Kubernetes 由一组独立的、可组合的控制流程组成。Kubernetes 还会不断地将当前状态驱动到所提供的期望状态。

 

Kubernetes 的用途是什么?

Kubernetes 是一个开源系统,用于管理跨多个主机的容器化应用程序,提供应用程序的部署、维护和扩展的基本机制。简单来说,Kubernetes 是 Google 推出的容器编排工具。

Kubernetes 是如何工作的?

Kubernetes 主要可以定义为一组构建块。Kubernetes 共同提供部署、维护和扩展应用程序的机制。 Kubernetes 是松耦合且可扩展的,可以满足不同的工作负载。这种可扩展性很大程度上是由 Kubernetes API 提供的,它由内部组件以及在 Kubernetes 上运行的扩展和容器使用

Kubernetes 有一些被广泛使用的关键组件:

  • 豆荚
  • 标签和选择器
  • 控制器
  • 服务

Kubernetes中的pod是什么

Kubernetes Pod 是一组容器。 Pod 可以一起部署在同一主机上。如果您经常部署单个容器,一般可以将“pod”一词替换为“容器”,准确理解概念。

Pod 的运行级别比单个容器高,因为一组容器一起工作来生成工件或处理一组工作是很常见的。

例如,考虑这对容器:一个缓存服务器和一个缓存“warmer”。您可以将这两个函数构建到单个容器中,但现在它们都可以根据特定任务进行定制并在不同项目之间共享。

 

Kubernetes 中的标签和选择器是什么?

标签和选择器是 Kubernetes 中的主要分组机制,决定操作适用的组件。

标签是附加到 Kubernetes 对象(例如 Pod)的键值对。它们旨在用于指定对用户有意义且相关的对象属性,而不直接影响核心系统的隐含语义。

与名称和 UID 不同,Kubernetes 中的标签不提供唯一性。一般来说,我们期望许多对象带有相同的标签。

通过标签选择器,客户端/用户可以识别一组对象。标签选择器是 Kubernetes 中的核心分组原语。

该 API 目前支持两种类型的选择器:基于相等的选择器和基于集合的选择器。标签选择器可以由多个以逗号分隔的要求组成。如果有多个要求,则必须满足所有要求,因此逗号分隔符充当逻辑 AND (&&) 运算符。

Kubernetes 中的控制器是什么?

控制器是一个协调循环,可将实际集群状态驱动到所需的集群状态。它通过管理一组 pod 来实现这一点。一种控制器是复制控制器,它通过在集群中运行指定数量的 Pod 副本来处理复制和扩展。如果底层节点发生故障,它还会处理创建替换 Pod。作为核心 Kubernetes 系统一部分的其他控制器包括一个“DaemonSet 控制器”,用于在每台机器或某些机器子集上运行一个 pod,以及一个“作业控制器”,用于运行作为批处理作业的一部分运行到完成的 pod。控制器管理的 pod 集由 Kubernetes 标签选择器确定,这些标签选择器是控制器定义的一部分。

Kubernetes 中的服务是什么?

Kubernetes 服务是一组可以协同工作的 Pod,例如多层应用程序的一层。构成服务的一组 Pod 由标签选择器定义。Kubernetes 通过为服务分配稳定的 IP 地址和 DNS 名称来提供服务发现和请求路由,并以循环方式将流量负载均衡到该服务的网络连接Pod 之间的 IP 地址与选择器匹配,即使故障导致 Pod 从一台机器移动到另一台机器也是如此。默认情况下,服务会在集群内部公开,但服务也可以在 kubernetes 集群外部公开。

为什么你应该开始学习 Kubernetes?

当我们的客户要求我们创建一个高可用的分布式系统时,我们通常会推荐 Kubernetes,因为 Kubernetes 确实易于使用,尽管它的初始学习曲线很陡峭,而且 Kubernetes 仍然比其他竞争编排引擎简单得多。

Kubernetes 还可以与 Node 应用程序完美配合,因为它基于 Docker。这就是为什么您可以使用 Kubernetes 运行任何类型的应用程序。

众所周知,kubernetes 是一个从 Google 衍生出来的开源项目,它可以自动化大规模部署和管理多容器应用程序的过程。虽然 Kubernetes 主要与 Docker 配合使用,但它也可以与任何符合容器镜像格式和运行时开放容器计划 (OCI) 标准的容器系统配合使用。

而且由于 Kubernetes 是开源的,对其使用方式的限制相对较少,因此任何想要运行容器的人都可以自由使用它,几乎可以在任何他们想要运行容器的地方使用。

Kubernetes 引入了新的抽象和概念,并且 Kubernetes 的学习曲线很高,因此询问使用 Kubernetes 的长期回报是什么是很正常的。以下是在 Kubernetes 内运行应用程序变得更容易的一些具体方法的概述。

Kubernetes 为您管理应用程序运行状况、复制、负载平衡和硬件资源分配。 Kubernetes 让您摆脱的最基本职责之一是保持应用程序正常运行并响应用户需求。变得“不健康”或不符合您为其描述的健康定义的应用程序可以使用 kubernetes 自动修复。

Kubernetes 的另一个好处是它最大限度地利用了硬件资源,包括内存、存储 I/O 和网络带宽。应用程序可以对其资源使用设置软限制和硬限制。许多使用最少资源的应用程序可以打包在同一硬件上;需要扩展的应用程序可以放置在系统上。同样,跨集群推出更新,或者在更新中断时回滚,都可以自动化。

Kubernetes Helm 图表简化了预配置应用程序的部署。 Debian Linux 的 APT 和 Python 的 Pip 等包管理器为用户省去了手动安装和配置应用程序的麻烦。当应用程序具有多个外部依赖项时,这尤其方便。

Helm 类似于 Kubernetes 的包管理器。许多流行的软件应用程序必须在 Kubernetes 中作为多个组合在一起的容器运行。 Helm 提供了一种定义机制,即“图表”,它描述了给定的软件如何作为 Kubernetes 内的一组容器运行。

Kubernetes 简化了存储、机密和其他应用程序相关资源的管理。容器本来就是不可变的;无论你放入其中的内容都不会改变。但应用程序需要状态,因此这意味着它们需要一种可靠的方式来处理外部存储卷。容器在应用程序的生命周期中生存、消亡和重生的方式使得一切变得更加复杂。

Kubernetes 始终允许容器和应用程序以与其他资源相同的解耦方式处理存储。许多常见的存储类型,从 Amazon EBS 卷到普通的旧式 NFS 共享,都可以通过 Kubernetes 存储驱动程序(称为卷)进行访问。通常,卷绑定到特定的 Pod,但称为“持久卷”的卷子类型可用于需要独立于 Kubernetes 中任何 Pod 存在的数据。

有时,这些容器需要使用“秘密”,这些“秘密”不过是 API 密钥或服务密码等凭证,您不希望将它们硬连线在容器中或公开存储在磁盘卷上。虽然可以使用第三方解决方案,例如 Docker Secrets 和 HashiCorp Vault,

在这种情况下,Kubernetes 使用自己的秘密处理机制。例如,Etcd 必须配置为在节点之间发送包含机密的信息(而不是明文)时使用 SSL/TLS。

Kubernetes 应用程序可以在混合和多云环境中运行。云计算的长期梦想之一是能够在任何云或任何公共云或私有云混合中运行任何应用程序。

Kubernetes 的架构利用了各种概念和抽象。其中一些是现有的、熟悉的概念的变体,但其他一些是 Kubernetes 特有的。

Kubernetes 的最高级别抽象是“集群”,指的是运行 Kubernetes(本身就是一个集群应用程序)的机器组以及由它管理的容器。 Kubernetes 集群必须有一个master,即命令和控制集群中所有其他 Kubernetes 机器的系统。高度可用的 Kubernetes 集群可在多台机器上复制主设备的设施。但一次只有一个主机运行作业调度程序和控制器管理器。

每个集群包含 Kubernetes节点。这个 Kubernetes 节点可能是物理机或虚拟机。同样,这个想法是抽象的:无论应用程序在其上运行,Kubernetes 都会处理该底层上的部署。还可以确保某些容器仅在虚拟机或裸机上运行。

节点运行pod,这是可以创建或管理的最基本的 Kubernetes 对象。每个 Pod 代表 Kubernetes 中应用程序或正在运行的进程的单个实例,并由一个或多个容器组成。另一方面,Kubernetes 将 Pod 中的所有容器作为一个组启动、停止和复制。 Pod 让用户的注意力集中在应用程序上,而不是容器本身。

根据需要在节点上创建和销毁 Pod,以符合用户在 Pod 定义中指定的所需状态。 Kubernetes 提供了一个称为控制器的抽象,用于处理 Pod 启动、推出和关闭的逻辑。

根据所管理的应用程序的类型,控制器有几种不同的风格。例如,最近推出的“StatefulSet”控制器用于处理需要持久状态的应用程序。另一种控制器是部署,用于向上或向下扩展应用程序、将应用程序更新到新版本,或者在出现问题时将应用程序回滚到已知良好的版本。

由于 Kubernetes 中的 Pod 根据需要而生存和消亡,因此我们需要不同的抽象来处理应用程序生命周期。应用程序应该是一个持久实体,即使运行组成应用程序的容器的 Pod 本身并不持久。

为此,Kubernetes 提供了一个称为服务的抽象。

服务描述了如何通过网络访问给定的一组 Pod 或其他 Kubernetes 对象。正如 Kubernetes 文档所述,构成应用程序后端的 Pod 可能会发生变化,但前端不必知道或跟踪它。服务使这一切成为可能。

Kubernetes 内部的其他一些部分使这幅图更加完整。调度程序将工作负载分配给节点,以便它们在资源之间保持平衡,并使部署满足应用程序定义的要求。控制器管理器确保系统的状态(应用程序、工作负载等)与 Etcd 配置设置中定义的所需状态相匹配。

Kubernetes 工程师每年能赚多少钱?

kubernetes工程师的薪资也非常有吸引力。

软件工程师– 7.6 万美元到 15.2 万美元

高级软件工程师– 10.3 万美元到 16.6 万美元

开发运营 (DevOps) 工程师– 8.4 万美元至 15.4 万美元

站点可靠性工程师 (SRE) – 6.9 万美元至 16.4 万美元

高级软件工程师/开发人员/程序员– $92K 至 $157K

软件开发工程师– 10.4 万美元到 11.8 万美元

软件架构师– 9.5 万美元到 15.4 万美元

 

Kubernetes 和使用 Kubernetes 的公司的就业机会:

在 Kubernetes 中没有。下面列出了全球的工作岗位以及正在招聘 Kubernetes 专家的公司

  • 红帽
  • 甲骨文
  • 谷歌
  • 微软
  • 三星SDS
  • 国际商业机器公司
  • 荷兰国际集团
  • 华为
  • 奈克
  • 文字
  • 飞利浦
  • 兴趣
  • 树液
  • 声云
  • 雅虎
  • 眨眼
  • 吊带
  • 开放人工智能
  • 纽约时间
  • 米兰蒂斯
  • 世纪联
  • 阿普伦达
  • GitHub
  • 编织工厂
  • 体式
  • 缓冲
  • 圆Ci
  • 印象笔记
  • 收成
  • 英特尔
  • 视觉应用程序
  • 购物
  • 星巴克
  • 数字海洋
  • 卡普斯凯尔
  • 广告形式
  • 艾玛迪斯
  • 祖先
  • 盒子
  • 黑石
  • 康卡斯特
  • 易趣及更多
  • 30天退款保证!

现在再次回到这门课程,所以这门 Kubernetes 课程非常适合容器技术的初学者、专家、Kubernetes 工程新手或想要进一步丰富 Kubernetes 知识的人。

本课程包括以下章节:

  • 课程介绍与概述
  • 什么是 Kubernetes?
  • 为什么选择 Kubernetes?
  • 启动并运行:基础知识
  • 集群架构
  • 核心对象和基元

向您展示 Kubernetes 桌面安装的入门讲座可以免费预览,因此您可以在购买课程之前先浏览一下!

你还在等什么?立即报名课程并开始使用Kubernetes

您将从 Udemy 获得本课程的 30 天退款保证。

如果不满意,只需在 30 天内要求退款。您将获得全额退款。没有提出任何问题。

您准备好将您的 DevOps 技能和职业提升到一个新的水平吗?现在就参加本课程吧!

您将在几个小时内从零成为 Kubernetes 英雄。

本课程适合谁:

  • 任何有兴趣开发生产应用程序的人
  • 运行、部署和维护应用程序的工程师、管理员和 DevOps 人员
  • 需要了解应用程序部署的项目和职能经理以及架构师

发表回复

后才能评论

  • 每一个课程页面,都有演示地址选项,点击链接可以跳转到课程发布网站查看详细课程列表。
  • 绝大部分课程都有试看内容,可以先点击试看,再决定是否购买。
  • 本站课程均存储在阿里云盘或百度网盘中,由于阿里云盘对分享的文件类型有限制,所以课程资料和字幕会存储到蓝奏云盘中。
  • 阿里云盘和蓝奏云盘都是不限速下载的,你既可以选择在阿里云盘中在线学习,也可以选择下载到本地学习。
  • 课程下载到本地可以挂载中英文双字幕,请点击查看Potplayer挂载中英文双字幕教程
  • 本站所有课程,均提供mp4格式视频文件,中英文双字幕,配套资料齐全,不加密。
  • 每一个课程右侧下载面板中,都会有清晰度标识,大部分都是1080P或者720P,还有少数是超高清的。
  • 本站课程购买之后,均可以免费更新,所有课程,皆配有中文字幕。
  • 请注意,课程的中文字幕是根据英文字幕用谷歌翻译生成的,本非人工翻译。谷歌翻译准确度尚可,学习观看,没有问题。
  • 由于数字资源具有可复制性,一旦购买,不接受退款要求,请在购买之前,认真了解课程内容,确定是否需要。
  • 当然,如果有特殊情况,可以查看网站底部联系方式,联系站长说明问题,我会为你妥善处理。
  • 赞助本站VIP会员,可以免费下载所有课程,详情请查看VIP介绍