如何配置K8S儲存叢集?
https://v.qq.com/x/page/q0976bknoii.html
歡迎回到Portworx系列講解影片。我是Ryan Wallner。今天我們來介紹如何配置Portworx儲存叢集。這裡我們概要性的對Kubernetes和Portworx的結構進行介紹,如何在Kubernetes上配置Portworx叢集,以及正確安裝Portworx需要哪些命令和引數。這裡我們有一組已經配置好的高可用的Kubernetesmaster節點,一組worker節點,在這些節點上我們來安裝Portworx。
Portworx需要一些資源的支撐。每一個worker節點都需要有CPU,不論是本地裸金屬,還是雲端,至少需要4個核以上的CPU。根據工作負載的不同,也許會需要更多核的CPU,例如執行一組資料庫,4個核就不夠了。最少的情況下我們需要4個核。記憶體建議至少4G。
跟CPU的核數一樣,記憶體越大計算能力越強。可以根據自身的成本預算和負載的記憶體需求情況,來配置合適的資源供Kubernetes使用。但是執行Portworx,就需要滿足4核CPU和4G記憶體的最小要求。因為Portworx是一個持久儲存和資料管理系統,因此需要磁碟和驅動做支撐。
磁碟需要至少8G,我們推薦128G。4個節點的話,8G顯得有點少。如果每個節點有128G,就能夠有一個不錯容量的儲存池,來支撐儲存系統。目前來看,還很少有為節點配置1TB以上。還要看執行的應用和需要的情況來定。網路方面,我們推薦10G的內部網路互聯。
存在一個管理網路和一個資料網路。你可以把資料aka的複製、和應用的儲存IO分配到不同的網路上。一個資料網路會存在,我們標記為D,還會存在一個管理網路,我們標記為M。因此管理網路和資料網路都可以透過網路進行連線。這些使你可以把I/O和資料流量進行分配。我們接下來介紹一下如何配置,需要確保資料網路至少是10G互聯的。管理網路可以稍微低一些。Portworx的埠,需要9001到9021,這個範圍可以配置的,這是預設的配置範圍。除非有其他的埠衝突,就不要改變這些埠範圍,它們是預設的Portworx通訊的埠。
對於Kernel版本,你至少需要3.10為Linux作業系統的版本,因為我們使用了很多更新的Linux Kernel整合、工作流和資料流等功能。鍵值儲存資料庫,etcd是最常見的,以及HashiCorp的Consul也可以選用。是的,Kubernetes叢集在Master節點上執行etcd,注意鍵值資料庫完全是分開的。
我在這裡標記一下etcd,它透過網路會被附加到Portworx上,並且是獨立的。它儲存叢集資訊,後設資料這些。對於一些有一定規模的叢集,比如20或者25個節點的Portworx,我們推薦外部資料庫,鍵值儲存資料庫,因為它會把I/O和CPU的資源放在外部系統上以及保持它們在獨立的錯誤域裡。
好的方法是保持一個獨立的錯誤域,並且在配置過程中保持存有備份和快照,這樣出現問題的時候可以恢復etcd資料庫。對Kubernetes etcd資料庫也可以這樣操作。我們來介紹這兩種方式。一種方式是有一個build-in的鍵值儲存,這意味著Portworx可以自動工作,不需要人工干預,可以自動進行快照,也可以備份和恢復,但這是在20~25個Portworx節點的情況。現在對於Portworx所需資源有了一個整體瞭解,我們在介紹如何來配置它。我首先需要來介紹一下-C option,我來展示一個例子,來看在Kubernetes部署中是什麼樣的,或者Portworx執行中的DaemonSet。這樣從命令列和EMO的角度我們就能更好的理解。
-C是我們的叢集名稱,你可以有其他的命名,但是不要有重複。因為如果用同樣的名字,在應用分佈和在etcd中配置的過程中,可能會出現衝突。所以確保叢集名稱是不重複的,這非常重要。我們接下來介紹儲存,我們資料儲存的選項。這裡有一些,我們來看一下,你至少需要配置一項來定義你的儲存磁碟或者後端儲存,可以是本地的8G或者128G的磁碟驅動器,或者是雲端儲存驅動,例如SAN附加儲存。不論是什麼情況,-S都需要被使用,來指向一個特定的磁碟驅動:dev/sdb。你可以列出它們的名稱,或者透過一個卷模板來使用。現在我來連線到卷模板,這是在雲中來使用的,我想要使用gb2,有200G的卷,這會被認為是一個模板。Portworx會自動的與雲的API進行溝通、部署、並且附加到Portworx worker節點上。
-Z是一個零儲存節點。使用的情況是,如果你想要Portworx節點來加入到Portworx叢集,也就是說著它需要附加\mount卷、並且允許應用具備I/O和使用卷。但是它不會給儲存叢集貢獻更多的儲存,也就是說它也不需要有磁碟。所以這就是-Z,零儲存節點。-A,可以提供我們需要的所有功能。如果Portworx需要查詢來看到底有多少沒有被mount的未被使用的磁碟驅動。你可以增加-F,表示可以強制使用任何有檔案系統的磁碟驅動。
這些是典型的操作中使用的引數。我們再來介紹一下資料網路和管理網路。配置時為資料網路使用-D,為管理網路使用-M。eth0,eth1這些。另外還有一個比較重要的就是 -X,這是你的排程器。“請告訴我的Kubernetes排程器來做更多的工作”。
我們介紹了STORK,有一個單獨的影片介紹STORK,它是Kubernetes的儲存排程器,與Kubernetes的排程器緊密整合。鍵值儲存,會是IP和埠。通常執行在2379埠。也許是負載均衡器的IP地址,或者是etcd資料庫的虛擬IP地址。如果你不想要使用外部資料庫,你就不能使用 -b。-b表示使用內部的etcd資料庫,或者是鍵值儲存資料庫。Portworx會自動的用高可用方式部署鍵值。高可用鍵值儲存在至少3個節點上,並且配置壓縮儲存。如果低於20/25個節點,你可能就想使用-b,因為不論你是否想保持對etcd叢集的感知,或者對叢集本身的感知,可以留給Portworx來自動完成。
還有一些其他的部分,如果你想要使用-b,你需要配置一個後設資料標誌,表示這些是專門為鍵值儲存資料庫傳送後設資料I/O使用的驅動,所以它與資料I/O是分開的磁碟。還有就是快取裝置,它允許你在這些節點上選擇最快的驅動。如果這些Portworx節點中的某一個使用GB2卷,在伺服器上有一個NVMe或者一個io1型別的磁碟,就會比普通的驅動要快很多。
你可以使用它作為快取裝置,被Portworx作為快取來使用。總結一下這些重要的標籤。- C是叢集名稱。-A可用來獲取磁碟。-Z代表零儲存節點。S代表確定的儲存,意味著磁碟模板或者儲存裝置本身。-D表示資料網路。-M表示管理網路。-X代表排程器或者Swarm,或者Kubernetes。-K代表外部鍵值儲存。-b代表內部鍵值儲存資料庫、快取裝置、或者配置快取裝置/快取後設資料,供內部鍵值儲存使用。
另外還有一些,我在這裡就不再詳細敘述,我們有spec生成器,你可以透過central.portworx.com來訪問。你使用spec生成器的時候,它會用圖形介面指導你來選擇使用這些引數。以上我們介紹了在配置Portworx儲存叢集中需要考慮的一些方面,希望對您有幫助。謝謝!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69950566/viewspace-2696641/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為K8S叢集準備Ceph儲存K8S
- k8s叢集ConfigMap和Secret儲存卷K8S
- k8s之資料儲存-配置儲存K8S
- 自建Kubernetes叢集如何使用阿里雲CSI儲存元件阿里元件
- K8S叢集儲存服務相關日誌獲取指南K8S
- 【MySQL】MySQL(四)儲存引擎、索引、鎖、叢集MySql儲存引擎索引
- CynosDB技術詳解——儲存叢集管理
- 教你如何搭建K8S叢集。K8S
- 因配置失誤 超1.3萬iSCSI儲存叢集已線上上暴露
- kubernets1.13.1叢集使用ceph rbd塊儲存
- 分散式kv儲存系統之Etcd叢集分散式
- redis叢集資料儲存和獲取原理Redis
- K8s叢集伺服器效能配置指南K8S伺服器
- k8s搭建叢集軟硬體配置要求K8S
- k8s 1.28.2 叢集部署 docker registry 接入 MinIO 儲存K8SDocker
- nas網路儲存如何配置
- Linux中,如何配置iSCSI儲存?Linux
- k8s叢集配置使用coredns代替kube-dnsK8SDNS
- K8S如何部署Redis(單機、叢集)K8SRedis
- 如何使用 Kind 快速建立 K8s 叢集?K8S
- redis偽叢集配置Cluster叢集模式Redis模式
- 極簡的配置單節點Kubernetes(k8s)叢集K8S
- Kafka叢集配置Kafka
- 分散式文件儲存資料庫之MongoDB分片叢集分散式資料庫MongoDB
- CynosDB技術詳解——儲存叢集管理【文末有福利】
- 如何在 K8S 叢集範圍使用 imagePullSecret?K8S
- 面對海量資料儲存,如何保證HBase叢集的高效以及穩定
- kubeconfig 多個叢集配置 如何切換
- 雲原生儲存詳解:容器儲存與 K8s 儲存卷K8S
- k8s之資料儲存-高階儲存K8S
- 崑崙分散式資料庫儲存叢集 Fullsync 機制分散式資料庫
- 使用Redis儲存Nginx+Tomcat負載均衡叢集的SessionRedisNginxTomcat負載Session
- 刪除k8s叢集K8S
- python管理k8s叢集PythonK8S
- k8s 叢集升級K8S
- Ansible部署K8s叢集K8S
- kubeadm部署K8S叢集K8S
- 多k8s叢集管理K8S