1. 程式人生 > >Kubernetes(k8s)中文文件 建立Kubernetes叢集_Kubernetes中文社群

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版本。
K8S中文社群微信公眾號