您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么在Windows 10上創建單節點Kubernetes群集”,在日常操作中,相信很多人在怎么在Windows 10上創建單節點Kubernetes群集問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么在Windows 10上創建單節點Kubernetes群集”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Kubernetes使開發人員和系統管理員可以快速部署應用程序并將其擴展到其需求,而無需停機。Kubernetes系統是高度可配置的,幾乎所有內容都圍繞四個重要概念:節點,pod,部署和服務。
準備好進入Kubernetes的世界了嗎?這是開始的關鍵步驟和Kubernetes命令。
學習Kubernetes架構的基礎知識
首先,了解Kubernetes系統的基礎非常有用。運行容器的服務器及其內部的應用程序稱為節點。主服務器控制,管理和配置這些節點服務器。主節點還管理Pod或一組駐留在節點上的一個或多個容器。
主服務器充當Kubernetes集群的控制平面。控制平面中各種組件的主要目的是維護所有Kubernetes對象的記錄,并通過自動響應變化來連續管理集群的期望狀態。
控制平面有四個主要組成部分:
Etcd:Kubernetes集群etcd的最基本組件是輕量級可用的配置存儲。它可以跨多個Kubernetes節點設置。它的主要目的是存儲Kubernetes集群中每個節點都可以訪問的配置數據。
Kube-apiserver:這是用于kubectl等命令行工具的RESTful接口,為它們提供了與Kubernetes集群進行交互的方式。簡單來說,它充當各種工具的管理點,以通過REST API控制和配置Kubernetes集群。
Kube控制器管理:該服務的主要作用是維護群集的狀態,例如副本數。如果觀察到所需狀態有任何變化,則kube-controller-manager將運行所需的過程以確保滿足所需狀態。
Kube調度器:該組件的主要職責是根據配置,資源需求和特定于工作負載的需求計劃群集工作負載。
節點服務器有多個組件,這些組件使主服務器可以使用它們。這些包括:
容器運行時:要運行封裝在節點上存在的pod中的應用程序,我們需要一個輕量級的,隔離的操作環境:容器。容器運行時是一種工具,例如Docker,用于創建,部署和運行應用程序。
Kubelet:Kubelet是安裝在節點上以與主節點進行通信并從其接收命令的代理或服務。它指導需要在節點上執行的操作,例如創建,縮放和刪除容器。
Kube代理:此代理服務將請求中繼到正確的容器并執行負載平衡。Kube-proxy還執行主機級子網劃分,以確保其他組件可以訪問服務。
Kubernetes實施步驟
在本教程中,我們將創建一個在Windows 10操作系統上運行的單節點群集。
要在Windows上安裝和設置Kubernetes,請加載kubectl并安裝minikube。Chocolatey軟件包管理器在此過程中會提供幫助。命令行工具kubectl對Kubernetes集群運行命令,而minikube是使我們能夠在機器上的VM中運行單節點集群的工具。輸入命令:
choco install Kubernetes-cli minikube
這將返回如下所示的輸出:
現在,運行以下命令并驗證您的計算機上是否安裝了kubectl:
kubectl.exe version --client
必須在以下屏幕截圖中看到類似的輸出:
接下來,在Kubernetes中啟動一個工作機-或節點。它可以是物理機或虛擬機。為此,請使用以下命令啟動minikube:
minikube start
這將返回如下所示的輸出:
由于我們在Windows上安裝Kubernetes,因此請使用Hyper-V啟動VM并在VM上設置Kubernetes集群。
這樣就完成了設置。
如何在Kubernetes中運行容器
要啟動容器,請使用下面的Kubernetes命令創建部署。提供部署名稱和要部署的容器映像。Kubernetes將自動選擇Docker作為默認的容器運行時。在這里,我們使用將運行Nginx Web服務器的鏡像:
kubectl.exe create deployment my-nginx --image nginx
創建部署后,Kubernetes將構建Pod來承載應用程序實例。
運行上一條命令后立即輸入get pods,以在部署pod時捕獲ContainerCreating狀態:
kubectl.exe get pods
這將在幾秒鐘內完成,并且容器狀態應更改為“正在運行”:
如下所示,將describe關鍵字與部署名稱一起使用,以查看有關部署的更多詳細信息:
kubectl.exe get deployment kubectl.exe describe deployment helloworld-nginx
這將返回結果,例如副本數,所需狀態和時間戳記:
在此Kubernetes實施教程中,我們僅運行一個容器或Nginx服務器,但有時必須適應增加的工作量和流量。在這種情況下,請擴大應用程序實例的數量。這可以通過使用帶有--replicas參數的kubectl規模部署來實現:
kubectl.exe scale deployment helloworld-nginx --replicas 4
檢查部署。將觀察到已部署了該應用程序實例的四個副本:
現在,檢查Kubernetes pod;該節點上應運行四個容器:
啟動應用程序并運行
現在,有一個應用程序在具有各自IP地址的多個容器中運行。接下來,將它們公開到群集之外,以便可以訪問該應用程序:
Kubectl.exe expose deployment helloworld-nginx --port=80 --type=NodePort
通過kubectl get services命令進行驗證。這將返回NodePort的服務類型,以在Kubernetes集群的每個節點上公開端口80。該服務是一個抽象層,基本上可以實現負載平衡,并在共享IP地址的群集中對一個以上的pod進行分組。
要在Web瀏覽器中打開此應用程序,請創建一個代理以將本地端口連接到群集端口,我們在上一步中使用NodePort服務公開了該端口:
kubectl.exe port-forward svc/helloworld-nginx 80:80
如下所示:
轉到Web瀏覽器并打開http://127.0.0.1/或http://localhost/以查看在Kubernetes容器中部署的Nginx Web服務器的主頁。
測試Kubernetes控制平面
最后,測試Kubernetes控制平面或主服務器是否能夠維持節點服務器上運行的Pod的所需狀態。要檢查這一點,請使用以下命令來強制刪除運行該應用程序實例的一個容器:
kubectl.exe delete pod helloworld-nginx-67bb76cf46-mks6j
識別出這種不希望的狀態,Kubernetes將立即在容器中運行該應用程序的新實例:
到此,關于“怎么在Windows 10上創建單節點Kubernetes群集”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。