Sonkhanitsani maziko a database, monga malo okhazikika a data. Ndiko kuti, tengani midadada yomangirira: kuwerengera, kusungirako, ndi zina zotero, ikani Linux ndi nkhokwe pa izo, ndikuzikonza.
Yankho lapamwamba lazamalonda lokhala ndi zowonjezera zosiyanasiyana, zogwirizana ndi gwero lotseguka.
Zosankha zonsezi zimachepetsa kuthekera kwa kusamuka pakati pa mitambo ndikuchepetsa kusuntha kwa data ndi ntchito. Mwachitsanzo, ngakhale kuti mitundu yosiyanasiyana ya mitambo imathandizira MySQL yofanana, pali kusiyana kwakukulu pakati pawo: kugwira ntchito, kugwira ntchito, kusunga, ndi zina zotero. Kusamuka kuchokera ku mtambo umodzi kupita ku wina kungakhale kovuta, makamaka pa ntchito zovuta.
Ndipo apa funso likubwera - kodi n'zotheka kupeza mosavuta Database monga Utumiki, koma ngati njira yosavuta yotsegula?
Kuphatikiza apo, Kubernetes ndi yankho lapadziko lonse lapansi lomwe limathandizidwa mwachinsinsi, pagulu komanso mitambo yosakanizidwa ya ogulitsa ambiri, mwachitsanzo: AWS, Google Cloud, Microsoft Azure, Mail.ru Cloud Solutions.
Momwe Kubernetes amagwirira ntchito ndi nkhokwe
Kubernetes poyambilira adapangidwira ntchito zopanda malire zomwe zimasanthula deta koma osasunga chilichonse, monga ma microservices kapena mawebusayiti. Ma Databases ali kumapeto kwina kwa sipekitiramu, ndiye kuti, ndizomwe zimagwiritsidwa ntchito. Ndipo Kubernetes poyamba sanapangidwe kuti agwiritse ntchito.
Komabe, pali zinthu zina zomwe zawoneka ku Kubernetes posachedwa zomwe zimalola kugwiritsa ntchito nkhokwe ndi mapulogalamu ena apamwamba:
Lingaliro la StatefulSet ndi mndandanda wonse wazinthu zoyambira pakukonza zochitika zokhudzana ndi kuyimitsa ntchito ya ma pod ndi kukhazikitsa Graceful Shutdown (kutsekeka kwa pulogalamuyo).
Persistent Volumes ndi malo osungirako deta omwe amagwirizanitsidwa ndi pods, Kubernetes management zinthu.
Kale m'mitambo ya anthu pali Ma Database akuluakulu monga Utumiki, kumbuyo kwake ndi Kubernetes, mwachitsanzo: CockroachCloud, InfluxDB, PlanetScale. Ndiko kuti, nkhokwe ya Kubernetes sizinthu zokhazokha zomwe zingatheke, komanso zomwe zimagwira ntchito.
Percona ali ndi mayankho awiri otseguka a Kubernetes:
Kubernetes Operator ya Percona Server ya MongoDB.
Kubernetes Operator ya XtraDB CLUSTER ndi ntchito yomwe imagwirizana ndi MySQL ndipo imapereka kupezeka kwakukulu komanso kusasinthika. Mutha kugwiritsanso ntchito node imodzi ngati kupezeka kwakukulu sikufunika, mwachitsanzo pa database ya dev.
Ogwiritsa ntchito a Kubernetes akhoza kugawidwa m'magulu awiri. Anthu ena amagwiritsa ntchito Kubernetes Operators mwachindunji - awa ndi ogwiritsa ntchito apamwamba omwe amamvetsetsa bwino momwe ukadaulo umagwirira ntchito. Ena amayendetsa kumbuyo - ogwiritsa ntchitowa ali ndi chidwi ndi china chake ngati Database ngati Service, safuna kufufuzidwa muzinthu za Kubernetes. Kwa gulu lachiwiri la ogwiritsa ntchito, tili ndi yankho lina lotseguka - Percona DBaaS CLI Tool. Ili ndi yankho loyesera kwa iwo omwe akufuna kupeza DBaaS yotseguka yochokera ku Kubernetes popanda kumvetsetsa kwakukulu kwaukadaulo.
Momwe mungayendetsere Percona's DBaaS pa Google Kubernetes Engine
Google Kubernetes Engine, m'malingaliro mwanga, ndi imodzi mwazinthu zogwira ntchito kwambiri zaukadaulo wa Kubernetes. Imapezeka m'madera ambiri padziko lapansi ndipo ili ndi Chida Chosavuta komanso chosavuta cha Command Line (SDK), chomwe chimakupatsani mwayi wopanga zolemba m'malo mowongolera pamanja nsanja.
Timayika phukusi la mapulogalamu mofananamo. Zambiri apa.
# Add the Cloud SDK distribution URI as a package source
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg]
http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
# Import the Google Cloud Platform public key
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
# Update the package list and install the Cloud SDK
sudo apt-get update && sudo apt-get install google-cloud-sdk
Kuyika Percona DBaaS CLI
Ikani kuchokera ku Percona repositories. Percona DBaaS CLI Tool akadali chinthu choyesera, chifukwa chake chili m'malo oyesera, omwe ayenera kuyatsidwa padera, ngakhale mutakhala kale ndi zosungira za Percona.
Kenaka timapanga dzina lachidziwitso ndikulipanga kukhala logwira ntchito. Namespace ndi, kunena pang'ono, ngati projekiti kapena chilengedwe, koma mkati mwa gulu la Kubernetes. Ndiwodziyimira pawokha kuchokera ku mapulojekiti a Google Cloud:
# percona-dbaas mysql create-db example
Starting ......................................... [done]
Database started successfully, connection details are below:
Provider: k8s
Engine: pxc
Resource Name: example
Resource Endpoint: example-proxysql.my-namespace.pxc.svc.local
Port: 3306
User: root
Pass: Nt9YZquajW7nfVXTTrP
Status: ready
Momwe mungalumikizire gulu
Mwachikhazikitso, imapezeka mkati mwa Kubernetes. Ndiye kuti, sichikupezeka kuchokera ku seva iyi yomwe mudathamangitsira lamulo la "Pangani". Kuti ipezeke, mwachitsanzo, kuyesa ndi kasitomala, muyenera kutumiza doko kudzera pa Mapu a Port: