Best Practices en Best Practices foar it útfieren fan konteners en Kubernetes yn produksjeomjouwings

Best Practices en Best Practices foar it útfieren fan konteners en Kubernetes yn produksjeomjouwings
It ekosysteem fan kontenerisaasjetechnology is rap yn ûntwikkeling en feroaret, dus d'r is in gebrek oan goede wurkpraktiken op dit gebiet. Kubernetes en konteners wurde lykwols hieltyd mear brûkt, sawol foar it modernisearjen fan legacy-applikaasjes as foar it ûntwikkeljen fan moderne wolkapplikaasjes. 

team Kubernetes aaS fan Mail.ru sammele prognoazes, advys en bêste praktiken foar merk lieders út Gartner, 451 Undersyk, StacxRoх en oare. Se sille de ynset fan konteners yn produksjeomjouwings ynskeakelje en fersnelle.

Hoe kinne jo witte as jo bedriuw ree is om konteners yn in produksjeomjouwing yn te setten

Neffens Gartner, yn 2022, mear dan 75% fan organisaasjes sille gebrûk meitsje fan containerized applikaasjes yn produksje. Dit is signifikant mear as op it stuit, as minder dan 30% fan 'e bedriuwen sokke applikaasjes brûke. 

Neffens 451 UndersykDe projekteare merk foar applikaasjes foar kontenertechnology yn 2022 sil $ 4,3 miljard wêze.

В Portworx en Aqua Security survey 87% fan 'e respondinten sei dat se op it stuit kontenertechnologyen brûke. Foar ferliking, yn 2017 wie d'r 55% fan sokke respondinten. 

Nettsjinsteande de tanimmende belangstelling en oannimmen fan konteners, fereasket se yn produksje in learkurve fanwegen technologyske ûnrypheid en gebrek oan know-how. Organisaasjes moatte realistysk wêze oer saaklike prosessen dy't applikaasjekontenerisaasje fereaskje. IT-lieders moatte evaluearje oft se de feardigens hawwe om foarút te gean mei de needsaak om fluch te learen. 

Gartner saakkundigen Wy tinke dat de fragen yn 'e ôfbylding hjirûnder jo sille helpe om te bepalen as jo ree binne om konteners yn produksje yn te setten:

Best Practices en Best Practices foar it útfieren fan konteners en Kubernetes yn produksjeomjouwings

De meast foarkommende flaters by it brûken fan konteners yn produksje

Organisaasjes ûnderskatte faaks de ynspanning dy't nedich is om konteners yn produksje te betsjinjen. Gartner ûntduts Guon mienskiplike flaters yn klantscenario's by it brûken fan konteners yn produksjeomjouwings:

Best Practices en Best Practices foar it útfieren fan konteners en Kubernetes yn produksjeomjouwings

Hoe konteners feilich te hâlden

Feiligens kin net "letter" wurde behannele. It moat ynboud wurde yn it DevOps-proses, en dêrom is d'r sels in spesjale term - DevSecOps. Organisaasjes moatte planje it beskermjen fan jo konteneromjouwing troch de heule libbenssyklus fan ûntwikkeling, dy't it bou- en ûntwikkelingsproses, ynset en lansearring fan 'e applikaasje omfettet.

Oanbefellings fan Gartner

  1. Yntegrearje it proses fan it scannen fan applikaasjeôfbyldings foar kwetsberens yn jo trochgeande yntegraasje / trochgeande levering (CI / CD) pipeline. Applikaasjes wurde skansearre yn 'e softwarebou- en lansearstadia. Beklamje de needsaak om iepen boarne-komponinten, biblioteken en kaders te scannen en te identifisearjen. Untwikkelders dy't âlde, kwetsbere ferzjes brûke, is ien fan 'e wichtichste oarsaken fan kontenerkwetsberheden.
  2. Ferbetterje jo konfiguraasje mei Center for Internet Security tests (CIS), dy't beskikber binne foar sawol Docker as Kubernetes.
  3. Wês wis dat jo tagongskontrôles ôftwinge, soargje foar skieding fan taken, en in geheimenbehearbelied ymplementearje. Gefoelige ynformaasje, lykas Secure Sockets Layer (SSL)-kaaien of databankbewiis, wurdt fersifere troch de orkestrator of beheartsjinsten fan tredden en bleatsteld by runtime
  4. Foarkom ferhege konteners troch befeiligingsbelied te behearjen om potinsjele ynbreukrisiko's te ferminderjen.
  5. Brûk befeiligingsark dy't whitelisting, gedrachsmonitoring en anomalydeteksje leverje om kweade aktiviteit te foarkommen.

Oanbefellings fan StacxRox:

  1. Brûk de ynboude mooglikheden fan Kubernetes. Stel tagong yn foar brûkers dy't rollen brûke. Soargje derfoar dat jo gjin ûnnedige tagongsrjochten jouwe oan yndividuele ûnderwerpen, ek al kin it wat tiid duorje om troch te tinken oer de minimale fereaske tagongsrjochten. It kin ferleidend wêze om de klusterbehearder brede privileezjes te jaan, om't dit ynearsten tiid besparret. Elk kompromis of flaters yn it akkount kinne lykwols liede ta ferneatigjende gefolgen letter. 
  2. Foarkom dûbele tagongsrjochten. It kin soms nuttich wêze dat ferskate rollen oerlaapje, mar dit kin liede ta operasjonele problemen en ek bline flekken meitsje by it fuortheljen fan tagongsrjochten. It is ek wichtich om net brûkte en ynaktive rollen te ferwiderjen.
  3. Netwurkbelied ynstelle: modules isolearje om tagong ta har te beheinen; Tastean eksplisyt ynternet tagong ta dy modules dy't it nedich hawwe mei tags; Tastean eksplisyt kommunikaasje tusken dy modules dy't moatte kommunisearje mei elkoar. 

Hoe kinne jo kontrôle fan konteners en tsjinsten yn har organisearje

Feiligens en tafersjoch - wichtichste problemen fan bedriuwen by it ynsetten fan Kubernetes-klusters. Untwikkelders binne altyd mear rjochte op 'e funksjes fan' e applikaasjes dy't se ûntwikkelje ynstee fan 'e aspekten tafersjoch op dizze applikaasjes

Oanbefellings fan Gartner:

  1. Besykje de steat fan konteners as tsjinsten yn har te kontrolearjen yn kombinaasje mei kontrôle hostsystemen.
  2. Sjoch foar ferkeapers en ark mei djippe yntegraasje yn kontenerorkestraasje, benammen Kubernetes.
  3. Kies ark dy't detaillearre logboeken leverje, automatyske tsjinstûntdekking, en real-time oanbefellings mei analytyk en / of masine learen.

It SolarWinds-blog advisearret:

  1. Brûk ark om kontenermetriken automatysk te ûntdekken en te folgjen, korrelearjende prestaasjesmetriken lykas CPU, ûnthâld en uptime.
  2. Soargje foar optimale kapasiteitsplanning troch it foarsizzen fan datums foar útputting fan kapasiteit basearre op metriken foar kontenermonitoring.
  3. Monitor kontenerisearre applikaasjes foar beskikberens en prestaasjes, nuttich foar sawol kapasiteitsplanning as it oplossen fan prestaasjesproblemen.
  4. Automatisearje workflows troch stipe foar behear en skaalfergrutting te leverjen foar konteners en har hostingomjouwings.
  5. Automatisearje tagongskontrôle om jo brûkersbasis te kontrolearjen, ferâldere en gastakkounts út te skeakeljen en ûnnedige privileezjes te ferwiderjen.
  6. Soargje derfoar dat jo arkset dizze konteners en applikaasjes kin kontrolearje oer meardere omjouwings (wolk, on-premises, as hybride) om prestaasjes te visualisearjen en te benchmarken oer ynfrastruktuer, netwurk, systemen en applikaasjes.

Hoe gegevens op te slaan en har feiligens te garandearjen

Mei de opkomst fan steatlike arbeiderskonteners moatte kliïnten de oanwêzigens fan gegevens bûten de host beskôgje en de needsaak om dy gegevens te beskermjen. 

Neffens Portworx en Aqua Security survey, gegevensfeiligens stiet boppe op 'e list fan feiligensproblemen oanhelle troch de mearderheid fan respondinten (61%). 

Gegevensfersifering is de wichtichste feiligensstrategy (64%), mar respondinten brûke ek runtimemonitoring

(49%), skennen fan registraasjes foar kwetsberens (49%), skennen foar kwetsberens yn CI/CD-pipelines (49%), en it blokkearjen fan anomalies troch runtime-beskerming (48%).

Oanbefellings fan Gartner:

  1. Kies opslachoplossingen boud op prinsipes microservice arsjitektuer. It is better om te rjochtsjen op dyjingen dy't foldogge oan de easken foar gegevensopslach foar kontenertsjinsten, hardware-ûnôfhinklik binne, API-oandreaune, in ferdielde arsjitektuer hawwe, lokale ynset en ynset yn 'e iepenbiere wolk stypje.
  2. Foarkom proprietêre plugins en ynterfaces. Kies leveransiers dy't Kubernetes-yntegraasje leverje en standert ynterfaces stypje lykas CSI (Container Storage Interfaces).

Hoe wurkje mei netwurken

It tradisjonele bedriuwsnetwurkmodel, wêrby't IT-teams netwurkûntwikkeling, testen, kwaliteitsfersekering en produksjeomjouwings meitsje foar elk projekt, past net altyd goed by de trochgeande ûntwikkelingsworkflow. Derneist, kontener netwurken span meardere lagen.

В blog Magalix sammele regels op heech nivo dêr't de ymplemintaasje fan in klusternetwurkoplossing oan moat foldwaan:

  1. Pods dy't op itselde knooppunt pland binne, moatte kinne kommunisearje mei oare pods sûnder NAT (Network Address Translation) te brûken.
  2. Alle systeemdaemons (eftergrûnprosessen lykas kubelet) dy't rinne op in bepaalde knooppunt kinne kommunisearje mei pods dy't op deselde knoop rinne.
  3. Pods brûke host netwurk, moat yn steat wêze om te kommunisearjen mei alle oare pods op alle oare knopen sûnder NAT te brûken. Tink derom dat hostnetwurk allinich wurdt stipe op Linux-hosts.

Netwurkoplossingen moatte strak yntegreare wurde mei Kubernetes-primitiven en belied. IT-lieders moatte stribje nei in hege graad fan netwurkautomatisaasje en ûntwikkelders de juste ark en foldwaande fleksibiliteit leverje.

Oanbefellings fan Gartner:

  1. Fyn út as jo CaaS (container as in tsjinst) of jo SDN (Software Defined Network) netwurk stipet Kubernetes netwurken. As net of stipe is net genôch, brûk dan de CNI (Container Network Interface) netwurk ynterface foar jo konteners, dy't stipet de nedige funksjonaliteit en belied.
  2. Soargje derfoar dat jo CaaS of PaaS (platfoarm as in tsjinst) it meitsjen fan yngongskontrôles en/of loadbalancers stipet dy't ynkommende ferkear fersprieden ûnder klusterknooppunten. As dit gjin opsje is, ferkenne dan mei help fan proxy's fan tredden of tsjinstmeshes.
  3. Trein jo netwurkyngenieurs op Linux-netwurken en ark foar netwurkautomatisaasje om de feardigenskloof te ferminderjen en behendigheid te fergrutsjen.

Hoe kinne jo de libbenssyklus fan 'e applikaasje beheare

Foar automatisearre en naadleaze applikaasjeferliening moatte jo kontenerorkestraasje oanfolje mei oare automatisearringsynstruminten, lykas ynfrastruktuer as koade (IaC) produkten. Dizze omfetsje Chef, Puppet, Ansible en Terraform. 

Automatisearring ark foar it bouwen en útroljen fan applikaasjes binne ek fereaske (sjoch "Magic Quadrant foar Applikaasje Release Orchestration"). Containers jouwe ek útwreidingsmooglikheden fergelykber mei dy beskikber by it ynsetten fan firtuele masines (VM's). Dêrom moatte IT-lieders hawwe ark foar kontenerlibbenssyklusbehear.

Oanbefellings fan Gartner:

  1. Stel noarmen yn foar basiskontenerôfbyldings basearre op grutte, lisinsje en fleksibiliteit foar ûntwikkelders om komponinten ta te foegjen.
  2. Brûk konfiguraasjebehearsystemen om de libbenssyklus te behearjen fan konteners dy't laachkonfiguraasje basearre binne op basisôfbyldings dy't yn iepenbiere of partikuliere repositories lizze.
  3. Yntegrearje jo CaaS-platfoarm mei automatisearringsark om jo heule applikaasje-workflow te automatisearjen.

Hoe kinne jo konteners beheare mei orkestrators

De kearnfunksjonaliteit foar it ynsetten fan konteners wurdt levere by de orkestraasje- en planninglagen. Tidens skema wurde konteners pleatst op de meast optimale hosts yn it kluster, lykas diktearre troch de easken foar orkestraasjelaach. 

Kubernetes is de de facto kontenerorkestraasjestandert wurden mei in aktive mienskip en wurdt stipe troch de measte liedende kommersjele leveransiers. 

Oanbefellings fan Gartner:

  1. Definiearje basiseasken foar befeiligingskontrôles, tafersjoch, beliedsbehear, gegevenspersistinsje, netwurking en behear fan kontenerslibben.
  2. Selektearje op basis fan dizze easken it ark dat it bêste past by jo easken en gebrûksgefallen.
  3. Brûk Gartner-ûndersyk (sjoch "Hoe kinne jo in Kubernetes-ynsetmodel kieze") om de foar- en neidielen fan ferskate Kubernetes-ynsetmodellen te begripen en de bêste te kiezen foar jo applikaasje.
  4. Selektearje in provider dy't hybride orkestraasje kin leverje foar wurkkonteners oer meardere omjouwings mei strakke backend-yntegraasje, mienskiplike behearplannen en konsekwinte priismodellen.

Hoe kinne jo de mooglikheden fan wolkproviders brûke

Gartner leautdat belangstelling foar it ynsetten fan konteners op iepenbiere wolk IaaS groeit troch de beskikberens fan klearmakke CaaS-oanbiedingen, lykas ek de nauwe yntegraasje fan dizze oanbiedingen mei oare produkten oanbean troch wolkproviders.

IaaS wolken biede on-demand boarne konsumpsje, flugge scalability en tsjinst behear, dy't sil helpe om de needsaak foar yngeande kennis fan 'e ynfrastruktuer en har ûnderhâld te foarkommen. De measte wolkproviders biede in tsjinst foar kontenerbehear, en guon biede meardere orkestraasjeopsjes. 

Key cloud-managed tsjinstferlieners wurde presintearre yn 'e tabel: 

Wolken provider
Service type
Produkt / tsjinst

Alibaba
Native Cloud Service
Alibaba Cloud Container Service, Alibaba Cloud Container Service foar Kubernetes

Amazon Web Services (AWS)
Native Cloud Service
Amazon Elastic Container Services (ECS), Amazon ECS foar Kubernetes (EKS), AWS Fargate

Giant Swarm
MSP
Giant Swarm Managed Kubernetes Ynfrastruktuer

Google
Native Cloud Service
Google Container Engine (GKE)

IBM
Native Cloud Service
IBM Cloud Kubernetes Service

Microsoft
Native Cloud Service
Azure Kubernetes Service, Azure Service Fabric

Oracle
Native Cloud Service
OCI Container Engine foar Kubernetes

Platform9
MSP
Beheard Kubernetes

Reade hoed
Hosted Service
OpenShift Dedicated & Online

Omrop
Hosted Service
Cloud PKS (Beta)

Mail.ru Cloud Solutions*
Native Cloud Service
Mail.ru Cloud Containers

* Wy sille it net ferbergje, wy hawwe ússels hjir tafoege tidens de oersetting :)

Iepenbiere wolkproviders foegje ek nije mooglikheden ta en publisearje on-premises produkten. Yn 'e heine takomst sille wolkproviders stipe ûntwikkelje foar hybride wolken en multi-cloud-omjouwings. 

Gartner Oanbefellings:

  1. Objektyf evaluearje it fermogen fan jo organisaasje om passende ark yn te setten en te behearjen, en beskôgje alternative tsjinsten foar wolkkontenerbehear.
  2. Kies software foarsichtich, brûk iepen boarne wêr mooglik.
  3. Kies oanbieders mei mienskiplike bestjoeringsmodellen yn hybride omjouwings dy't ien paniel fan glêzen behear fan federearre klusters biede, en ek oanbieders dy't it maklik meitsje om IaaS sels te hostjen.

Guon tips foar it kiezen fan in Kubernetes aaS-provider fan it Replex-blog:

  1. It is it wurdich te sykjen nei distribúsjes dy't hege beskikberens stypje bûten it fak. Dit omfettet stipe foar meardere grutte arsjitektueren, heech beskikbere etcd-komponinten, en reservekopy en herstel.
  2. Om mobiliteit yn jo Kubernetes-omjouwings te garandearjen, is it it bêste om wolkproviders te kiezen dy't in breed oanbod fan ynsetmodellen stypje, fan pleatslik oant hybride oant multi-wolk. 
  3. Oanbiedingen fan oanbieders moatte ek wurde evaluearre op basis fan gemak fan opset, ynstallaasje en kluster oanmeitsjen, lykas updates, tafersjoch en probleemoplossing. De basiseask is om folslein automatisearre klusterupdates te stypjen mei nul downtime. De oplossing dy't jo kieze moat jo ek updates mei de hân útfiere. 
  4. Identiteits- en tagongsbehear is wichtich sawol út in perspektyf fan feiligens as bestjoer. Soargje derfoar dat de Kubernetes-distribúsje dy't jo kieze yntegraasje stipet mei de autentikaasje- en autorisaasje-ark dy't jo yntern brûke. RBAC en fynkorrelige tagongskontrôle binne ek wichtige funksjesets.
  5. De distribúsje dy't jo kieze moat of in native software-definieare netwurkoplossing hawwe dy't in breed oanbod fan ferskate applikaasje- of ynfrastruktuereasken beslacht, of ien fan 'e populêre CNI-basearre netwurkimplementaasjes stypje, ynklusyf Flannel, Calico, kube-router, of OVN.

De ynfiering fan konteners yn produksje wurdt de haadrjochting, sa docht bliken út de resultaten fan in enkête útfierd op Gartner sesjes oer ynfrastruktuer, operaasjes en wolkstrategyen (IOCS) yn desimber 2018:

Best Practices en Best Practices foar it útfieren fan konteners en Kubernetes yn produksjeomjouwings
Sa't jo sjen kinne, brûke 27% fan 'e respondinten al konteners yn har wurk, en 63% is fan plan dit te dwaan.

В Portworx en Aqua Security survey 24% fan 'e respondinten rapporteare mear as in heal miljoen dollar per jier te ynvestearjen yn kontenertechnologyen, en 17% fan' e respondinten bestege mear as in miljoen dollar per jier oan har. 

Artikel taret troch it team fan it wolkplatfoarm Mail.ru Cloud Solutions.

Wat oars te lêzen oer it ûnderwerp:

  1. DevOps Best Practices: DORA Report.
  2. Kubernetes yn 'e geast fan piraterij mei in sjabloan foar ymplemintaasje.
  3. 25 Nuttige ark foar ynset en oannimmen fan Kubernetes.

Boarne: www.habr.com

Add a comment