文档章节

Kubernetes部署与应用解决方案大全

openthings
 openthings
发布于 2018/03/01 15:48
字数 1325
阅读 519
收藏 0

Kubernetes部署与应用解决方案大全

Kubernetes can run on various platforms: from your laptop, to VMs on a cloud provider, to a rack of bare metal servers. The effort required to set up a cluster varies from running a single command to crafting your own customized cluster. Use this guide to choose a solution that fits your needs.

If you just want to “kick the tires” on Kubernetes, use the local Docker-based solutions.

When you are ready to scale up to more machines and higher availability, a hosted solution is the easiest to create and maintain.

Turnkey cloud solutions require only a few commands to create and cover a wide range of cloud providers. On-Premises turnkey cloud solutions have the simplicity of the turnkey cloud solution combined with the security of your own private network.

If you already have a way to configure hosting resources, use kubeadm to easily bring up a cluster with a single command per machine.

Custom solutions vary from step-by-step instructions to general advice for setting up a Kubernetes cluster from scratch.

Local-machine Solutions

  • Minikube is the recommended method for creating a local, single-node Kubernetes cluster for development and testing. Setup is completely automated and doesn’t require a cloud provider account.

  • Kubeadm-dind is a multi-node (while minikube is single-node) Kubernetes cluster which only requires a docker daemon. It uses docker-in-docker technique to spawn the Kubernetes cluster.

  • Ubuntu on LXD supports a nine-instance deployment on localhost.

  • IBM Cloud Private-CE (Community Edition) can use VirtualBox on your machine to deploy Kubernetes to one or more VMs for development and test scenarios. Scales to full multi-node cluster.

Hosted Solutions

  • Google Kubernetes Engine offers managed Kubernetes clusters.

  • Amazon Elastic Container Service for Kubernetes offers managed Kubernetes service.

  • Azure Container Service offers managed Kubernetes clusters.

  • Stackpoint.io provides Kubernetes infrastructure automation and management for multiple public clouds.

  • AppsCode.com provides managed Kubernetes clusters for various public clouds, including AWS and Google Cloud Platform.

  • Madcore.Ai is devops-focused CLI tool for deploying Kubernetes infrastructure in AWS. Master, auto-scaling group nodes with spot-instances, ingress-ssl-lego, Heapster, and Grafana.

  • Platform9 offers managed Kubernetes on-premises or on any public cloud, and provides 24/7 health monitoring and alerting. (Kube2go, a web-UI driven Kubernetes cluster deployment service Platform9 released, has been integrated to Platform9 Sandbox.)

  • OpenShift Dedicated offers managed Kubernetes clusters powered by OpenShift.

  • OpenShift Online provides free hosted access for Kubernetes applications.

  • IBM Cloud Container Service offers managed Kubernetes clusters with isolation choice, operational tools, integrated security insight into images and containers, and integration with Watson, IoT, and data.

  • Giant Swarm offers managed Kubernetes clusters in their own datacenter, on-premises, or on public clouds.

  • Kubermatic provides managed Kubernetes clusters for various public clouds, including AWS and Digital Ocean, as well as on-premises with OpenStack integration.

Turnkey Cloud Solutions

These solutions allow you to create Kubernetes clusters on a range of Cloud IaaS providers with only a few commands. These solutions are actively developed and have active community support.

On-Premises turnkey cloud solutions

These solutions allow you to create Kubernetes clusters on your internal, secure, cloud network with only a few commands.

Custom Solutions

Kubernetes can run on a wide range of Cloud providers and bare-metal environments, and with many base operating systems.

If you can find a guide below that matches your needs, use it. It may be a little out of date, but it will be easier than starting from scratch. If you do want to start from scratch, either because you have special requirements, or just because you want to understand what is underneath a Kubernetes cluster, try the Getting Started from Scratch guide.

If you are interested in supporting Kubernetes on a new platform, see Writing a Getting Started Guide.

Universal

If you already have a way to configure hosting resources, use kubeadm to easily bring up a cluster with a single command per machine.

Cloud

These solutions are combinations of cloud providers and operating systems not covered by the above solutions.

On-Premises VMs

Bare Metal

Integrations

These solutions provide integration with third-party schedulers, resource managers, and/or lower level platforms.

  • DCOS
    • Community Edition DCOS uses AWS
    • Enterprise Edition DCOS supports cloud hosting, on-premises VMs, and bare metal

Table of Solutions

Below is a table of all of the solutions listed above.

IaaS Provider Config. Mgmt. OS Networking Docs Support Level
any any multi-support any CNI docs Project (SIG-cluster-lifecycle)
Google Kubernetes Engine     GCE docs Commercial
Stackpoint.io   multi-support multi-support docs Commercial
AppsCode.com Saltstack Debian multi-support docs Commercial
Madcore.Ai Jenkins DSL Ubuntu flannel docs Community (@madcore-ai)
Platform9   multi-support multi-support docs Commercial
Kubermatic   multi-support multi-support docs Commercial
Giant Swarm   CoreOS flannel and/or Calico docs Commercial
GCE Saltstack Debian GCE docs Project
Azure Container Service   Ubuntu Azure docs Commercial
Azure (IaaS)   Ubuntu Azure docs Community (Microsoft)
Bare-metal custom Fedora none docs Project
Bare-metal custom Fedora flannel docs Community (@aveshagarwal)
libvirt custom Fedora flannel docs Community (@aveshagarwal)
KVM custom Fedora flannel docs Community (@aveshagarwal)
DCOS Marathon CoreOS/Alpine custom docs Community (Kubernetes-Mesos Authors)
AWS CoreOS CoreOS flannel docs Community
GCE CoreOS CoreOS flannel docs Community (@pires)
Vagrant CoreOS CoreOS flannel docs Community (@pires@AntonioMeireles)
Bare-metal (Offline) CoreOS CoreOS flannel docs Community (@jeffbean)
CloudStack Ansible CoreOS flannel docs Community (@sebgoa)
Vmware vSphere Saltstack Debian OVS docs Community (@imkin)
lxd Juju Ubuntu flannel/canal docs Commercial and Community
AWS Juju Ubuntu flannel/calico/canal docs Commercial and Community
Azure Juju Ubuntu flannel/calico/canal docs Commercial and Community
GCE Juju Ubuntu flannel/calico/canal docs Commercial and Community
Oracle Cloud Juju Ubuntu flannel/calico/canal docs Commercial and Community
Rackspace Juju Ubuntu flannel/calico/canal docs Commercial and Community
Vmware vSphere Juju Ubuntu flannel/calico/canal docs Commercial and Community
Bare Metal Juju Ubuntu flannel/calico/canal docs Commercial and Community
AWS Saltstack Debian AWS docs Community (@justinsb)
AWS kops Debian AWS docs Community (@justinsb)
Bare-metal custom Ubuntu flannel docs Community (@resouer@WIZARD-CXY)
oVirt       docs Community (@simon3z)
any any any any docs Community (@erictune)
any any any any docs Commercial and Community

Note: The above table is ordered by version test/used in nodes, followed by support level.

Definition of columns

  • IaaS Provider is the product or organization which provides the virtual or physical machines (nodes) that Kubernetes runs on.
  • OS is the base operating system of the nodes.
  • Config. Mgmt. is the configuration management system that helps install and maintain Kubernetes on the nodes.
  • Networking is what implements the networking model. Those with networking type none may not support more than a single node, or may support multiple VM nodes in a single physical node.
  • Conformance indicates whether a cluster created with this configuration has passed the project’s conformance tests for supporting the API and base features of Kubernetes v1.0.0.
  • Support Levels
    • Project: Kubernetes committers regularly use this configuration, so it usually works with the latest release of Kubernetes.
    • Commercial: A commercial offering with its own support arrangements.
    • Community: Actively supported by community contributions. May not work with recent releases of Kubernetes.
    • Inactive: Not actively maintained. Not recommended for first-time Kubernetes users, and may be removed.
  • Notes has other relevant information, such as the version of Kubernetes used.

本文转载自:https://kubernetes.io/docs/setup/pick-right-solution/

openthings
粉丝 325
博文 1140
码字总数 689435
作品 1
东城
架构师
私信 提问
三种主流的Kubernetes部署方式

摘要:当您转向云原生开发和部署时,让我们来看看Kubernetes所扮演的角色,以及如何从编排中获得更丰富的功能。容器提供了将应用程序及其依赖关系与操作系统分离的功能。通过一种有别于虚拟机...

Docker
2017/12/23
0
0
有关Kubernetes监控的4大常见陷阱,注意避免!

Kubernetes(K8S)现在似乎是管理和部署基于微服务和容器的应用程序的事实标准——其中缘由亦不难理解。Kubernetes是最大的开源社区,它由云原生计算基金会(CNCF)支持,它是DevOps友好的,...

RancherLabs
01/03
32
0
开源技术微讲堂:Kubernetes 系列

Kubernetes (通常称为K8s) 是一个开源系统,它可以被用于自动部署,扩展和管理容器化应用程序,提供跨主机集群的自动部署、扩展以及运行应用程序容器的平台。Kubernetes 以其先进的理念、活跃...

developerWorks中国
2017/12/11
0
0
OpenStack 上部署 Kubernetes 方案对比

  目前在 OpenStack 上部署 Kubernetes 有多种方式,本文会先简要描述每种方案,再使用图标进行简单的对比,并尝试给出个人认为的较优方案。 Tectonic   由 CoreOS 开发,是开源企业级的...

blackpiglet
2018/08/29
0
0
Multi-Cloud Kubernetes 最佳实践

本文以 IT 运维团队为多个内部团队构建企业级 Kubernetes 解决方案的视角展开,介绍了在制定 策略时需要考虑的因素及解决办法,包括基础设施、版本管理、部署策略及安全性等方面,提供了一套...

店家小二
2018/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
4
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部