您好,登錄后才能下訂單哦!
Kubernetes
Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規模可伸縮、應用容器化管理。在生產環境中部署一個應用程序時,通常要部署該應用的多個實例以便對應用請求進行負載均衡。
在Kubernetes中,我們可以創建多個容器,每個容器里面運行一個應用實例,然后通過內置的負載均衡策略,實現對這一組應用實例的管理、發現、訪問,而這些細節都不需要運維人員去進行復雜的手工配置和處理。
節點
節點是Kubernetes中最小的計算硬件單元。它是集群中單個機器的表示。在大多數生產系統中,節點很可能是數據中心中的物理機器,或者是托管在像谷歌云平臺這樣的云供應商上的虛擬機。不過,不要讓慣例限制了你的想象力,從理論上講,你可以把任何東西做成一個結點。
把機器看作一個“節點”,可以讓我們插入一個抽象層。現在,我們不必擔心任何單個機器的獨特特性,而是可以簡單地將每臺機器看作一組可以使用的CPU和RAM資源。這樣,任何機器都可以替代Kubernetes集群中的任何其他機器。
Rancher
Rancher是一個開源的企業級容器管理平臺。通過Rancher,企業再也不必自己使用一系列的開源軟件去從頭搭建容器服務平臺。Rancher提供了在生產環境中使用的管理Docker和Kubernetes的全棧化容器部署與管理平臺。
當我第一次開始我的Kubernetes之旅時,我一直在尋找一種設置本地部署環境的方式。很多人常常會使用minikube或microk8s,這兩者非常適合新手在單節點集群環境下進行操作。但當我已經了解了基礎知識之后,這兩者顯然不太夠用,我需要進一步尋找能夠運行本地多節點集群、與生產環境更相似的平臺。為此,我查閱了許多參考資料,最后我找到了Rancher Server。接下來,我要介紹我是如何設置我的本地K8S多節點集群的。
上圖顯示了集群的架構,一個master節點和3個worker節點。要嘗試諸如使用ingress controller進行負載均衡、會話保持、host親和性等跨節點功能,這是最低的配置。
Rancher Server的安裝并不復雜,它被打包為一個docker鏡像,并且可以作為一個容器運行。一個節點的基本配置是運行在Linux虛擬機上的docker CE 守護進程。在本例中,我選擇使用Ubuntu 18.04 LTS(具體的節點要求請參考Rancher的官方文檔:https://rancher.com/docs/rancher/v2.x/en/installation/requirements/ )。當我完成第一個VM設置時,我直接將其復制到另外三個中。如果你和我的操作一樣,可以參考下方兩個tips:
安裝指定版本Docker:https://docs.docker.com/install/linux/docker-ce/ubuntu/
最終,4個節點都在我的電腦(i5,24G RAM)上啟動,并分配以下資源。
Master節點(2 core、4G RAM、Ubuntu 18.04 + Docker CE 18.09) x 1
sudo docker run --restart=unless-stopped \
-p 81:80 -p 444:443 rancher/rancher
以上命令可以啟動Rancher server容器,并且將其運行在master節點上。默認狀態下,nginx ingress controller會嵌入到worker節點中,并且綁定端口80和443。因此我將Rancger server發布到端口81和444或其他端口,以避免端口沖突。
首先,使用master節點IP地址和端口444啟動Rancher server控制臺,它會要求設置管理員密碼。
接著,確認worker節點到達Rancher server的URL。這里為了方便我直接使用master節點IP地址作為URL。完成了初始設置后,Rancher server就可以添加新集群了。
因為我想要在本地虛擬機上運行K8S集群而不是在云端,所以選擇“自定義”的選項(即上方說明為“ From my own existing nodes”),然后新集群的云提供商選項選為“None”。
在ubuntu虛擬機上復制并運行docker命令來啟動master節點。一個master節點至少要有etcd和control,如果你打算創建一個單節點集群,需要選擇所有3個角色并更改命令。
運行docker命令之后,新節點將顯示在Rancher Server控制臺上,配置這一節點需要花費一些時間,一旦配置完成,狀態將變為active。
對于worker節點,我們僅需要在節點選項選擇“Worker”角色,然后在3個worker節點的Ubuntu虛擬機上復制并運行docker命令。
最后,在我的電腦上多節點集群已經準備就緒。
新集群的Kubernetes版本時v1.14.6,你可以在上面的截圖內看到。為了更好地將kubectl工具版本與集群匹配,在master節點上運行以下命令,以安裝特定版本:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.6/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
Kubectl工具需要一個kubeconfig文件與集群連接,新集群地kubeconfig文件可以在Rancher Server的控制臺中找到。
復制以上kubeconfig文件,并保存為~/.kube/config文件。隨后kubectl就能夠獲取集群信息。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。