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 ...
随机推荐
- when create a table,then show error ora-00952 tablespace tsb_1 not exist
QUESTION:When create a table,then show error ora-00952 tablespace tsb_1 not exist. STEP: 1.select us ...
- zan-framework mysql连接
①根据文档内容要配置sqlmap连接池的读写白名单 http://doc.zanphp.io/zh/libs/connection_pool.html 示例代码 // demo.demo.demo_s ...
- VSCode-python 进阶配置
VSCode-python 进阶配置 中文乱码 中文乱码,网上一堆解决方法,但是根本没有有效起作用的. 在python脚本的前面添加: # -*- coding:utf-8 -*- 并不能在控制台输出 ...
- ANT 的Table表格样式修改方法
注:(大家在给页面添加参数或者方法的时候,记得写上注释,方便别人查看) 1.表格行选中样式添加:(可以去beijing,精子库质控统计查看例子) (咱们以前页面上的表格都是在hover时显示选中效果, ...
- ACM-ICPC 2018 徐州赛区网络预赛 G. Trace【树状数组维护区间最大值】
任意门:https://nanti.jisuanke.com/t/31459 There's a beach in the first quadrant. And from time to time, ...
- 2018.12.30 Intellij IDEA设置main方法自动补全
Eclipse与 Intellij IDEA设置方法自动补全 1.首先,点击File-->Settings-->Editor-->Live Templates 设置你想输出的模板 右 ...
- spring boot Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @Context ...
- 基于Qt搭建ROS开发环境
参考的博客: http://blog.csdn.net/u013453604/article/details/52186375 http://blog.csdn.net/dxuehui/article ...
- eclipse集成tomcat 部署项目设置
============================================================= 1. 下载安装tomcat插件 ====================== ...
- phpstorm常用plugins
CodeGlance JsonOnlineViewer CSS-X-Fire Laravel Plugin PHP annotations