He toa raraunga "whaiaro" a Rook mo Kubernetes

He toa raraunga "whaiaro" a Rook mo Kubernetes

I te Hanuere 29, te komiti hangarau o te CNCF (Cloud Native Computing Foundation), te whakahaere kei muri i a Kubernetes, Prometheus me etahi atu hua Open Source mai i te ao o nga ipu me te kapua taketake, i panuihia mo te whakaaetanga o te kaupapa Rakau ki o ratou rarangi. He waahi pai ki te mohio ki tenei "kaiwhakahaere rokiroki kua tohatohahia ki Kubernetes."

He aha te ahua o Rook?

Rakau he pūmanawa kua tuhia ki te Haere (tohaina e i raro i te Raihana Apache kore utu 2.0), i hangaia hei whakarato i nga whare putunga raraunga me nga mahi aunoa hei hanga te whakahaere whaiaro, te whakatikatika me te whakaora whaiaro. Hei mahi i tenei, ka mahi aunoa a Rook (mo nga toa raraunga e whakamahia ana i roto i te taiao Kubernetes): te whakatakotoranga, te bootstrapping, te whirihoranga, te whakarato, te tauine, te whakahou, te heke, te whakaora kino, te aroturuki me te whakahaere rauemi.

Ko te kaupapa kei roto i te wahanga alpha me te tohunga ki te whakahaere i te punaha rokiroki kua tohatohahia e Ceph i roto i nga tautau Kubernetes. Ka whakapuaki ano nga kaituhi i nga mahere hei tautoko i etahi atu punaha rokiroki, engari kaore tenei e puta i nga putanga e whai ake nei.

Nga waahanga me nga taputapu hangarau

Ko nga mahi a Rook i roto o Kubernetes i ahu mai i runga i tetahi kaiwhakahaere motuhake (i tuhia e matou etahi atu korero mo Kubernetes Operators in tenei tuhinga), e whakaaunoa ana i te whirihoranga rokiroki me te whakatinana i tana aroturuki.

Na Kaiwhakamahi Rook Ko te ahua he ipu kei roto nga mea katoa e tika ana mo te tuku me te tiaki i muri mai o te putunga. Ko nga kawenga a te kaiwhakahaere ko:

  • te hanga DaemonSet mo nga daemon rokiroki Ceph (ceph-osd) me te huinga RADOS ngawari;
  • te hanga putunga mo te aroturuki Ceph (me ceph-mon, te tirotiro i te mana o te tautau; mo te koorum, i te nuinga o te waa e toru nga kape ka tukuna, a ki te taka tetahi, ka ara ake he kape hou);
  • whakahaerenga o nga CRD (Whakaritenga Rauemi Ritenga) mona ake kāhui, puna rokiroki, toa taonga (he huinga rauemi me nga ratonga mo te tuku tono HTTP e mahi ana i te PUT/GET i runga i nga taonga - he hototahi ki te S3 me te Swift API)A punaha konae;
  • te arawhiti i nga pene ki te whakarewa i nga ratonga katoa e tika ana;
  • te hanganga o nga kaihoko Rook.

Nga Kaihoko o Rook e tohuhia ana e nga pene motuhake ka horahia ki ia node Kubernetes. Ko te kaupapa o te kaihoko he whirihoranga mono FlexVolume, e whakarato tautoko ana mo nga pukapuka rokiroki i Kubernetes. Ka whakatinanahia e te kaihoko te mahi o te rokiroki: ka hono i nga taputapu rokiroki whatunga, te piki i nga pukapuka, te whakahōputu i te punaha konae, aha atu.

He toa raraunga "whaiaro" a Rook mo Kubernetes
Te waahi me te waahi o nga waahanga Rook i roto i te kaupapa huinga huinga Kubernetes

E toru nga momo rokiroki a Rook:

  1. poraka (Poraka, StorageClass) - ka whakairihia te rokiroki ki te ahi kotahi;
  2. ahanoa (ahanoa, ObjectStore) - kei roto, kei waho hoki o te kahui Kubernetes (ma te S3 API);
  3. pūnaha kōnae tiritahi (Pūnaha Kōnae tiritahi, Filesystem) he punaha konae ka taea te whakairi mo te panui me te tuhi mai i nga putunga maha.

Ko nga roto o te Rook ko:

  • Mons — pods mo te aroturuki Ceph (me te ceph-mon kua whakahuatia ake);
  • Nga OSD - Pods me nga daemons ceph-osd (Daemons Rokiroki Ahanoa);
  • M.G.R. - nga pene me te rewera ceph-mgr (Kaiwhakahaere Ceph), e whakarato ana i etahi atu mana aroturuki me nga hononga mo nga punaha o waho (te aroturuki / te whakahaere);
  • RGW (kōwhiringa) - nga putea me te rokiroki taonga;
  • MDS (kōwhiringa) - Pods me te punaha konae tiritahi.

He toa raraunga "whaiaro" a Rook mo Kubernetes

Ko nga daemon Rook katoa (Mons, OSDs, MGR, RGW, MDS) kua whakahiato ki te rua kotahi (rook) e rere ana i roto i te ipu.

Mo te whakataki poto mo te kaupapa Rook, ka whai hua pea tenei poto (12 kiriata). whakaaturanga mai i Bassam Tabbara (CTO i Quantum Corp).

Te whakahaere i te Rook

Ka tautokohia e te kaiwhakahaere Rook te putanga 1.6 me te teitei ake o Kubernetes (a, tetahi waahanga, te tukunga tawhito K8s - 1.5.2). Tōna tāutanga в tauari ngawari penei te ahua:

cd cluster/examples/kubernetes
kubectl create -f rook-operator.yaml
kubectl create -f rook-cluster.yaml

I tua atu, kua rite te kaiwhakahaere Rook Tūtohi helm, na te mea ka taea te whakaurunga penei:

helm repo add rook-alpha https://charts.rook.io/alpha
helm install rook-alpha/rook

Te rahinga iti e waatea ana kōwhiringa tatūnga (hei tauira, ka taea e koe te whakakore i te tautoko RBAC, ki te kore e whakamahia tenei ahuatanga ki to huinga), ka tukuna ki helm install mā te tawhā --set key=value[,key=value] (whakaahua ranei ki tetahi konae YAML motuhake ka tuku ma te -f values.yaml).

Whai muri i te whakaurunga o te Rook operator me te whakarewa i nga pota me ona kaihoko, ko nga mea katoa e toe ana ko te hanga i te roopu Rook ake, ko te whirihoranga tino ngawari penei te ahua (rook-cluster.yaml):

apiVersion: v1
kind: Namespace
metadata:
  name: rook
---
apiVersion: rook.io/v1alpha1
kind: Cluster
metadata:
  name: rook
  namespace: rook
spec:
  dataDirHostPath: /var/lib/rook
  storage:
    useAllNodes: true
    useAllDevices: false
    storeConfig:
      storeType: bluestore
      databaseSizeMB: 1024
      journalSizeMB: 1024

parau: me aro nui ki te huanga dataDirHostPath, ko te uara tika e tika ana hei whakaora i te tautau i muri i te whakaara ano. Mo nga keehi ka whakamahia hei waahi rokiroki pumau mo nga raraunga Rook i runga i nga kaihautu Kubernetes, ka kii nga kaituhi kia 5 GB o te mokowā kōpae koreutu i roto i tenei raarangi.

Ko nga mea e toe ana ko te hanga i te tautau mai i te whirihoranga me te whakarite i hangaia nga poti i roto i te tautau (i roto i te mokowā ingoa. rook):

kubectl create -f rook-cluster.yaml
kubectl -n rook get pod
NAME                              READY     STATUS    RESTARTS   AGE
rook-api-1511082791-7qs0m         1/1       Running   0          5m
rook-ceph-mgr0-1279756402-wc4vt   1/1       Running   0          5m
rook-ceph-mon0-jflt5              1/1       Running   0          6m
rook-ceph-mon1-wkc8p              1/1       Running   0          6m
rook-ceph-mon2-p31dj              1/1       Running   0          6m
rook-ceph-osd-0h6nb               1/1       Running   0          5m

Taukaka Ko te roopu Rook (tae atu ki te putanga hou) he tikanga i tenei wa e hiahia ana kia whakahouhia nga waahanga katoa i roto i tetahi raupapa, a ka taea e koe te timata i muri i to mohio kei te "hauora" te whakaurunga Rook o naianei. āhua. Ko nga tohutohu taipitopito ma te whakamahi i te tauira o te whakahou i te putanga Rook 0.5.0 ki te 0.5.1 ka kitea i roto tuhinga kaupapa.

I te marama o Whiringa-a-rangi i runga i te Rook blog i whakaputaina whakataurite mahi me te EBS. Ko nga hua e tika ana kia tirohia, me te poto, ko enei e whai ake nei:

He toa raraunga "whaiaro" a Rook mo Kubernetes
He toa raraunga "whaiaro" a Rook mo Kubernetes

Tuhinga

Ko te mana o Rook o naianei ko te alpha, a ko te tukunga nui hou ki tenei ra ko Putanga 0.6, i tukuna i te Whiringa-a-rangi 2017 (whakatikatika o naianei - v0.6.2 - i puta mai i te Hakihea 14). Kua tae ki te haurua tuatahi o te tau 2018, ko te whakaputanga o nga putanga pakeke ake e tumanakohia ana: beta me te pumau (kua rite mo te whakamahi i roto i te hanga).

E ai ki mahere ara kaupapa, he tirohanga taipitopito a nga kaihanga mo te whanaketanga o Rook i roto i te iti rawa o nga putanga e rua e whai ake nei: 0.7 (kei roto i te GitHub tracker tona rite. i arotakehia rite 60%) me te 0.8. I roto i nga huringa e tumanakohia ana ko te whakawhiti i te tautoko mo Ceph Block me Ceph Object ki te mana putanga beta, te whakaratonga hihiri o nga pukapuka mo te CephFS, he punaha takiuru matatau, whakamohoatanga roopu aunoa, tautoko mo nga whakaahua mo nga pukapuka.

Te tango Rook ki te Tau Nga kaupapa CNCF (i tenei wa i te wa tuatahi - "taumata-whakamaramatanga" - he rite ki te linkerd и CoreDNS) he momo taurangi mo te tipu haere o te hiahia ki te hua. Me pehea e whai turanga ai i roto i te ao o nga tono kapua ka marama ake i te wa ka tukuna nga putanga pumau, ka mauria mai nga kaiwhakamatautau me nga kaiwhakamahi hou ki Rook.

PS

Pānuihia hoki i runga i ta maatau blog:

Source: will.com

Hokona te manaaki pono mo nga waahi me te tiaki DDoS, nga kaiwhakarato VPS VDS 🔥 Hokona he manaaki paetukutuku pono me te tiakitanga DDoS, ngā tūmau VPS VDS | ProHoster