Aplikacijų platformos

Greitesnis aplikacijų kūrimas ir patikimas valdymas su Kubernetes

Augant komandai ir projektų apimtims, programuotojams bei DevOps specialistams vis svarbiau greitai diegti pokyčius ir išlaikyti stabilų aplikacijų veikimą.
„Blue Bridge“ Aplikacijų platforma –
Kubernetes pagrindu sukurtas sprendimas, padedantis komandoms diegti ir valdyti aplikacijas efektyviau, naudojant GitOps principus.

Rezultatas – verslas rūpinasi aplikacijų vystymu ir jų teikiama verte, o „Blue Bridge“ užtikrina jų veikimą. 

Paslaugos

Automatizuota Kubernetes paslauga „Platforma“
Kubernetes stebėjimo paslauga „Observability“
Konteinerizuotų aplikacijų sprendimo diegimas
Kubernetes telkinys kaip paslauga

Kodėl „Blue Bridge“ Kubernetes?

paleidimas ir konfigūravimas
Įdiegiame Kubernetes klasterius debesyje arba on-prem aplinkose bei integruojame su jūsų turima infrastruktūra ir kūrimo įrankiais.
Valdymas ir priežiūra
Užtikriname stabilų kubernetes veikimą – stebime sistemą, atliekame atnaujinimus, reaguojame į incidentus ir laikomės sutartų SLA.
Diegimo automatizavimas
Įgyvendiname automatizuotus procesus, kad aplikacijų diegimas ir infrastruktūros pakeitimai vyktų greitai ir patikimai (naudojant GitOps principus).
Stebėjimas ir analizė
Naudojame Prometheus, Grafana ir Alertmanager – įrankius, skirtus realiu laiku stebėti klasterių veikimą, vizualizuoti duomenis ir greitai reaguoti į sutrikimus.
Veiklos tęstinumo užtikrinimas
Užtikriname Kubernetes resursų rezervinių kopijų darymą ir greitą atstatymą, kad netikėti sutrikimai nesutrikdytų jūsų verslo veiklos.
Saugumo ir atitikties užtikrinimas
Pateikiame konteinerių pažeidžiamumų skenavimo ataskaitas bei taikome prieigos valdymą (angl. Role-Based Access Control (RBAC)), tinklų izoliaciją ir politikos kontrolę (Kyverno), užtikriname BDAR, ISO 27001 bei NIS2 reikalavimų laikymąsi.
Vieninga prieiga prie sistemų

Realizuojame vieningą prisijungimo būdą (angl. Single Sign-On, (SSO)) prie sistemų, kad naudotojai galėtų patogiai ir saugiai pasiekti jiems reikalingas aplinkas per vieną autentifikaciją.

Iškilo klausimų?

Esame paruošę Dažniausiai užduodamų klausimų (DUK) skiltį – peržvelkite, gal atsakymą rasite ten.
Jeigu atsakymo į rūpimą klausimą neradote, susisiekite su mumis – mielai atsakysime į Jūsų verslui rūpimus klausimus.

Dažniausiai užduodami klausimai (DUK)

Kubernetes – tai atviro kodo platforma, skirta automatizuotam konteinerizuotų aplikacijų diegimui ir valdymui, užtikrinant jų veikimo patikimumą ir pasiekiamumą.

Docker yra technologija, skirta kurti ir paleisti pavienius konteinerius. Kubernetes yra sistema, skirta valdyti daugybę tokių konteinerių per kelis serverius (mazgus).

Kubernetes sprendžia sudėtingas problemas, susijusias su moderniomis architektūros aplikacijomis. Pagrindiniai privalumai:

  • Savaiminis atsistatymas (angl. Self-healing). Jei konteineris nustoja veikti, Kubernetes jį automatiškai paleidžia iš naujo.
  • Perkeliamumas. Aplikacija, paruošta veikti Kubernetes, veiks bet kurioje aplinkoje, kurioje įdiegtas Kubernetes (nuosavame serveryje, AWS, Google Cloud, Azure ir kt.).
  • Efektyvus resursų naudojimas. Optimaliai paskirsto aplikacijas po serverius, maksimaliai išnaudodamas resursus.
  • Programavimo našumas. Tai viena svarbiausių privalumų. Kubernetes sukuria abstrakcijos lygmenį virš sudėtingos fizinės ar virtualios infrastruktūros. Kūrėjams nebereikia žinoti, kuriame serveryje veiks jų kodas – jie tiesiog deklaratyviai aprašo aplikacijos poreikius (pvz., kiek reikia CPU, atminties) YAML faile. Tai leidžia jiems susitelkti į kodo rašymą, o ne į serverių valdymą. Be to, aplink Kubernetes išaugo milžiniška kūrėjams skirtų įrankių (pvz., Skaffold, Lens, Telepresence, K9s) ekosistema, kuri drastiškai pagreitina programavimo, testavimo ir derinimo ciklą.

Ne. Standartinis Kubernetes suteikia galingą pagrindą, tačiau jam trūksta funkcijų, būtinų pilnaverčiam ir saugiam aplikacijų valdymui. Tokiems uždaviniams kaip srauto valdymas, saugumo politikos, atsarginės kopijos, stebėsena, automatizuotas diegimas ir kt. reikia papildomų įrankių.

Išorinio srauto nukreipimui naudojamas Ingress Controller. Standartinis Kubernetes paslaugos objektas paprastai pasiekiamas tik klasterio viduje. Ingress yra API objektas, kuris aprašo taisykles, kaip išorinis HTTP/HTTPS srautas turi pasiekti servisus klasterio viduje. Tam, kad šios taisyklės veiktų, reikia įdiegti Ingress valdiklį (pvz., NGINX Ingress Controller, Traefik).

Rankinis sertifikatų valdymas yra neefektyvus ir rizikingas. Šią problemą sprendžia Cert-manager. Jis automatiškai integruojasi su Let’s Encrypt ar kitais sertifikatų centrais (CA), t.y. pats užsako, atnaujina ir priskiria TLS sertifikatus jūsų Ingress taisyklėms, taip užtikrindamas saugų HTTPS ryšį.

Čia į pagalbą ateina politikos valdymo varikliai (angl. policy engines), tokie kaip Kyverno arba OPA Gatekeeper. Jie leidžia administratoriui apibrėžti taisykles, kurias privalo atitikti visi į klasterį diegiami objektai. Pavyzdžiui, galima reikalauti, kad:

  • Visi konteineriai turėtų apibrėžtus resursų limitus.
  • Nebūtų naudojama: paskutinė žymė (angl. latest tag).
  • Visi objektai turėtų tam tikras privalomas žymas (angl. labels).
  • Konteineriai nebūtų paleidžiami su administratoriaus teisėmis.

Nors Kubernetes turi slaptą objektą, jis saugo duomenis tik base64 koduote, o tai nėra pakankamas saugumas. Įmonės lygio sprendimai reikalauja integracijos su išorinėmis saugyklomis, pvz., HashiCorp Vault. Naudojant įrankius kaip Vault Secrets Operator, aplikacijos gali saugiai ir dinamiškai gauti slaptažodžius tiesiai iš Vault, užuot juos saugojus Kubernetes etcd duomenų bazėje.

Konteineriai yra trumpalaikiai (angl. ephemeral). Norint išsaugoti duomenis (pvz., duomenų bazės failus), naudojami PV (angl. Persistent Volume) ir PVC (angl. Persistent Volume Claim) objektai. PVC yra aplikacijos „užklausa“ gauti tam tikrą kiekį disko vietos, o PV yra pati disko vieta. Dinaminiam PV kūrimui naudojami StorageClass objektas ir CSI (angl. Container Storage Interface) tvarkyklės, kurios integruojasi su debesų tiekėjų saugyklomis (pvz., AWS EBS, Google Persistent Disk) arba vietiniais sprendimais (pvz., Ceph, Longhorn).

Tai viena svarbiausių, bet dažnai pamirštamų sričių. Standartinis Kubernetes neturi tam įrankių. Velero yra industrijos standartu tapęs įrankis, leidžiantis daryti atsargines kopijas:

  • Visų Kubernetes objektų („Deployment“, „Service“, „ConfigMap“ ir kt.).
  • Nuolatinių duomenų tomų („Persistent Volumes“).

    Velero leidžia ne tik atkurti duomenis po avarijos, bet ir migruoti aplikacijas tarp skirtingų klasterių ar debesų tiekėjų.

DevOps – tai ekspertas, kuris sujungia kūrėjų ir sistemų administratorių žinias, kad optimizuotų visą aplikacijų gyvavimo ciklą. Pritaikydamas automatizaciją, CI/CD procesus ir modernias technologijas, jis padeda verslui greičiau diegti naujus sprendimus, užtikrina sistemų stabilumą ir efektyvų resursų panaudojimą.

DevOps specialistai naudoja įvairius įrankius, padedančius automatizuoti procesus, valdyti infrastruktūrą, stebėti sistemų veikimą ir užtikrinti saugumą. Populiariausios įrankių kategorijos:

  • CI/CD (nuolatinė integracija ir diegimas): Jenkins, GitLab CI/CD, GitHub Actions, ArgoCD

  • Infrastruktūros valdymas: Terraform, Helm

  • Stebėsena ir logų surinkimas: Prometheus, Grafana, ELK, Loki

  • Saugumas ir prieigos kontrolė: Vault, Kyverno, OPA Gatekeeper

GitOps yra pažangi DevOps praktika, kurioje Git repozitorija yra vienintelis šaltinis (angl. single source of truth) visai klasterio konfigūracijai ir aplikacijoms. Visi pakeitimai (nauja aplikacijos versija, konfigūracijos atnaujinimas) atliekami per Git (angl. git push), o ne tiesiogiai klasteryje.

Populiariausias įrankis yra ArgoCD. Jis nuolat stebi Git repozitoriją ir automatiškai sinchronizuoja klasterio būseną su ta, kuri aprašyta Git. Tai suteikia milžiniškų privalumų:

  • Automatizuotas diegimas: Pakeitimai Git repozitorijoje automatiškai atsiranda klasteryje.
  • Auditas ir atsekamumas: Visi pakeitimai matomi Git istorijoje.
  • Paprastas atstatymas: Sugedus aplikacijai, galima tiesiog grįžti prie ankstesnės Git versijos.
  • Saugumas: Kūrėjams nereikia tiesioginės prieigos prie klasterio.

Helm yra Kubernetes „paketų vadybininkas“. Jis leidžia supakuoti sudėtingą aplikaciją, susidedančią iš daugybės Kubernetes objektų (Deployment, Service, ConfigMap, Ingress ir kt.) į vieną paketą, vadinamą „chart’u“. Tai leidžia lengvai diegti, atnaujinti ir valdyti net ir labai sudėtingas aplikacijas (pvz., Prometheus, GitLab) viena komanda.

Standartinis Kubernetes suteikia tik bazinę informaciją. Pilnaverčiam stebėjimui būtina diegti specializuotus įrankius. Populiariausias derinys –  Prometheus (metrikų surinkimui) ir Grafana (duomenų vizualizavimui). Šie įrankiai leidžia realiu laiku matyti CPU/RAM naudojimą, aplikacijų atsako laiką, klaidų skaičių ir kurti aliarmus jei kažkas netinkmai veikia.

Kiekvienas konteineris generuoja savo įrašus. Norint juos analizuoti centralizuotai, reikalinga įrašų (logų) surinkimo sistema. Populiariausias sprendimas yra EFK (angl. Elasticsearch, Fluentd/Fluent-bit, Kibana) arba Loki su Promtail. Šios sistemos surenka įrašus iš visų konteinerių į vieną vietą, kur juos galima filtruoti, analizuoti ir stebėti.

Vardų erdvės yra būdas logiškai suskirstyti kubernetes teliknį į virtualias dalis. Tai leidžia skirtingoms komandoms ar projektams dirbti tame pačiame fiziniame telkinyje, bet nematyti ir nepaveikti vieniems kitų resursų. Pavyzdžiui, galima sukurti dev, staging ir prod vardų erdves.

Valdomos paslaugos (Google Kubernetes Engine, Amazon EKS, Azure AKS) nuima nuo vartotojo naštą prižiūrėti patį Kubernetes valdymo lygmenį (angl. control plane). Debesų tiekėjas atsako už jo atnaujinimus, saugumą ir pasiekiamumą. Savarankiškai įdiegtas klasteris (pvz., su kubeadm) suteikia daugiau lankstumo, bet reikalauja kur kas daugiau žinių ir priežiūros.

Techniškai – taip, galima supakuoti monolitinę aplikaciją į konteinerį ir paleisti ją Kubernetes. Tačiau taip nebus išnaudojami pagrindiniai Kubernetes privalumai. Norint gauti maksimalią naudą, aplikacijas reikėtų perprojektuoti arba perrašyti.

Gaukite pasiūlymą

Džiugu, kad domitės mūsų
pasiūlymais. Palikite užklausą ir
su jumis susisieksime per 1 d.d.