专栏首页云计算随时随地部署Kubernetes

随时随地部署Kubernetes

容器(Container)提供了将应用程序以及其依赖关系与操作系统分离的能力。通过与虚拟机镜像不同的方式打包操作系统,容器可以节省大量的系统资源:比如说计算资源,内存和磁盘空间等。不仅如此,容器的下载,更新,部署和迭代也更加的快捷。正因为这样,在技术领域中,容器的应用已经引起了一场小规模的革命,并被很多云的提供商所采用。

随着技术的不断发展,为了满足容器编排和管理的需要,容器的小型化革命也带来了激烈的竞争。其中,Kubernetes已经成为业界领先的解决方案,其优势主要有以下三点:

  • 原生化云设计(Cloud-native design):支持部署和运行下一代应用程序
  • 开源性(Open-source):快速的迭代创新并可以避免被其他厂商锁定
  • 可移植性(Portability):无论是在云端,内部还是在虚拟机中,Kubernetes都可以随时随地进行部署

下图便展示了Kubernetes在云原生部署中的作用:

Kubernetes的容器编排

正如您所看到的,Kubernetes可以部署和管理您的容器化应用程序,其中包括NGINX,MySQL,Apache等等。它可以为容器提供布局,缩放,复制,监视等其他功能。

当我们选择了容器编排平台之后,下一步就可以开始部署Kubernetes了。正如我们之前所描述的那样,Kubernetes是一个便携式解决方案。因为Kubernetes使用了与笔记本电脑,云端或本地端相同的图像和配置,因此它的工作方式也与之完全相同。

1. Kubernets即服务(Kubernetes-as-a-Service)

这些解决方案提供了在各种各样的基础架构中部署Kubernetes的能力:比如说公共云或内部部署。以下几点就是为Kubernetes集群选择此方法的优势:

  1. 可以通过KaaS对提供商进行升级,监控和支持
  2. 能够轻松地扩展混合云或多云的环境
  3. 可以展示多个群集的单个窗格视图
  4. 高可用的多用户Kubernetes集群可以根据工作负载自动扩展和缩小
  5. 拥有常见的企业集成,例如SSO或独立的命名空间; 以及通过Helm图表部署应用程序的能力
  6. 集群联合能够提供跨多个云或数据中心的无缝混合环境

Platform9StackPoint.io便应用了Kubernetes-as-a-Service的解决方案。

2.托管基础设施

我们知道,将容器快速启动的方法就是将容器放置在公有云中,但是其中的数据也将驻留在网络边界和防火墙之外。

但是使用一些行业领先的解决方案的话,用户可以自由地选择容器编排平台(Kubernetes,Docker Swarm,DCOS),以及它还能在除了Linux之外的操作系统上(例如windows)部署容器化的应用程序。

3.本地化部署

Minikube是在本地部署Kubernetes中最流行的方式。它支持各种管理程序(hypervisor),包括VirtualBox,VMware Fusion,KVM和xhyve以及各种OS,包括OSX,Windows和Linux。下面的插图进一步描述了Minikube的部署:

Deployment with Minikube

如上所示,用户可以使用Minikube CLI和Kubernetes的本机CLI也就是Kubectl与此笔记本电脑进行部署的交互。Minikube CLI可以用于在虚拟机上启动,停止,删除,获取状态以及执行其他操作。而一旦Minikube虚拟机启动,Kubectl CLI也将在Kubernetes的集群上执行用户的操作。以下的命令是用于启动现有的Minikube虚拟机并创建NGINX Kubernetes部署的:

#minikube start
#cat> example.yaml << EOF
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment  
spec:
  replicas: 1
    template:
    metadata:    
      labels:      
        app: nginx      
    spec:
          containers:
            - name: nginx
              image: nginx
                ports:
                      - containerPort: 80
EOF
# kubectl create -f example.yaml

纲要

综上所述,其实我们谈到的Kubernetes即服务(Kubernetes-as-a-service),Kubernetes托管基础设施(Kubernetes hosted infrastructure),和Minikube只是三种部署Kubernetes的方式。如果您想参考各种部署模型的详细分析,注意事项,优缺点以及正面对比,请参考以下部署指南

下一步

本文的版权归 Zach展 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 容器只是一个起点

    容器,Docker,Kubernetes已经出现有四年了。以致于有些人甚至认为这项技术是成熟的!但是,我强烈认为,容器基础设施的构造任然处于成长阶段。

    Techeek
  • 使用Helm将应用程序部署到IBM Cloud上的Kubernetes

    Helm是Kubernetes的包管理程序。借助Helm,您可以非常方便地将应用程序,工具和数据库(如MongoDB,PostgreSQL,WordPress和...

    Techeek
  • 使用ACS和Kubernetes部署Red Hat JBoss Fuse

    Red Hat JBoss Fuse十多年来一直是构建Java Web / RESTful服务的事实标准。但是,你该如何在当今以云为中心的世界中有效运行?如您所...

    Techeek
  • 2020年值得关注的5种Kubernetes趋势

    随着Kubernetes的采用率不断增长,IT领导者们在未来一年将期待什么呢?寻求采用更多的“Kubernetes原生”应用程序,重点关注安全性和更智能的资源消...

    静一
  • 只需三步,轻松实现应用在 Kubernetes 上的优雅落地!

    出身豪门、大厂背书的 Kubernetes 项目自 2014 年 6 月开源以来,在众多厂商和开源爱好者的共同努力下迅速崛起,时至今日已成长为容器管理领域的事实...

    iMike
  • 豆瓣评分9.3的《Kubernetes In Action》中文版隆重上市,学习K8S更方便了!

    2017年,Docker 公司宣布下一版本的 Docker EE 中将全力拥抱 Kubernetes,这标志着Kubernetes获得容器编排之战中的全面胜利,...

    博文视点Broadview
  • 管理Kubernetes应该了解的7件事

    越来越多的团队开始在生产中使用Kubernetes来运行其容器化工作负载和应用程序。当零停机时间和安全性至关重要时,Kubernetes迅速成为在生产中运行大规...

    静一
  • 微软出品 Kubernetes 最新学习指南 v3.0,需要的赶紧下载吧!

    Kubernetes 正在席卷应用开发世界,这是一个不争的事实。预计到 2022 年,全球有超过 75% 的组织将在生产环境中运行容器化应用程序。

    iMike
  • 喧嚣之后,关于Kubernetes的一点思考

    理由有很多种,我们可以说 docker 无法解决多进程调度问题,也可以说  Kubernetes 是云时代的操作系统,消除了在设计中考虑底层网络和服务器基础设施...

    用户5166556
  • 如何选择合适的Kubernetes发行版

    很多用户采用Kubernetes协调其容器化应用程序。Kubernetes使用户可以轻松实现企业级部署。但是在实际安装Kubernetes之前,需要考虑的一件事...

    静一

扫码关注云+社区

领取腾讯云代金券