Kubernetes-创建集群(四)
Kubernetes可以运行在多种平台,从笔记本到云服务商的虚拟机,再到机架上的裸机服务器。要创建一个Kubernetes集群,根据不同的场景需要做的也不尽相同,可能是运行一条命令,也可能是配置自己定制集群。根据自己的需要选择合适的解决方案。
选择正确解决方案
如果你只想试一试Kubernetes,我们推荐基于Docker的本地方案。
基于Docker的本地方案是众多能够完成快速搭建的本地集群方案中的一种,但是局限于单台机器。
当你准备好扩展到多台机器和高可用时,托管解决方案是最容易搭建和维护的。
全套云端方案只需要少数几个命令就可以在更多的云服务提供商搭建Kubernetes。
定制方案需要花费更多的精力,但是覆盖了从零开始搭建Kubernetes集群的通用建议到分步骤的细节指引。
本地服务器方案
本地服务器是在一台物理机上创建拥有一个或者多个Kubernetes节点的单机集群。创建过程是全自动的,且不需要任何云服务商的账户。但是这种单机集群的规模和可用性都受限于单台机器:
本地服务器方案有:
- 本地Docker(上手建议)
- Vagrant(任何支撑Vagrant的平台:Linux、MacOS、或者Windows)
- 无虚拟机本地集群(Linux)
托管方案
Google Container Engine提供创建好的Kubernetes集群
全套云端方案
以下方案让你可以通过几个命令就在很多IaaS云服务中创建Kubernetes集群,并且有很活跃的社区支持。
- GCE
- AWS
- Azure
定制方案
Kubernetes可以在云服务商提供的裸机环境运行,并且支持很多基础操作系统。
如果你在如下的指南中找到符合你需要的,可直接使用。某些指南可能有些过时,但是比起从零开始还有不少的参考价值。如果你确实以为特殊原因或向了解底层原理,想要从零开始搭建,可以试试参考从零开始指南。
云
以下是上文没有列出的云服务商或云操作系统的支持方案。
- AWS+cores
- GCE+CoreOS
- AWS+Ubuntu
- Joyent+Ubuntu
- Rackspace+CoreOS
私有虚拟机
- Vagrant(采用CoreOS和flannel)
- CloudStack(采用Ansible,CoreOS和flannel)
- Vmware(采用Debian)
- juju.md(采用juju,Ubuntu和flannel)
- Vmware(采用C哦热OS和flannel)
- libvirt-coreos.md(采用CoreOS)
- OVirt
- libvirt(采用Fedora+flannel)
- KVM(采用Fedora和flannel)
裸机
集成
Table of Solution
以下用表格形式列出上面的所有方案。
| IaaS Provider | Config.Mgmt | OS | Networking | Docs | Conforms | |
| GKE | GCE | docs | [✓][3] | |||
| Vagrant | Saltstack | Fedora | flannel | docs | [✓][2] | |
| GCE | Saltstack | Debian | GCE | docs | [✓][1] | |
| Azure | CoreOS | CoreOS | Weave | docs | ||
| Docker Single Node | custom | N/A | local | docs | ||
| Docker Multi Node | Flannel | N/A | local | docs | ||
| Bare-metal | Ansible | Fedora | flannel | docs | ||
| Digital Ocean | custom | Fedora | Calico | docs | ||
| Bare-metal | custom | Fedora | none | docs | ||
| Bare-metal | custom | Fedora | flannel | docs | ||
| libvirt | custom | Fedora | flannel | docs | ||
| KVM | custom | Fedora | flannel | docs | ||
| Mesos/Docker | custom | Ubuntu | Docker | docs | ||
| Mesos/GCE | docs | |||||
| AWS | CoreOS | CoreOS | flannel | docs | ||
| GCE | CoreOS | CoreOS | flannel | docs | ||
| Vagrant | CoreOS | CoreOS | flannel | docs | ||
| Bare-metal (Offline) | CoreOS | CoreOS | flannel | docs | ||
| Bare-metal | CoreOS | CoreOS | Calico | docs | ||
| CloudStack | Ansible | CoreOS | flannel | docs | ||
| Vmware | Debian | OVS | docs | |||
| Bare-metal | custom | CentOS | none | docs | ||
| AWS | Juju | Ubuntu | flannel | docs | ||
| OpenStack/HPCloud | Juju | Ubuntu | flannel | docs | ||
| Joyent | Juju | Ubuntu | flannel | docs | ||
| AWS | Saltstack | Ubuntu | OVS | docs | ||
| Azure | Saltstack | Ubuntu | OpenVPN | docs | ||
| Bare-metal | custom | Ubuntu | Calico | docs | ||
| Bare-metal | custom | Ubuntu | flannel | docs | ||
| Local | none | docs |
| libvirt/KVM | CoreOS | CoreOS | libvirt/KVM | docs | ||
| oVirt | docs | |||||
| Rackspace | CoreOS | CoreOS | flannel | docs | ||
| any | any | any | any | docs |
注意:以上表格按照支持级别和测试及使用的版本进行排序。
表格中列说明:
- IaaS Provider 是指提供Kubernetes运行环境的虚拟机或物理机(节点)资源的提供商。
- OS 是指节点上运行的基础操作系统。
- Config. Mgmt 是指节点上安装和管理Kubernetes软件的的配置管理系统。
- Networking 是指实现网络模型的软件。 none 表示只支持一个节点,或支持单物理节点 上的虚拟机节点。
- Conformance 表示使用该种配置创建的集群是否通过了项目一致性测试,支持
Kubernetes v1.0.0的API和基本特性。
- Support Levels(支持级别)
- Project:Kubernetes贡献者们经常使用该配置,所以通常最新的版本可使用。
- Commercial:某些厂商负责在自己的平台支持。
- Community:在社区中有活跃支持,但可能最新版本不适用。
- Inactive: 对于初次使用Kubernetes的用户不推荐,并且有可能在将来被移除。
- Notes 说明,比如适用的Kubernetes版本
Kubernetes-创建集群(四)的更多相关文章
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...
- 实现Kubernetes跨集群服务应用的高可用
在Kubernetes 1.3版本,我们希望降低跨集群跨地区服务部署相关的管理和运营难度.本文介绍如何实现此目标. 注意:虽然本文示例使用谷歌容器引擎(GKE)来提供Kubernetes集群,您可以在 ...
- 手动部署 kubernetes HA 集群
前言 关于kubernetes HA集群部署的方式有很多种(这里的HA指的是master apiserver的高可用),比如通过keepalived vip漂移的方式.haproxy/nginx负载均 ...
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...
- 如何落地全球最大 Kubernetes 生产集群
鲍永成 京东基础架构部技术总监, DevOps 标准核心编写专家 前言 JDOS 就是京东数据中心操作系统,随着数据中心规模不断的扩大,我们需要对数据中心做综合的考虑.所以一开 ...
- Kubernetes容器集群管理环境 - Prometheus监控篇
一.Prometheus介绍之前已经详细介绍了Kubernetes集群部署篇,今天这里重点说下Kubernetes监控方案-Prometheus+Grafana.Prometheus(普罗米修斯)是一 ...
- Kubernetes容器集群管理环境 - 完整部署(上篇)
Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统.其设计目标是在主机集群之间提供一个能够自动化部署.可拓展.应用容器可运营的平台.Kubernetes ...
- Kubernetes(k8s)集群安装
一:简介 二:基础环境安装 1.系统环境 os Role ip Memory Centos 7 master01 192.168.25.30 4G Centos 7 node01 192.168.25 ...
- 搭建Kubernetes容器集群管理系统
1.Kubernetes 概述 Kubernetes 是 Google 开源的容器集群管理系统,基于 Docker 构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.劢态扩缩容等功能套件. 基 ...
- linux运维、架构之路-Kubernetes离线集群部署-无坑
一.部署环境介绍 1.服务器规划 系统 IP地址 主机名 CPU 内存 CentOS 7.5 192.168.56.11 k8s-node1 2C 2G CentOS 7.5 192.168.56 ...
随机推荐
- 关于使用metronic时里modal模拟框使用ueditor时不能全屏的情况
ueditor里有这么断代码, 1.初始显示状态下(非全屏),修改一下代码的z-index UE.Editor.defaultOptions = function(editor){ var _url ...
- 【Leetcode】【Easy】Symmetric Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...
- aws查看官方centos镜像imageid
aws ec2 describe-images --owners aws-marketplace --filters Name=product-code,Values=aw0evgkw8e5c1q41 ...
- cobbler自动安装
基础环境:centos7.2 本地IP地址:192.168.56.12 网络环境:桥接模式 一.安装cobbler # rpm -ivh http://mirrors.aliyun.com/epel/ ...
- 观察者模式在One Order回调函数中的应用
例如需求是搞清楚function module CRM_PRODUCT_I_A_CHANGE_ORGM_EC在什么样的场景下会被调用.当然最费时间的做法是设一个断点,然后跑对应的场景,观察断点何时被触 ...
- Hybris ECP(Enterprise Commerce Platform)的调试
This blog is written to demonstrate how to setup debug environment for Hybris ECP(Enterprise Commerc ...
- 2018中国大学生程序设计竞赛 - 网络选拔赛 4 - Find Integer 【费马大定理+构造勾股数】
Find Integer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tota ...
- JS动态修改微信浏览器中的title
JS动态修改微信浏览器中的title我们的原理是设置一个ifame然后我们再加载一下就可以实现了,具体的例子如下所示. 平时使用JS修改title,直接document.title=新标题就好了 这样 ...
- python—迭代器
迭代器 这些可以直接作用于for循环的对象统称为可迭代对象:Iterable. 可以使用isinstance()判断一个对象是否是Iterable对象: >>> from colle ...
- 使用带有字符串的data-ng-bind
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...