未找到结果

您的搜索操作未匹配到任何结果。

我们建议您尝试以下操作,以帮助您找到所需内容:

  • 检查关键词搜索的拼写。
  • 使用同义词代替键入的关键词,例如,尝试使用“应用”代替“软件”。
  • 请尝试下方显示的热门搜索之一。
  • 重新搜索。
热门问题

Kubernetes

Kubernetes 通常被称为“面向云的操作系统”。它是一个开源平台,专用于管理容器化应用和服务集群,早在 2014 年由 Google 工程师 Joe Beda、Brendan Burns 和 Craig McLuckie 开发,随后开源并迅速成为了一个欣欣向荣的云原生生态系统。如今,Kubernetes(在古希腊语中意为“舵手”或“飞行员”)由隶属于 Linux 基金会的 云原生计算基金会 (CNCF) 托管。

Kubernetes 不仅是首个从 CNCF 毕业的项目,还是历史上增长最快的开源项目之一。目前,Kubernetes 拥有超过 2300 位贡献者,已经得到了各种不同规模企业的广泛采用,包括 50% 的财富 100 强企业。

KubeCon 是什么?

KubeCon 是面向 Kubernetes 开发人员和用户的年度盛会。2015 年,第一届 KubeCon 吸引了 500 名与会者。现在,KubeCon 已发展成为了云原生社区的一项重要活动。2019 年,美国加利福尼亚州圣地亚哥 KubeCon 吸引了 12000 名开发人员和站点可靠性工程师,共同庆祝欣欣向荣的 Kubernetes 云编排平台的开源生态系统。

容器是什么?

随着开发人员越来越多地为各种具有不同的云、测试环境、便携式计算机、设备、操作系统和平台的计算环境部署软件,确保软件可靠运行已成为一项至关重要的任务。而这正是容器的用武之地:将应用与应用的整个运行时环境捆绑在一起。在这一意义上,容器就是一种虚拟化形式,它们可提供一个包含适当的库、依赖关系和操作系统的“气泡”,在“气泡”中运行应用。区别在于,容器仅包含应用所需的资源,比虚拟机小。

Kubernetes 与 Docker 对比

Linux 容器早在 2008 年就已存在,但直到 2013 年 Docker 容器推出,才开始引起大范围的关注。而随着越来越多的人开始部署容器化应用(包含运行所需的一切要素),一个新的问题凸显了出来,那就是如何管理数千个容器。对此,Kubernetes 可以自动化编排容器生命周期,将容器分布在整个托管基础设施中;可以按需扩展或收缩资源;可以供应、调度、删除容器,监视容器运行状况。

Kubernetes 包含哪些组件?

Kubernetes 的关键组件包括集群、节点和控制平面。其中,集群包含节点,节点托管 pod(pod 包含被部署应用的要素)且每个节点包含至少一个工作机,控制平面则负责管理集群中的节点和 pod — 通常跨多个计算机,以实现高可用性。

Kubernetes 包含哪些构成要素?
  • 控制平面包含以下要素:
  • Kubernetes API 服务器:提供用于控制 Kubernetes 的编程接口 (API)
  • etcd:面向集群数据的键值存储
  • Kubernetes 调度器:将新 pod 匹配至可用节点
  • Kubernetes-controller-manager:运行多个进程,从而管理节点故障、控制复制、通过端点加入服务和 pod,以及控制帐户和访问令牌
  • Cloud-controller-manager:围绕特定基础设施路由和负载平衡等方面,管理来自特定云提供商的 API

节点包含以下要素:

  • kubelet:一个负责检查容器是否在 pod 中运行的代理
  • Kubernetes 网络代理:维护网络规则
  • Docker、容器或其他类型的容器运行时

Kubernetes 可提供哪些优势?

使用容器,您可以确保自己的应用与应用运行所需的一切要素捆绑在一起。而在使用容器(通常包含微服务)时,您可以通过 Kubernetes 来自动管理和分发容器。

借助 Kubernetes,企业可以:

自动扩展 按需进行部署扩展或收缩。
发现服务 通过 DNS 或 IP 地址查找容器化服务。
平衡负载 通过分配网络流量来稳定部署。
管理存储 选择本地存储或云存储。
控制版本 选择待运行的容器类型,以及待通过新映像或容器资源替换哪些容器。
确保安全 安全更新特定容器映像的相关密码、OAuth 令牌和 SSH 密钥。

使用 Kubernetes 将面临哪些挑战?

尽管 Kubernetes 具有高度的可组合性,支持任意类型的应用,但有时它却很难理解和使用。正如许多 CNCF 成员所说,对于特定负载,Kubernetes 并不始终是最佳方案。也正是因为这一原因,在 Kubernetes 生态系统中,很多企业为解决特定负载问题创建了许多云原生工具。

由于 Kubernetes 部署的是容器而不是源代码,也不会构建应用,您需要使用更多其他工具来处理日志、中间件、监视、配置、CI/CD 和许多其他生产活动。换言之,Kubernetes 是可扩展的,事实也证明它适用于从喷气式飞机到机器学习的广泛使用场景。事实上,包括 Oracle、Google、Amazon Web Services 等在内的云提供商已开始使用 Kubernetes 的可扩展性来构建托管式 Kubernetes 服务,以此来降低复杂性,提高开发人员效率。

托管式 Kubernetes 是什么?

Oracle 云基础设施 Container Engine for Kubernetes 是一项开发人员友好的托管式服务,专用于将容器化应用部署到云端。如果您的开发团队希望可靠地构建、部署和管理云原生应用,那么请使用 Container Engine for Kubernetes。您只需指定应用所需的计算资源,随后 Container Engine for Kubernetes 就将在现有云基础设施租户内的 Oracle 云基础设施上供应这些资源。

即使您不使用 Oracle 云基础设施上的托管式 Kubernetes 服务,Container Engine for Kubernetes 也能依托 Oracle 云基础设施的控制力、安全性和可预测性能,助您轻松运行高可用集群。此外,Container Engine for Kubernetes 同时支持使用裸机和虚拟机作为节点,而且还通过了 CNCF 认证。最后,您无需任何额外操作就能获得所有 Kubernetes 更新并轻松与 CNCF 生态系统保持兼容。

AgroScout

AgroScout 持续面临一个严峻的计算挑战:扫描从田间捕获的数百万张图像,帮助农民确定特定农作物叶片是否健康。如果不健康,AgroScout 的自治侦察系统内置的机器学习算法将确定是否是由已知病虫害引起的,或是否出现了新的威胁。

AgroScout 首席执行官 Simcha Shore 选择采用 Oracle 云来开发和运行系统应用和算法。为了确保应用顺利采集、管理并将图像上传至云端,AgroScout 采用了各种 Oracle 云原生服务,包括 Container Engine for Kubernetes 和 Oracle 云基础设施注册表。此前,其他云提供商需要 24 小时才能完成应用更新,而现在 Oracle 只需要几分钟。如今,AgroScout 基于 Oracle 云基础设施的 GPU 实例运行机器学习,成功满足了机器学习负载的速度和性能要求。

欧洲核子研究组织 (CERN)

位于日内瓦的欧洲核子研究组织 (CERN) 拥有全球最大的粒子物理实验室。为满足最盛大的“开放日”活动要求,CERN 将预订系统 100% 托管在 Oracle 云上,基于 Oracle 云原生服务和 Oracle 自治事务处理数据库运行。

Kubernetes 生态系统和社区

Oracle 是云原生计算基金会 (CNCF) 的铂金会员。该基金会是一个开源社区,为数十个具有不同成熟度水平的软件开发项目提供支持。事实证明,基金会所有已毕业项目(Kubernetes、PrometheusEnvoyCoreDNScontainerdFluentdJaegerVitessTUFHelm)在云原生开发的各个方面都发挥了巨大价值。

如何上手使用 Kubernetes?

Kubernetes 拥有一个庞大的生态系统,可为自身相关项目提供强大支持。不过使用 Kubernetes 不是一件简单的事,仅仅只满足于解决简单问题可能陷入“不可知的兔子洞”。虽然如此,您可以先从简单问题入手,随后按需进阶,了解高级概念。了解如何:

  • 使用 Docker 和 Kubernetes 设置本地开发环境
  • 使用 Helidon 创建一个简单的 Java 微服务
  • 使用 Docker 将微服务构建到容器映像中
  • 在本地 Kubernetes 集群上部署微服务
  • 在集群上扩展和收缩微服务

 

基于 OCI 的 Kubernetes 简介