加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码网 (https://www.900php.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

混合云环境中扩展Kubernetes遇到的挑战及解决方案

发布时间:2018-11-01 08:17:43 所属栏目:评测 来源:佚名
导读:副标题#e# 流量突增时,我们需要扩展应用程序以满足用户需求。本文分享了扩展Kubernetes以及管理混合云环境时可能遇到的挑战,以及如何简单高效地完成Kubernetes扩展。 引 言 假设您的业务是在线的:您拥有自己的数据中心,拥有用于运行您网站的私有云。您
副标题[/!--empirenews.page--]

流量突增时,我们需要扩展应用程序以满足用户需求。本文分享了扩展Kubernetes以及管理混合云环境时可能遇到的挑战,以及如何简单高效地完成Kubernetes扩展。

混合云环境中扩展Kubernetes的挑战及方案

引 言

假设您的业务是在线的:您拥有自己的数据中心,拥有用于运行您网站的私有云。您需要部署许多服务器来运行应用程序并存储其数据。

也许大多数时候,您的网站的整体流量非常稳定。但也许也有时候,网站的流量会面临突然的增长,这时您该如何应对?

首先,您需要能够扩展应用程序,以应对流量增加。若您不想在每年只使用几次的新硬件上额外花钱,您可以考虑转向混合云模式。

从私有云转向混合云,可以大大节省时间和成本。将应用程序(部分)扩展到公有云后,您就只需在使用它们时、仅为您所使用的资源付费。

但是,您该如何选择公有云?您可以选择多个公有云吗?

简短来说,回答是肯定的,您很有可能需要选择多个公有云提供商。您也许有不同的团队,需要处理不同的应用程序,有不同的要求,因此一个云提供商可能无法满足您的所有需求。此外,许多组织需要遵守某些法律、法规和政策,这些法律、法规和政策要求他们的数据必须实际驻留在某些特定地点。使用多个公有云的策略可以帮助组织满足这些严格的、多样化的要求。他们还可以从多个数据中心区域或可用区域中进行选择,以尽可能接近最终用户,从而为他们提供最佳性能和最小延迟。

跨云扩展的挑战

你已经决定使用云了,所以让我们回过头来思考一下最初的问题。您的应用程序具有针对您的应用程序的微服务部署架构,这一架构上运行着需要扩展的容器。而这,就是Kubernetes发挥作用的地方。Kubernetes这一解决方案,可帮助您管理和编排节点集群中的容器化应用程序。虽然Kubernetes将帮助您管理和扩展部署、节点和集群,但它无法帮助您轻松地跨云提供商管理和扩展它们。这一点我们会在稍后详细介绍。

Kubernetes集群是一组机器(物理/虚拟),Kubernetes为集群提供资源以运行应用程序。首先,您需要了解的基本Kubernetes概念是:

Pod是控制一个或多个容器的单元,它会作为一个应用程序来被调度。通常,您应该为每个应用程序创建一个Pod,以便您可以单独扩展和控制它们。

节点组件是Kubernetes中的worker machine。节点可以是虚拟机(VM)或物理机,具体取决于集群。每个节点都包含运行pod所需的服务,并由主组件管理。

主组件管理着Pod的生命周期。如果Pod死亡,Controller会创建一个新的Pod;如果你对Pod进行扩容或缩容,那么Controller会创建/销毁你的Pod。有关Controller类型的更多信息,可以参阅此处:

https://kubernetes.io/docs/con ... aset/

这三个组件的作用是扩展和调度容器。主组件指示调度和扩容的命令,然后节点相应地根据命令来编排pod。

混合云环境中扩展Kubernetes的挑战及方案

上述只是Kubernetes非常基础的概念,这篇《零基础入门│带你理解Kubernetes》可以带你更详细地理解Kubernetes。

尝试使用Kubernetes解决跨云扩展的问题时,会遇到一些关键挑战:

  • 难以管理多个云、多个集群,设置用户,设置策略
  • 安装和配置的复杂性
  • 不同环境的用户或团队会有不同体验

Rancher可以帮助您解决上述难题。Rancher是一个开源的容器管理平台,用于在生产中运行Kubernetes。Rancher的下述功能可以帮助我们管理和扩展我们的应用程序,无论计算资源是在本地托管还是在多个云上托管:

  • 跨多个集群和云的通用基础架构管理
  • 简单易用的Kubernetes配置和部署界面
  • 一键轻松扩展Pod和集群
  • 访问控制和用户管理(ldap,AD)
  • 工作负载、RBAC、政策和项目管理
  • 在多云、甚至有可能是多个任何可以运行Kubernetes的基础架构上,Rancher都可以成为您的多个Kubernetes集群的单一控制点。

下面让我们看看我们如何管理两个不同区域的多个Kubernetes集群。

启动Rancher 2.0实例

首先,启动Rancher 2.0实例。具体方法可以参照这个快速上手指南:https://rancher.com/quick-start/

上手Rancher和Kubernetes

让我们在两个不同的地区的GCP中创建两个托管的Kubernetes集群。为此,您需要一个服务帐户密钥。

在Global选项卡中,我们可以看到所有可用的集群及其状态。从Provisioning状态开始,集群准备好后,状态会变成Active。

混合云环境中扩展Kubernetes的挑战及方案

混合云环境中扩展Kubernetes的挑战及方案

现在我们已经从Kubernetes集群中为每个节点部署了许多pod。这些pod将由Kubernetes和Rancher的内部系统使用。

下面继续为两个集群部署工作负载。按顺序选择默认项目; 这将打开Workloads选项卡。单击Deploy,将第一个集群的名称及Docker镜像设置为httpd,第二个集群的设置为nginx,因为我们希望将我们的Web服务器暴露给Port映射区域。选择一个四层负载均衡中的Internet流量。

混合云环境中扩展Kubernetes的挑战及方案

混合云环境中扩展Kubernetes的挑战及方案

(编辑:源码网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读