技术文章 | 三种常见的部署Kubernetes的方式

来源:互联网 发布:剪辑音乐软件手机 编辑:程序博客网 时间:2024/06/14 15:45

本文来源于阿里云-云栖社区,原文点击这里


容器技术将应用程序及其依赖关系与操作系统进行分离,不像虚拟机那样要打包整个操作系统,这样一来,就能节约更多的系统资源,同时容器在下载、升级、部署和迭代的时候也更高效。因此,在IT技术界中,容器技术的发展之势可谓是如日中天,就连Google,微软和亚马逊等这类世界知名公司也开始使用这项技术。


容器技术的发展不免也引起了各类容器编排工具的激烈竞争。Kubernetes,作为Google开源的容器编排工具,已率先成为领先的解决方案,能成就它主要有三个原因:

  • 云原生架构设计:能支持和部署下一代应用程序;
  • 开源的社区文化:保证了快速创新,避免厂商锁定;
  • 可移植性:可在任何地方部署,无论是在云端、本地,还是虚拟机中,等等。

下图表示Kubernetes在云原生部署:

1


Kubernetes能部署和管理容器化应用程序,其中包括NGINX,MySQL,Apache等。同时它能为容器提供调度,弹性伸缩,复制,监控及其他容器管理功能。

一旦你确定了容器编排平台,接下来就是部署Kubernetes。之前有提到,Kubernetes是一套轻便且灵巧的解决方案。这是因为Kubernetes使用同样的镜像和配置,在笔记本电脑,云端或本地的工作方式完全相同。而部署Kubernetes大致有以下三种形式:

1、 Kubernetes-as-a-Service

这些解决方案能够在各种基础设施中部署kubernetes:比如公有云或者本地私有化。Kubernetes集群选择这种方法有以下几个优点:

  1. 通过KaaS供应商升级,监控和支持
  2. 混合云或多云环境下轻松扩充
  3. 多个集群也能良好的展现
  4. 高可用的多主机Kubernetes集群,能根据负载进行自动伸缩
  5. 常见的企业集成,如SSO /隔离命名空间; 以及拥有通过Helm chart部署应用程序的能力
  6. 集群联合,在多个云或数据中心之间提供无缝的混合环境

2

2、托管基础设施

Google云平台和微软Azure分别通过GKE(Google Container Engine)和ACS(Azure Container Service)提供Kubernetes 。在公有云中使用容器技术可以快速启动,但这样一来,数据将驻留在网络和防火墙之外。


展开全文