Rook - o se faleoloa fa'amaumauga mo le tagata lava ia mo Kubernetes

Rook - o se faleoloa fa'amaumauga mo le tagata lava ia mo Kubernetes

I Ianuari 29, o le komiti faʻapitoa a le CNCF (Cloud Native Computing Foundation), o le faʻalapotopotoga i tua atu o Kubernetes, Prometheus ma isi oloa Open Source mai le lalolagi o koneteina ma le ao, faasilasila e uiga i le taliaina o le poloketi Faʻasologa i o latou tulaga. O se avanoa lelei e iloa ai lenei "faʻatonu faʻapipiʻi tufatufaina i Kubernetes."

O le a le ituaiga Rook?

Faʻasologa o lo'o tusia le polokalame i le Go (tufatufaina e i lalo ole Apache License 2.0 e leai se totogi), ua fuafuaina e tuʻuina atu faleteuoloa faʻamaumauga ma galuega faʻapitoa e faʻaogaina ai. pulea e le tagata lava ia, faʻaleleia o le tagata lava ia ma le faʻamaloloina o ia lava. Ina ia faia lenei mea, Rook automates (mo faleoloa faʻamatalaga o loʻo faʻaaogaina i totonu o le Kubernetes siosiomaga): faʻapipiʻiina, bootstrapping, faʻatulagaina, tuʻuina atu, scaling, faʻafouga, femalagaiga, toe faʻaleleia o faʻalavelave, mataʻituina ma le puleaina o punaoa.

O le poloketi o loʻo i totonu o le alpha stage ma faʻapitoa i le faʻatulagaina o le Ceph tufatufa faʻapipiʻi faʻapipiʻi i totonu o fuifui Kubernetes. E faʻasalalau foʻi e le au tusitala fuafuaga e lagolago ai isi faiga faʻapipiʻi, ae o le a le tupu lenei mea i isi faʻasalalauga.

Vaega ma masini faʻapitoa

O galuega a Rook i totonu o Kubernetes e faʻavae i luga o se faʻapitoa faʻapitoa (Na matou tusia atili e uiga i Kubernetes Operators i lenei tusiga), lea e otometi ai le faʻatulagaina o le teuina ma faʻatinoina lona mataʻituina.

Ma o lea, Tagata fa'atonu e foliga mai o se atigipusa o loʻo i ai mea uma e manaʻomia mo le faʻapipiʻiina ma le tausiga mulimuli o le fale teu oloa. O matafaioi fa'atino e aofia ai:

  • fatuina o se DaemonSet mo le teuina o Daemons Ceph (ceph-osd) faatasi ai ma se fuifui RADOS faigofie;
  • fatuina pods mo le mataʻituina o Ceph (ma ceph-mon, siaki le tulaga o le fuifui; mo le korama, i le tele o tulaga e tolu kopi e faʻapipiʻiina, ma afai e paʻu se tasi o na mea, e toe tulaʻi mai se kopi fou);
  • pulega o CRDs (Fa'amatalaga Punaoa Fa'apitoa) mo ia lava fuifui, vaitaele teu, faleoloa mea faitino (seti o punaoa ma auaunaga mo le tuʻuina atu o talosaga HTTP e faʻatino PUT/GET i mea faitino - e fetaui ma le S3 ma le Swift API), faapea foi ma faila faila;
  • amataina o pods e fa'alauiloa uma auaunaga talafeagai;
  • faia o sui o Rook.

Sui o Rook o lo'o fa'atusalia e ni pusa eseese o lo'o fa'apipi'iina i node ta'itasi Kubernetes. O le faʻamoemoega o le sooupu o le faʻapipiʻi faʻapipiʻi FlexVolume, lea e maua ai le lagolago mo le teuina o voluma i Kubernetes. E faʻatinoina e le sooupu le faʻaogaina o le teuina: faʻafesoʻotaʻi masini e teu ai fesoʻotaʻiga, faʻapipiʻi voluma, faʻatulagaina le faila faila, ma isi.

Rook - o se faleoloa fa'amaumauga mo le tagata lava ia mo Kubernetes
Tulaga ma le matafaioi o vaega Rook i le aotelega o le Kubernetes fuifui polokalame

Rook e ofoina atu ituaiga e tolu o le teuina:

  1. poloka (pupuni, StorageClass) - faʻapipiʻi le teuina i se afi e tasi;
  2. mea faitino (Sini, ObjectStore) - avanoa i totonu ma fafo atu o le Kubernetes cluster (e ala i le S3 API);
  3. faiga faila faila (Faiga Fa'asoa Fa'atonu, Filesystem) o se faila faila e mafai ona faʻapipiʻi mo le faitau ma le tusitusi mai le tele o pods.

O totonu ole Rook e aofia ai:

  • Mons - pods mo le mataʻituina o Ceph (faatasi ai ma le ceph-mon ua uma ona taʻua);
  • OSDs - pods ma ceph-osd daemons (Object Storage Daemons);
  • O M.G.R. - pods ma se temoni ceph-mgr (Ceph Manager), lea e tuʻuina atu ai faʻaopoopoga gafatia mataʻituina ma fesoʻotaʻiga mo faiga i fafo (mataʻituina / pulea);
  • RGW (filifiliga) - pusa ma mea e teu ai mea;
  • MDS (filifiliga) - pods fa'atasi ai ma faila faila.

Rook - o se faleoloa fa'amaumauga mo le tagata lava ia mo Kubernetes

O Rook daemons (Mons, OSDs, MGR, RGW, MDS) o loʻo tuʻufaʻatasia i totonu o se binary e tasi (rook) tamo'e i totonu o se koneteina.

Mo se folasaga pu'upu'u i le poloketi Rook, o lenei pu'upu'u (12 ata) e mafai fo'i ona aoga. ata mai Bassam Tabbara (CTO i Quantum Corp).

Fa'agaoioi le Rook

E lagolagoina atoatoa e le Rook operator le Kubernetes version 1.6 ma maualuga atu (ma, o se vaega, o le K8s faʻasalalau tuai - 1.5.2). Ana fa'apipi'i в ata sili ona faigofie foliga faapenei:

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

E le gata i lea, ua saunia le Rook operator Siata foeuli, faʻafetai lea e mafai ona faʻapipiʻiina e pei o lenei:

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

La'ititi la'ititi avanoa filifiliga seti (mo se faʻataʻitaʻiga, e mafai ona e tapeina le lagolago RBAC, pe afai e le fa'aogaina lenei vaega i lau fuifui), lea e pasi atu i helm install e ala i parakalafa --set key=value[,key=value] (pe teu i se faila YAML ese ma faʻasalalau e ala i -f values.yaml).

A maeʻa ona faʻapipiʻi le Rook operator ma faʻalauiloa pods ma ona sui, na o le pau lava le mea e totoe o le fatuina lea o le Rook cluster lava ia, o le faʻatulagaga sili ona faigofie e pei o lenei (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

mataʻi: e tatau ona gauai faapitoa i le uiga dataDirHostPath, o le tau sa'o e mana'omia e fa'asaoina ai le fuifui pe a uma ona toe fa'afouina. Mo mataupu e faʻaaogaina e fai ma nofoaga tumau e teu ai faʻamaumauga a Rook i Kubernetes hosts, e fautuaina e le au tusitala ia le itiiti ifo i le 5 GB o avanoa avanoa avanoa i totonu o lenei lisi.

Pau lava le mea o loʻo totoe o le faia moni lea o le fuifui mai le faʻatulagaga ma ia mautinoa na faia le pods i le fuifui (i le igoa avanoa 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

Faaleleia Rook cluster (e oʻo atu i se lomiga fou) o se faʻagasologa lea i le taimi nei e manaʻomia ai le faʻafouina faʻasolosolo o ona vaega uma i se faʻasologa patino, ma e mafai ona e amataina pe a maeʻa ona e mautinoa o loʻo i ai i le taimi nei le faʻapipiʻiina o Rook i se "soifua maloloina" atoatoa. setete. O faʻamatalaga auiliili taʻitasi taʻitasi e faʻaaoga ai le faʻataʻitaʻiga o le faʻafouina o Rook version 0.5.0 i le 0.5.1 e mafai ona maua i totonu. pepa o galuega faatino.

Novema talu ai i luga o le Rook blog na lomia faatusatusaga galueaina ma le EBS. O ona taunuuga e tatau ona gauai atu i ai, ma i se faapuupuuga, e faapea:

Rook - o se faleoloa fa'amaumauga mo le tagata lava ia mo Kubernetes
Rook - o se faleoloa fa'amaumauga mo le tagata lava ia mo Kubernetes

Faamoemoega

O le tulaga o Rook i le taimi nei o le alpha, ma o le faʻasalalauga sili lata mai i le taimi nei lomiga 0.6, tatalaina ia Novema 2017 (fa'asa'oga nei - v0.6.2 - na sau mai ia Tesema 14). Ua i ai nei i le afa muamua o le 2018, faʻasalalauga o faʻasalalauga sili atu ona matutua e faʻamoemoeina: beta ma fale mautu (sauni aloaʻia mo le faʻaaogaina i le gaosiga).

E tusa ai auala auala poloketi, o loʻo i ai i le au atinaʻe se faʻamatalaga auiliili mo le atinaʻeina o Rook i le itiiti ifo ma le lua faʻasalalauga e sosoo ai: 0.7 (o lona saunia i le GitHub tracker ua fuafua pei ole 60%) ma le 0.8. Faatasi ai ma suiga o loʻo faʻamoemoeina o le tuʻuina atu lea o le lagolago mo Ceph Block ma Ceph Object i le beta version status, faʻamalosia le tuʻuina atu o voluma mo CephFS, se faiga faʻapipiʻi faʻapipiʻi, faʻafouina faʻapipiʻi otometi, lagolago mo snapshots mo voluma.

Avea Rook i le Numera Poloketi CNCF (e oʻo mai i le taimi muamua lava - "faʻavae-tulaga" - i luga o le tutusa ma linkerd и CoreDNS) o se ituaiga faʻamaoniga o le faʻatupulaia o le fiafia i le oloa. E faʻafefea ona maua se tulaga i le lalolagi o faʻaoga ao o le a sili atu ona manino pe a faʻasalalau faʻamaumauga mautu, lea o le a mautinoa ai le aumaia o suʻega fou ma tagata faʻaoga i Rook.

SALA

Faitau foi i la matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga