三种常见的部署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. 12-4 NSString

    原文:http://rypress.com/tutorials/objective-c/data-types/nsstring NSString 在本教程的内容可能我们已经看到过很多次了,NSStri ...

  2. 简单搞懂OAuth2.0

    本文转自:https://www.cnblogs.com/flashsun/p/7424071.html 原作者:闪客sun 一张图搞定OAuth2.0 目录 1.引言 2.OAuth2.0是什么 3 ...

  3. JavaScript自定义事件,动态添加属性

    根据事件的不同,可用的自定义方法也不同. document.createEvent('Event'); 实现主要有4个步骤: 1.创建事件. 2.初始化事件(三个参数:事件名,是否起泡,是否取消默认触 ...

  4. linux命令(12):ping命令

    1.ping网关:ping –b 192.168.1.1 2.ping指定次数:ping -c 10 192.168.1.100 3.时间间隔和次数限制的ping:ping -c 10 -i 0.5 ...

  5. HDU-1083

    Courses Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  6. 我是如何向老婆解释MapReduce的?

    转载自:<我是如何向老婆解释MapReduce的?> 昨天,我在Xebia印度办公室发表了一个关于MapReduce的演说.演说进行得很顺利,听众们都能够理解MapReduce的概念(根据 ...

  7. 《java并发编程实战》读书笔记12--原子变量,非阻塞算法,CAS

    第15章 原子变量与非阻塞同步机制 近年来,在并发算法领域的大多数研究都侧重于非阻塞算法,这种算法用底层的原子机器指令(例如比较并交换指令)代替锁老确保数据在并发访问中的一致性. 15.1 锁的劣势 ...

  8. 战火魔兽CJQ圣印问题

    本来一直是玩的T的. 一次偶然机会打了次团本,用CJQ(毒蛇),在副本中问CJQ用什么圣印 有人说命令,有人说腐蚀... 对此做先研究 无BUFF木桩测试:5分钟(开sp翅膀,不踩奉献,技能什么好了按 ...

  9. HDU3466 Proud Merchants [背包]

    题目传送门 Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/O ...

  10. go chapter 2 - read file(yaml)

    func main() { data, err := ioutil.ReadFile("D:/test/widua.go") if err != nil { fmt.Println ...