国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用Rook+Ceph在Kubernetes上作持久存儲

kuangcaibao / 2571人閱讀

摘要:充當在的業務流程層,將和流程部署為副本集。來自的文件將存儲軟件轉變為自我管理自我擴展和自我修復的存儲服務。由于請求使用文件系統格式化的卷,因此我需要在所有節點上安裝工具。如果沒有指定特定的存儲類,我安裝的任何應用程序都將使用進行數據存儲。

作者:Earl C. Ruby III

我想在新的Kubernetes集群上安裝Prometheus和Grafana,但為了使這些軟件包能夠工作,他們需要一些地方來存儲持久數據。當我在Seagate擔任云架構師時,我已經對Ceph進行了性能和規模測試,并且在過去的一年里玩過Rook,所以我決定安裝Rook+Ceph,并將其用于Kubernetes集群的數據存儲。

Ceph是一個分布式存儲系統,提供對象、文件和塊存儲。在每個存儲節點上,您將找到Ceph存儲對象的文件系統和Ceph OSD(對象存儲守護程序)進程。在Ceph集群上,您還可以找到Ceph MON(監控)守護程序,它們確保Ceph集群保持高可用性。

Rook充當Ceph在Kubernetes的業務流程層,將OSD和MON流程部署為POD副本集。來自Rook的README文件:

Rook將存儲軟件轉變為自我管理、自我擴展和自我修復的存儲服務。它通過自動化部署,引導,準備,配置,擴展,升級,遷移,災難恢復,監控和資源管理來實現此目的。 Rook使用底層云原生容器管理,調度和編排平臺提供的工具來執行其職責。

https://github.com/rook/rook/...

當我創建集群時,我構建了具有40GB硬盤的VM,所以使用5個Kubernetes節點,在我的集群上提供了大約200GB的存儲空間,其中大部分都將用于Ceph。

安裝Rook+Ceph

安裝Rook+Ceph非常簡單。在我的個人群集上,我按照以下步驟安裝了Rook+Ceph v0.9.0:

git clone git@github.com:rook/rook.git
cd rook
git checkout v0.9.0
cd cluster/examples/kubernetes/ceph
kubectl create -f operator.yaml
kubectl create -f cluster.yaml

Rook將POD部署在兩個命名空間中,即rook-ceph-system和rook-ceph。 在我的群集上,POD花了大約2分鐘來部署,初始化并進入運行狀態。當我等待一切都完成時,我檢查了POD狀態:

$ kubectl -n rook-ceph-system get pod
NAME                                  READY   STATUS    RESTARTS   AGE
rook-ceph-agent-8tsq7                 1/1     Running   0          2d20h
rook-ceph-agent-b6mgs                 1/1     Running   0          2d20h
rook-ceph-agent-nff8n                 1/1     Running   0          2d20h
rook-ceph-agent-vl4zf                 1/1     Running   0          2d20h
rook-ceph-agent-vtpbj                 1/1     Running   0          2d20h
rook-ceph-agent-xq5dv                 1/1     Running   0          2d20h
rook-ceph-operator-85d64cfb99-hrnbs   1/1     Running   0          2d20h
rook-discover-9nqrp                   1/1     Running   0          2d20h
rook-discover-b62ds                   1/1     Running   0          2d20h
rook-discover-k77gw                   1/1     Running   0          2d20h
rook-discover-kqknr                   1/1     Running   0          2d20h
rook-discover-v2hhb                   1/1     Running   0          2d20h
rook-discover-wbkkq                   1/1     Running   0          2d20h
$ kubectl -n rook-ceph get pod
NAME                                READY   STATUS      RESTARTS   AGE
rook-ceph-mgr-a-7d884ddc8b-kfxt9    1/1     Running     0          2d20h
rook-ceph-mon-a-77cbd865b8-ncg67    1/1     Running     0          2d20h
rook-ceph-mon-b-7cd4b9774f-js8n9    1/1     Running     0          2d20h
rook-ceph-mon-c-86778859c7-x2qg9    1/1     Running     0          2d20h
rook-ceph-osd-0-67fff79666-fcrss    1/1     Running     0          35h
rook-ceph-osd-1-58bd4ccbbf-lsxj9    1/1     Running     1          2d20h
rook-ceph-osd-2-bf99864b5-n4q7v     1/1     Running     0          2d20h
rook-ceph-osd-3-577466c968-j8gjr    1/1     Running     0          2d20h
rook-ceph-osd-4-6856c5c6c9-92tb6    1/1     Running     0          2d20h
rook-ceph-osd-5-8669577f6b-zqrq9    1/1     Running     0          2d20h
rook-ceph-osd-prepare-node1-xfbs7   0/2     Completed   0          2d20h
rook-ceph-osd-prepare-node2-c9f55   0/2     Completed   0          2d20h
rook-ceph-osd-prepare-node3-5g4nc   0/2     Completed   0          2d20h
rook-ceph-osd-prepare-node4-wj475   0/2     Completed   0          2d20h
rook-ceph-osd-prepare-node5-tf5bt   0/2     Completed   0          2d20h
最后工作

現在我需要再做兩件事,才能安裝Prometheus和Grafana:

我需要讓Rook成為我的集群的默認存儲提供程序。

由于Prometheus Helm chart請求使用XFS文件系統格式化的卷,因此我需要在所有Ubuntu Kubernetes節點上安裝XFS工具。(默認情況下,Kubespray尚未安裝XFS,盡管目前有一個PR解決這個問題。)

要使Rook成為默認存儲提供程序,我只需運行kubectl命令:

kubectl patch storageclass rook-ceph-block -p "{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}"

這會更新rook-ceph-block存儲類,并使其成為群集上存儲的默認值。如果沒有指定特定的存儲類,我安裝的任何應用程序都將使用Rook+Ceph進行數據存儲。

由于我使用Kubespray構建集群,而Kubespray使用Ansible,因此在所有主機上安裝XFS工具的最簡單方法之一,是使用Ansible“在所有主機上運行單個命令”功能:

cd kubespray
export ANSIBLE_REMOTE_USER=ansible
ansible kube-node -i inventory/mycluster/hosts.ini 
  --become --become-user root 
  -a "apt-get install -y xfsprogs"

現在已經安裝了XFS,我可以使用Helm成功部署Prometheus和Grafana:

helm install --name prometheus stable/prometheus
helm install --name grafana stable/grafana

Helm chart安裝Prometheus和Grafana,并在Rook+Ceph上為Prometheus Server和Prometheus Alert Manager(使用XFS格式化)創建持久存儲卷。

Prometheus儀表板

Grafana儀表板

Rook給Prometheus服務器的持久存儲

希望您覺得這個有幫助。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/33107.html

相關文章

  • 使用Rook+CephKubernetes上作持久存儲

    摘要:充當在的業務流程層,將和流程部署為副本集。來自的文件將存儲軟件轉變為自我管理自我擴展和自我修復的存儲服務。由于請求使用文件系統格式化的卷,因此我需要在所有節點上安裝工具。如果沒有指定特定的存儲類,我安裝的任何應用程序都將使用進行數據存儲。 作者:Earl C. Ruby III showImg(https://segmentfault.com/img/bVbljHL?w=300&h=1...

    muddyway 評論0 收藏0
  • rook使用教程,快速編排ceph

    摘要:一旦計算存儲分離后,就可真正實現隨意漂移,對集群維護來說是個極大的福音。不過目前面臨最大的挑戰可能還是分布式存儲的性能問題。 kubernetes集群三步安裝 安裝 git clone https://github.com/rook/rook cd cluster/examples/kubernetes/ceph kubectl create -f operator.yaml 查看...

    elisa.yang 評論0 收藏0
  • zookeeper和etcd有狀態服務部署實踐

    摘要:二總結使用的和的,能夠很好的支持這樣的有狀態服務部署到集群上。部署方式有待優化本次試驗中使用靜態方式部署集群,如果節點變遷時,需要執行等命令手動配置集群,嚴重限制了集群自動故障恢復擴容縮容的能力。 一. 概述 kubernetes通過statefulset為zookeeper、etcd等這類有狀態的應用程序提供完善支持,statefulset具備以下特性: 為pod提供穩定的唯一的...

    dingda 評論0 收藏0
  • zookeeper和etcd有狀態服務部署實踐

    摘要:二總結使用的和的,能夠很好的支持這樣的有狀態服務部署到集群上。部署方式有待優化本次試驗中使用靜態方式部署集群,如果節點變遷時,需要執行等命令手動配置集群,嚴重限制了集群自動故障恢復擴容縮容的能力。 一. 概述 kubernetes通過statefulset為zookeeper、etcd等這類有狀態的應用程序提供完善支持,statefulset具備以下特性: 為pod提供穩定的唯一的...

    jackwang 評論0 收藏0

發表評論

0條評論

kuangcaibao

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<