您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Kubernetes如何安裝部署的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
作為Rancher 2.0的重要組件,Rancher Kubernetes Engine(RKE)現已正式全面發布!這是Rancher Labs推出的新的開源項目,一個極致簡單易用、閃電般快速、支持一切基礎架構(公有云、私有云、VM、物理機等)的Kubernetes安裝程序。
在過去兩年中,Rancher已經成為最為流行和受歡迎的創建和管理Kubernetes集群的平臺之一。因為易于上手的特性和極致簡單的用戶體驗,Rancher作為創建與管理Kubernetes的平臺深受全球大量用戶青睞 。Rancher將etcd、Kubernetes master和worker節點操作完全自動化。然而Rancher 1.x中只提供了Kubernetes的部署優化,2.0會繼續加強對Kubernetes使用和運行過程中的進一步的優化與支持。
現階段市場中有不少可供用戶選擇的用于創建Kubernetes集群的安裝程序。據我們所見,其中兩個最受歡迎的安裝程序是kops和Kubespray:
Kops也許是使用最廣泛的Kubernetes安裝程序。事實上,它不僅僅是一個安裝程序。Kops為用戶備好了所有可能需要的云資源,它能用來安裝Kubernetes,還可以連接云監控服務,以確保Kubernetes集群的持續運行。不過,Kops與底層云基礎架構集成過于緊密,在AWS上表現最為優秀,而對GCE和vSphere等其他基礎架構平臺的就不能提供支持。
Kubespray是用Ansible編寫的獨立Kubernetes安裝程序,它可以在任何服務器上安裝Kubernetes集群,非常受用戶歡迎。盡管Kubespray與各種云API具有一定程度的集成,但它基本上是獨立于云的,因此可以與任何云、虛擬化集群或裸機服務器協同工作。目前,Kubespray已經發展成一個由大量開發人員參與的復雜項目。
Kubeadm是另一個跟隨Kubernetes主版本分發的安裝工具。然而,Kubeadm還不支持像HA集群這樣的功能。盡管在 kops和Kubespray等項目中使用了 kubeadm 某些代碼,但若作為生產級的Kubernetes安裝程序,kubeadm還不適合。
Rancher 2.0可以支持并納管任何Kubernetes集群。我們鼓勵用戶使用GKE和AKS等公有云云托管服務。對于想要自行建立自己的集群的用戶,我們正在考慮將kops或Kubespray集成到我們的產品陣容中。Kops不符合我們的需求,因為它并不適用于所有云提供商。其實,Kubespray已經很接近我們的需要了,尤其是 Kubespray可以在任何地方安裝Kubernetes的這一特性。但最終,我們決定不采用Kubespray,而是構建自己的輕量級安裝程序,原因有兩個:
我們可以重新起步,利用Kubernetes本身的優勢建立一個更簡易的系統。
與在Rancher 1.6中安裝Kubernetes一樣,通過使用基于容器的方法,我們可以擁有更快的安裝程序。
RKE是一個獨立的可執行文件,它可以從集群配置文件中讀取并啟動、關閉或升級Kubernetes群集。 如下是一個示例配置文件:
--- auth: strategy: x509 network: plugin: flannel ssh_key_path: /home/user/.ssh/id_rsa nodes: - address: server1 user: ubuntu role: [controlplane, etcd] - address: server2 user: ubuntu role: [worker] services: etcd: image: quay.io/coreos/etcd:latest kube-api: image: rancher/k8s:v1.8.3-rancher2 service_cluster_ip_range: 10.233.0.0/18 extra_args: v: 4 kube-controller: image: rancher/k8s:v1.8.3-rancher2 cluster_cidr: 10.233.64.0/18 service_cluster_ip_range: 10.233.0.0/18 scheduler: image: rancher/k8s:v1.8.3-rancher2 kubelet: image: rancher/k8s:v1.8.3-rancher2 cluster_domain: cluster.local cluster_dns_server: 10.233.0.3 infra_container_image: gcr.io/google_containers/pause-amd64:3.0 kubeproxy: image: rancher/k8s:v1.8.3-rancher2 addons: |- --- apiVersion: v1 kind: Pod metadata: name: my-nginx namespace: default spec: containers: - name: my-nginx image: nginx ports: - containerPort: 80
如上所示,我們通過指定認證策略、網絡模型和本地SSH密鑰路徑來啟動文件。集群配置文件的主體由以下三部分組成:
節點部分描述了組成Kubernetes集群的所有服務器。每個節點都承擔三個角色中的一個或多個角色:controlplane、etcd和worker。您可以通過更改節點部分并重新運行RKE命令來添加或刪除Kubernetes集群中的節點。
服務部分描述了在Kubernetes集群上運行的所有系統服務。RKE將所有系統服務打包為容器。
插件部分描述了在Kubernetes集群上運行的用戶級程序。因此,RKE用戶可以在同一文件中指定Kubernetes集群配置和應用程序配置。
RKE不是一個可以長時間運行的、可以監控和操作Kubernetes集群的服務。RKE需要與像Rancher 2.0這樣的完整的容器管理系統或像AWS CloudWatch、Datadog或Sysdig等一樣的獨立監控系統配合使用。配合使用時,您就可以構建自己的腳本來監控RKE集群的健康狀況了。
當用戶需要構件一個分布式應用系統時,常常不得不處理后端數據庫、數據訪問層、集群和擴展等方面的問題。現在,越來越多的開發人員不再使用傳統的應用程序服務器,而是開始使用Kubernetes作為分布式應用程序平臺:
開發人員使用etcd作為后端數據庫。
開發人員使用Kubernetes Custom Resource Definition(CRD)作為數據訪問層,并使用kubectl在其數據模型上執行基本的CRUD操作。
開發人員將應用程序打包為容器,并使用Kubernetes完成集群和伸縮工作。
以這種方式構建的應用程序將作為Kubernetes YAML文件發送給用戶。如果用戶已經運行Kubernetes集群,或可以訪問公有云托管的Kubernetes服務(如GKE或AKS),就可以輕松運行這些應用程序。但是,那些希望在虛擬化或裸機服務器上安裝應用程序的用戶該怎么辦呢?
通過將RKE作為嵌入式Kubernetes安裝程序捆綁到應用程序中,應用程序開發人員就可以解決上述需求。通過調用RKE,應用程序安裝便可以啟動,且會為用戶創建一個Kubernetes集群。而我們已注意到,將諸如RKE之類的輕量級安裝程序嵌入到分布式應用程序中,滿足了很多來自用戶的興趣與需求。
Rancher Kubernetes Engine(RKE)秉承了Rancher產品一貫易于上手、操作簡單、體驗友好的特性,使用戶創建Kubernetes集群的過程變得更加簡單,且我們相信通過云管理平臺進行Kubernetes安裝是大多數Kubernetes用戶的最佳選擇。
在Rancher Labs,我們希望Kubernetes有朝一日成為所有云服務商支持的標準化的基礎架構,且一直在為了實現這個愿景而努力。已推出技術預覽版、將于2018年初正式發布的Rancher 2.0,將可以同時納管和導入任何類型、來自任何云提供商的Kubernetes集群,包括RKE、AWS EKS、Google Container Engine (GKE)、Azure Container Service (AKS)等等。
感謝各位的閱讀!關于“Kubernetes如何安裝部署”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。