三种常见的部署Kubernetes的方式

Ghostcloud-001工号,资深Docker玩家,分布式系统研发11年。

​关注他

 

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

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

l 云原生架构设计:能支持和部署下一代应用程序;

l 开源的社区文化:保证了快速创新,避免厂商锁定;

l 可移植性:可在任何地方部署,无论是在云端、本地,还是虚拟机中,等等。

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

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、托管基础设施

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

Google的GKE领导着其他公有云供应商。谷歌一直在使用一个叫Borg的集群管理器来管理内部的容器项目,有超过十年的经验(来源:TheNextPlatform)。相比之下,微软的ACS则是一个相对年轻的产品,在今年2月份才推出对Kubernetes的支持。但是,ACS相当灵活:用户可自行选择容器编排平台(Kubernetes,Docker Swarm,DCOS),并且除了Linux之外,还可以在Windows上能部署容器化应用程序。如下图所示,GKE和ACS在公有云平台上, Kubernetes的服务和基础设施由托管提供商部署和管理。

3、本地部署

Minikube是本地部署Kubernetes最流行的方式。它支持各种虚拟机管理,包括VirtualBox,VMware Fusion,KVM和xhyve以及OS,包括OSX,Windows和Linux。

如上所示,用户使用Minikube CLI和Kubectl进行部署,这是Kubernetes的原生CLL。Minikube CLI可用于启动,停止,删除,获取状态,并在虚拟机上执行其他操作。一旦Minikube虚拟机启动,Kubectl CLI就会在Kubernetes集群上执行操作。以下命令启动现有的Minikube虚拟机并创建NGINX Kubernetes部署:

总结

综上,Kubernetes-as-a-service,Kubernetes托管基础设施,Minikube便是部署Kubernetes的三种方式。最后,如果你希望Kubernetes发挥最大的工作效能,还需要一款性能强劲,高效稳定的容器云平台,由Ghostcloud研发的EcOS平台便是一个很不错的选择,它可以让Kubernetes的优势展现得淋漓尽致。

关于Ghostcloud

Ghostcloud(中文名:精灵云)坐落于成都天府软件园,是成都高新区重点扶持企业,国内首批从事容器虚拟化研发的企业,是西南地区唯一一家基于Docker的云计算服务商,为企业级行业客户提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务。

Ghostcloud因容器技术而生,以最新容器技术Docker为基础,为适应不同行业客户需求,全自主研发了一套调度引擎框架Newben,且全方位适配Kubernetes主流开源调度引擎,也是国内率先实现双调度引擎的企业,是一流的企业级容器云服务专家。Ghostcloud推出了企业级容器云PaaS/CaaS平台,命名为EcOS(EnterpriseContainer
Operation System)。Ghostcloud将EcOS平台与微服务/DevOps相融合,运用至企业IT系统的全生命周期的开发、测试、运维及发布流程中,致力于为多个领域企业向“互联网+”转型提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务,帮助企业级客户降低成本、提升效率、简化运维及产品部署,并提升系统的可靠性和安全性。

 

三种常见的部署Kubernetes的方式的更多相关文章

  1. 二进制方式部署Kubernetes 1.6.0集群(开启TLS)

    本节内容: Kubernetes简介 环境信息 创建TLS加密通信的证书和密钥 下载和配置 kubectl(kubecontrol) 命令行工具 创建 kubeconfig 文件 创建高可用 etcd ...

  2. kubeadm部署Kubernetes集群

    Preface 通过kubeadm管理工具部署Kubernetes集群,相对离线包的二进制部署集群方式而言,更为简单与便捷.以下为个人学习总结: 两者区别在于前者部署方式使得大部分集群组件(Kube- ...

  3. 附003.Kubeadm部署Kubernetes

    一 kubeadm介绍 1.1 概述 Kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令作为快速创建 kubernetes 集群的最佳实践. k ...

  4. 深入学习jQuery的三种常见动画效果

    × 目录 [1]显隐效果 [2]高度变化 [3]淡入淡出 前面的话 动画效果是jQuery吸引人的地方.通过jQuery的动画方法,能够轻松地为网页添加视觉效果,给用户一种全新的体验.jQuery动画 ...

  5. 和我一步步部署 kubernetes 集群

    和我一步步部署 kubernetes 集群 本系列文档介绍使用二进制部署最新 kubernetes v1.6.1 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群: 在部署的过程中, ...

  6. 使用kubeadm部署Kubernetes集群

    一.环境架构与部署准备 1.集群节点架构与各节点所需安装的服务如下图: 2.安装环境与软件版本: Master: 所需软件:docker-ce 17.03.kubelet1.11.1.kubeadm1 ...

  7. 手动部署 kubernetes HA 集群

    前言 关于kubernetes HA集群部署的方式有很多种(这里的HA指的是master apiserver的高可用),比如通过keepalived vip漂移的方式.haproxy/nginx负载均 ...

  8. centos7 使用kubeadm 快速部署 kubernetes 国内源

    前言 搭建kubernetes时看文档以及资料走了很多弯路,so 整理了最后成功安装的过程已做记录.网上的搭建文章总是少一些步骤,想本人这样的小白总是部署不成功(^_^). 准备两台或两台以上的虚拟机 ...

  9. 使用 Kubeadm 安装部署 Kubernetes 1.12.1 集群

    手工搭建 Kubernetes 集群是一件很繁琐的事情,为了简化这些操作,就产生了很多安装配置工具,如 Kubeadm ,Kubespray,RKE 等组件,我最终选择了官方的 Kubeadm 主要是 ...

随机推荐

  1. Django REST Framework JWT提供的登录签发的视图

    Django REST Framework JWT提供了一个视图.在我们登录的时候,会校验用户名.密码是否正确.如果信息无误,可以返回一个JWT token.就可以简单地实现了记录用户登录状态. 用法 ...

  2. java字节码指令列表(转)

    字节码 助记符 指令含义 0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将i ...

  3. win10网速慢

    升级到win10之后发现网速特别慢,搜了下,网上的解决办法果然好使,按照如下操作即可. 返回桌面,按WIN+R键组合,运行gpedit.msc 打开组策略 依次展开管理模板->网络->Qo ...

  4. hdu 1495(BFS)

    非常可乐 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  5. hdu 1003(最大子段和)

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  6. linux下环境变量设置的问题

    在当前环境变量前新增加一个路径 export PATH=/your/bin/path:$PATH export LD_LIBRARY_PATH=/your/lib/path:$LD_LIBRARY_P ...

  7. 一次cloudstack启动cloudstack-agent报错的处理过程

    http://www.bubuko.com/infodetail-2397888.html

  8. 编译python可以调用的dll

    如果经过stdcall声明的方法,如果不是用def文件声明的导出函数或者extern “C” 声明的话,编译器会对函数名进行修改;在编译加上extern C:这样就OK了:另外可以在PYTHON代码里 ...

  9. 微信JSSDK分享功能实现

    <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <scri ...

  10. PAT L3-011. 直捣黄龙

    最短路. 先求出一个只包含最短路的$DAG$,然后在$DAG$上$dp$一下就可以了.英文变数字还有$map$转一下. #include<map> #include<set> ...