雲栖号資訊:【 點選檢視更多行業資訊】
在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!
Kubernetes的主要目的是通過複雜的負載均衡和資源配置設定功能跨伺服器叢集托管應用程式。即使某些伺服器出現故障,也可以確定應用程式平穩運作。是以在生産部署中,必須為Kubernetes配置多個伺服器。
但是,在某些情況下,IT管理者或開發人員可能希望在PC或筆記本電腦上本地運作Kubernetes。因為本地Kubernetes環境使開發人員能夠快速測試新的應用程式代碼,而不必先将其上傳到生産叢集。對于初學者來說,本地Kubernetes也是一種很好的方式來學習容器編排系統,而無需承受大規模、多伺服器部署的複雜性和成本。
以下是在本地運作Kubernetes的三種方法,所有這些方法都可以在Windows、Linux或macOS的PC或筆記本電腦上運作。
1、 Minikube
Minikube是Kubernetes的一個版本,專為本地部署而設計。Minikube由Kubernetes開源社群開發,使用VM來建立本地單節點Kubernetes安裝。
Minikube的安裝非常簡單,因為Windows、Linux和macOS安裝程式會自動執行大部分流程,包括VM設定。但是,請先確定安裝了諸如Hyper-V、VirtualBox或KVM等VM平台。
需要先下載下傳最新的Minikube穩定版,然後運作minikube start。以下示例是在MacOS上啟動Minikube:

使用預設的 HyperKit在MacOS上運作Minikube
在啟動期間,kubeconfig檔案(預設情況下是~/.kube/config)正在更新,名為minikube的新上下文正在被建立(之後将其設定為預設上下文)。Minkube設定完成之後,使用标準Kubernetes指令行工具kubectl即可與叢集進行互動。
正在擷取minikube的節點
Minikube的主要局限性在于本地叢集隻能包含一個節點,是以對于生産級别的多節點Kubernetes叢集來說,很難在本地進行模拟測試。
2、 MicroK8s
MicroK8s是由Canonical開發的Kubernetes發行版,其突出特點是部署快速簡單,對于本地運作Kubernetes來說,十分友善。
在支援snap packages的任何Linux發行版上,MicroK8s的安裝都很簡單。Snap packages是由Canonical建立的一個應用程式的打包架構,主要用于Ubuntu(該公司的Linux發行版)。在Windows和macOS上安裝MicroK8s也是很簡單的,因為這些系統的MicroK8s安裝程式會建立基于Ubuntu的VM,然後使用snap packages在其上安裝MicroK8s。
與Minikube不同,IT管理者或開發人員可以使用MicroK8s建立多節點叢集。如果MicroK8s在Linux上運作,甚至不需要VM。在Windows和macOS上,MicroK8s使用名為Multipass的VM架構為Kubernetes叢集建立VM。
然後我們在一個本地檔案中複制叢集配置檔案:
請注意:MicroK8s帶有幾個二進制檔案,其中包括:
- microk8s.config:提供kubectl配置檔案以供外界使用
- microk8s.kubectl:自己的kubectl版本
最後,我們設定KUBECONFIG環境變量來定義由本地kubectl使用的上下文:
現在,我們已經準備就緒,可以使用新的MicroK8s單節點叢集。
MicroK8s的最大缺點可能是很難在不支援snap packages的Linux發行版上安裝。
3、 K3s
K3s是由業界應用最為廣泛的Kubernetes管理平台建立者Rancher Labs開發的輕量級Kubernetes發行版,通過了CNCF一緻性認證。它是為生産環境設計的,主要用于部署在資源受限的邊緣計算場景中,例如IoT傳感器。
但是,K3s也可以在本地運作以進行Kubernetes測試或開發。為此,請首先使用VMware、VirtualBox或KVM等平台在本地系統上至少建立兩個VM。K3s不會為你建立VM,是以你需要手動執行此操作。
然後,在一個VM上安裝K3s server,在另一個VM上安裝K3s agent。這将在本地裝置上建立一個微型Kubernetes叢集。
與MicroK8s和Minikube相比,K3s需要更多的手動工作來進行設定和配置。但是,由于K3s是為全面生産而設計的,是以在PC或筆記本電腦上,它是與生産級伺服器最接近的選項。
【雲栖号線上課堂】每天都有産品技術專家分享!
課程位址:
https://yqh.aliyun.com/live立即加入社群,與專家面對面,及時了解課程最新動态!
【雲栖号線上課堂 社群】
https://c.tb.cn/F3.Z8gvnK
原文釋出時間:2020-05-14
本文作者:Chris Tozzi
本文來自:“
dockone”,了解相關資訊可以關注“dockone”