Kubernetes(k8s)中文文件 建立Kubernetes叢集_Kubernetes中文社群
譯者:razr 校對:鍾健鑫
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可以在2雲服務提供商和裸機環境執行,並支援很多基本作業系統。
如果你再如下的指南中找到了符合你需要的,可直接使用。某些指南可能有些過時,但是比起從零開始還是有不少參考價值。如果你確實因為特殊原因或因為想了解底層原理,想要從
零開始搭建,可以試試參考從零開始指南。
如果你對在新的平臺支援Kubernetes感興趣,可以看看我們的寫新方案的建議。
雲
以下是上文沒有列出的雲服務商或雲作業系統支援的方案。
- AWS + coreos
- GCE + CoreOS
- AWS + Ubuntu
- Joyent + Ubuntu
- Rackspace + CoreOS
私有虛擬機器
- Vagrant(採用CoreOS和flannel)
- CloudStack(採用Ansible,CoreOS和flannel)
- Vmware(採用Debian)
- juju.md(採用Juju,Ubuntu和flannel)
- Vmware(採用CoreOS和flannel)
- libvirt-coreos.md(採用CoreO)
- oVirt
- libvirt(採用Fedora和flannel)
- KVM(採用Fedora和flannel)
裸機
- Offline(無需網際網路,採用CoreOS和flannel)
- fedora/fedora_ansible_config.md
- Fedora單節點
- Fedora多節點
- Centos
- Ubuntu
- Docker多節點
整合
Kubernetes on Mesos(採用GCE)
Table of Solutions
以下用表格形式列出上面的所有方案。
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版本。