edx-LFS158x Kubernetes學習筆記(第五章)

Chapter 5. Installing Kubernetes

Introduction and Learning Objectives

在本章中,我們將首先討論可以安裝Kubernetes的不同配置。然後,我們將討論安裝Kubernetes所需的基礎設施,我們還將介紹一些可以幫助我們進行安裝的工具。在本章結束時,您應該能夠:

  • 討論不同的Kubernetes配置選項。
  • 在安裝Kubernetes之前討論基礎設施考慮事項。
  • 討論Kubernetes部署的基礎設施選擇。
  • 回顧Kubernetes安裝工具和資源。

Installing Kubernetes

Kubernetes Configuration

可以使用不同的配置安裝Kubernetes。以下簡要介紹四種主要安裝類型:

  • 一體式單節點安裝在此設置中,所有主組件和工作組件都安裝在一個節點上並運行。雖然它對學習、開發和測試很有用,但不應在生產中使用。Minikube就是這樣一個例子,我們將在以後的章節中對此進行探討。
  • 單節點etcd,單主多工安裝在這個設置中,我們有一個主節點,它也運行一個節點etcd實例。多個工作節點連接到主節點。
  • 單節點etcd,多主多工安裝在這個設置中,我們在HA模式下配置了多個主節點,但是我們有一個單節點etcd實例。多個工作節點連接到主節點。
  • 多節點etcd、多主多工安裝在此模式下,etcd配置為集群HA模式,主節點都配置為HA模式,連接到多個工作節點。這是最先進和推薦的生產設置。

Infrastructure for Kubernetes Installation

一旦我們決定了安裝類型,我們還需要做出一些與基礎設施相關的決定,例如:

  • 我們應該在裸機、公共雲或私有云上設置Kubernetes嗎?
  • 我們應該使用哪些底層操作系統?我們應該選擇萊爾、科羅斯、森託斯還是別的什麼?
  • 我們應該使用哪種網絡解決方案?等等。有關選擇正確解決方案的詳細信息,請參閱Kubernetes文檔。接下來,我們將仔細研究這些解決方案。

Localhost Installation

以下只是幾個本地主機安裝選項,可用於在工作站/筆記本電腦上部署單節點或多節點Kubernetes群集:

  • Minikube-單節點本地Kubernetes集群
  • Docker桌面-用於Windows和Mac的單節點本地Kubernetes群集
  • LXD上的CDK-具有LXD容器的多節點本地群集。Minikube是在本地創建一體式Kubernetes設置的首選和推薦方法。我們將在本課程中廣泛使用它。

On-Premise Installation

Kubernetes可以安裝在虛擬機和裸機上。

  • 內部虛擬機Kubernetes可以安裝在通過Vagrant、VMware vSphere、KVM或另一個配置管理(CM)工具和管理程序軟件創建的vm上。有不同的工具可用於自動化安裝,如ansibe或kubeadm。
  • 內部裸機Kubernetes可以安裝在本地裸機上,在不同的操作系統之上,如RHEL、CoreOS、CentOS、Fedora、Ubuntu等。大多數用於在vm上安裝Kubernetes的工具也可以用於裸機安裝。

Cloud Installation

  • 託管解決方案對於託管解決方案,任何給定的軟件都完全由提供商管理。用戶支付託管和管理費用。為Kubernetes提供託管解決方案的一些供應商包括:谷歌Kubernetes引擎(GKE)Azure Kubernetes服務(AKS)針對Kubernetes的Amazon彈性容器服務(EKS)DigitalOcean KubernetesOpenShift DedicatedPlatform9IBM雲Kubernetes服務。
  • 交鑰匙雲解決方案下面只是幾個交鑰匙雲解決方案,在底層IaaS平臺上安裝Kubernetes時只需要幾個命令,例如:谷歌計算引擎(GCE)亞馬遜AWS(AWS EC2)微軟Azure(AKS)。
  • 交鑰匙內部解決方案本地解決方案只需幾個命令就可以在安全的內部私有云上安裝Kubernetes:GKE On-Prem by Google CloudIBM Cloud PrivateOpenShift Container Platform by Red Hat.

Kubernetes Installation Tools/Resources

在討論安裝配置和底層基礎結構時,讓我們看看一些有用的工具/資源:

  • kubeadmkubeadm是Kubernetes生態系統的一等公民。這是一種安全且推薦的引導單節點或多節點Kubernetes集群的方法。它有一組構建塊來設置集群,但是它很容易擴展以添加更多特性。請注意,kubeadm不支持提供主機。
  • kubespray使用kubespray(以前稱為kargo),我們可以在AWS、GCE、Azure、OpenStack或裸機上安裝高度可用的Kubernetes集群。Kubespray基於ansibe,在大多數Linux發行版上都可用。這是一個庫伯內特斯孵化器項目。
  • kops使用kops,我們可以從命令行創建、銷燬、升級和維護生產級、高可用的Kubernetes集群。它也能提供機器。目前,AWS得到了官方支持。對GCE的支持處於beta測試階段,VMware vSphere處於alpha階段,其他平臺計劃在未來推出。探索kops項目瞭解更多細節。
  • kube-aws使用kube aws,我們可以從命令行創建、升級和銷燬aws上的Kubernetes集群。Kube aws也是Kubernetes孵化器項目。

如果現有的解決方案和工具不符合我們的要求,那麼我們可以從頭開始安裝Kubernetes(儘管來自KubNeNETV1.12的一個過時的鏈接,它仍然是一個有效的解決方案)。值得一看的是Kelsey Hightower的Kubernetes the Hard Way GitHub項目,該項目共享引導Kubernetes集群所涉及的手動步驟。


分享到:


相關文章: