前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >随时随地部署Kubernetes

随时随地部署Kubernetes

作者头像
Techeek
发布2018-01-15 13:18:09
1.1K0
发布2018-01-15 13:18:09
举报
文章被收录于专栏:云计算云计算

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

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

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

下图便展示了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
Deployment with Minikube

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

代码语言:javascript
复制
#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的方式。如果您想参考各种部署模型的详细分析,注意事项,优缺点以及正面对比,请参考以下部署指南

下一步

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Kubernets即服务(Kubernetes-as-a-Service)
  • 2.托管基础设施
  • 3.本地化部署
  • 纲要
  • 下一步
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档