Parhaat käytännöt ja parhaat käytännöt konttien ja Kubernetesin käyttöön tuotantoympäristöissä

Parhaat käytännöt ja parhaat käytännöt konttien ja Kubernetesin käyttöön tuotantoympäristöissä
Konttiteknologian ekosysteemi kehittyy ja muuttuu nopeasti, joten tällä alueella on puutetta hyvistä työtavoista. Kubernetteja ja säiliöitä käytetään kuitenkin yhä enemmän sekä vanhojen sovellusten modernisointiin että nykyaikaisten pilvisovellusten kehittämiseen. 

Joukkue Kubernetes aaS osoitteesta Mail.ru keräsi ennusteita, neuvoja ja parhaita käytäntöjä markkinajohtajille Gartnerilta, 451 Researchilta, StacxRoхlta ja muilta. Ne mahdollistavat ja nopeuttavat konttien käyttöönottoa tuotantoympäristöissä.

Kuinka tietää, onko yrityksesi valmis ottamaan käyttöön kontteja tuotantoympäristössä

Gartnerin mukaanVuonna 2022 yli 75 % organisaatioista käyttää konttisovelluksia tuotannossa. Tämä on huomattavasti enemmän kuin tällä hetkellä, kun alle 30 % yrityksistä käyttää tällaisia ​​sovelluksia. 

Mukaan 451 ResearchKonttiteknologiasovellusten markkinoiden ennustetaan olevan 2022 miljardia dollaria vuonna 4,3. Tämä on yli kaksinkertainen vuodelle 2019 ennustettuun määrään, ja markkinoiden kasvuvauhti on 30 %.

В Portworx ja Aqua Security -tutkimus 87 % vastaajista sanoi käyttävänsä tällä hetkellä konttiteknologiaa. Vertailun vuoksi, vuonna 2017 tällaisia ​​vastaajia oli 55 prosenttia. 

Kasvavasta kiinnostuksesta ja konttien käyttöönotosta huolimatta niiden saaminen tuotantoon vaatii oppimiskäyrää teknologisen kypsymättömyyden ja osaamisen puutteen vuoksi. Organisaatioiden on oltava realistisia liiketoimintaprosesseissa, jotka edellyttävät sovellusten konttia. IT-johtajien tulee arvioida, onko heillä valmiuksia edetä nopeasti oppimisen tarpeessa. 

Gartnerin asiantuntijat Uskomme, että alla olevan kuvan kysymykset auttavat sinua määrittämään, oletko valmis ottamaan käyttöön säilöjä tuotannossa:

Parhaat käytännöt ja parhaat käytännöt konttien ja Kubernetesin käyttöön tuotantoympäristöissä

Yleisimmät virheet käytettäessä säiliöitä tuotannossa

Organisaatiot aliarvioivat usein ponnisteluja, jotka vaaditaan konttien käyttämiseen tuotannossa. Gartner löysi Joitakin yleisiä virheitä asiakasskenaarioissa käytettäessä säiliöitä tuotantoympäristöissä:

Parhaat käytännöt ja parhaat käytännöt konttien ja Kubernetesin käyttöön tuotantoympäristöissä

Kuinka säilyttää säiliöt turvassa

Turvallisuutta ei voida käsitellä "myöhemmin". Se on integroitava DevOps-prosessiin, minkä vuoksi on olemassa jopa erityinen termi - DevSecOps. Organisaatioiden tulee suunnitella suojella konttiympäristöäsi koko kehityksen elinkaaren ajan, joka sisältää sovelluksen rakennus- ja kehitysprosessin, käyttöönoton ja käynnistämisen.

Gartnerin suositukset

  1. Integroi sovelluskuvien skannaus haavoittuvuuksien varalta jatkuvaan integrointiin/jatkuvaan toimitusketjuun (CI/CD). Sovellukset skannataan ohjelmiston rakennus- ja käynnistysvaiheessa. Korosta tarvetta skannata ja tunnistaa avoimen lähdekoodin komponentteja, kirjastoja ja kehyksiä. Vanhoja haavoittuvia versioita käyttävät kehittäjät ovat yksi tärkeimmistä säilöjen haavoittuvuuksien syistä.
  2. Paranna määritystäsi Center for Internet Security -testeillä (IVY), jotka ovat saatavilla sekä Dockerille että Kubernetesille.
  3. Varmista, että käytät pääsynvalvontaa, varmista tehtävien erottaminen ja ota käyttöön salaisuuksien hallintakäytäntö. Järjestäjä tai kolmannen osapuolen hallintapalvelut salaavat arkaluontoiset tiedot, kuten Secure Sockets Layer (SSL) -avaimet tai tietokannan valtuustiedot, ja ne paljastetaan suorituksen aikana.
  4. Vältä korotettuja säiliöitä hallitsemalla suojauskäytäntöjä mahdollisten rikkoutumisriskien vähentämiseksi.
  5. Käytä suojaustyökaluja, jotka tarjoavat sallittujen luettelon, käyttäytymisen valvonnan ja poikkeamien havaitsemisen estääksesi haitallisen toiminnan.

StacxRoxin suositukset:

  1. Hyödynnä Kubernetesin sisäänrakennettuja ominaisuuksia. Määritä käyttöoikeudet käyttäjille, jotka käyttävät rooleja. Varmista, ettet myönnä tarpeettomia käyttöoikeuksia yksittäisille entiteeteille, vaikka vaadittujen vähimmäisoikeuksien läpikäynti voi viedä jonkin aikaa. Saattaa olla houkuttelevaa antaa klusterin ylläpitäjälle laajat oikeudet, koska tämä säästää aluksi aikaa. Kuitenkin kaikki kompromissit tai virheet tilissä voivat johtaa tuhoisiin seurauksiin myöhemmin. 
  2. Vältä päällekkäisiä käyttöoikeuksia. Joskus voi olla hyödyllistä, että eri roolit menevät päällekkäin, mutta tämä voi johtaa toiminnallisiin ongelmiin ja aiheuttaa myös kuolleita kulmia käyttöoikeuksia poistettaessa. On myös tärkeää poistaa käyttämättömät ja passiiviset roolit.
  3. Aseta verkkokäytännöt: eristä moduulit rajoittaaksesi niiden käyttöä; sallia nimenomaisesti Internet-yhteyden niitä tarvitseville moduuleille tunnisteiden avulla; Salli selkeästi kommunikointi niiden moduulien välillä, joiden on kommunikoitava keskenään. 

Kuinka järjestää konttien ja niissä olevien palvelujen valvonta

Turvallisuus ja valvonta - yritysten pääongelmat kun otat käyttöön Kubernetes-klustereita. Kehittäjät keskittyvät aina enemmän kehittämiensä sovellusten ominaisuuksiin kuin näkökohtiin seurata näitä sovelluksia

Gartnerin suositukset:

  1. Yritä valvoa niissä olevien säiliöiden tai palvelujen tilaa isäntäjärjestelmien seurannan yhteydessä.
  2. Etsi toimittajia ja työkaluja, jotka on integroitu syvästi konttiorkesteriin, erityisesti Kubernetes.
  3. Valitse työkaluja, jotka tarjoavat yksityiskohtaista kirjaamista, automaattista palveluiden etsintää ja reaaliaikaisia ​​suosituksia analytiikan ja/tai koneoppimisen avulla.

SolarWinds-blogi neuvoo:

  1. Käytä työkaluja löytääksesi ja seurataksesi säilön mittareita automaattisesti ja korreloimalla suorituskykymittareita, kuten prosessoria, muistia ja käytettävyyttä.
  2. Varmista optimaalinen kapasiteetin suunnittelu ennustamalla kapasiteetin loppumispäivämäärät konttien seurantamittojen perusteella.
  3. Tarkkaile säiliöiden saatavuutta ja suorituskykyä, mikä on hyödyllistä sekä kapasiteetin suunnittelussa että suorituskykyongelmien vianmäärityksessä.
  4. Automatisoi työnkulkuja tarjoamalla hallinta- ja skaalaustukea säilöille ja niiden isännöintiympäristöille.
  5. Automatisoi pääsynhallinta valvoaksesi käyttäjäkuntaasi, poistaaksesi vanhentuneet ja vierastilit käytöstä ja poistaaksesi tarpeettomat oikeudet.
  6. Varmista, että työkalusarjasi voi valvoa näitä säilöjä ja sovelluksia useissa ympäristöissä (pilvi-, paikalliset tai hybridiympäristöt) visualisoidaksesi ja vertaillaksesi suorituskykyä infrastruktuurin, verkon, järjestelmien ja sovellusten välillä.

Kuinka tallentaa tietoja ja varmistaa niiden turvallisuus

Tilallisten työntekijöiden säilytystilojen yleistyessä asiakkaiden on otettava huomioon isäntäkoneen ulkopuolella olevien tietojen läsnäolo ja tarve suojata kyseiset tiedot. 

Mukaan Portworx ja Aqua Security -tutkimus, tietoturva on enemmistön vastaajista (61 %) mainitsemien turvallisuusongelmien listan kärjessä. 

Tietojen salaus on tärkein turvallisuusstrategia (64 %), mutta vastaajat käyttävät myös ajonaikaista seurantaa

(49 %), rekisterien tarkistus haavoittuvuuksien varalta (49 %), CI/CD-putkien haavoittuvuuksien tarkistus (49 %) ja poikkeavuuksien estäminen ajonaikaisen suojauksen avulla (48 %).

Gartnerin suositukset:

  1. Valitse periaatteisiin rakennetut säilytysratkaisut mikropalveluarkkitehtuuri. On parempi keskittyä niihin, jotka täyttävät konttipalveluiden tiedontallennusvaatimukset, ovat laitteistoriippumattomia, API-ohjattuja, niillä on hajautettu arkkitehtuuri, jotka tukevat paikallista käyttöönottoa ja käyttöönottoa julkisessa pilvessä.
  2. Vältä patentoituja laajennuksia ja käyttöliittymiä. Valitse toimittajat, jotka tarjoavat Kubernetes-integraation ja tukevat vakiorajapintoja, kuten CSI (Container Storage Interfaces).

Kuinka toimia verkkojen kanssa

Perinteinen yritysverkkomalli, jossa IT-tiimit luovat jokaiselle projektille verkottuneet kehitys-, testaus-, laadunvarmistus- ja tuotantoympäristöt, ei aina sovi jatkuvaan kehitystyönkulkuun. Lisäksi konttiverkostot kattavat useita kerroksia.

В Blogi Magalix keräsi korkean tason säännöt, joita klusteriverkkoratkaisun käyttöönoton tulee noudattaa:

  1. Samassa solmussa ajoitettujen podien on kyettävä kommunikoimaan muiden podien kanssa ilman NAT:ia (Network Address Translation).
  2. Kaikki tietyssä solmussa toimivat järjestelmädaemonit (taustaprosessit, kuten kubelet) voivat kommunikoida samassa solmussa toimivien podien kanssa.
  3. Palot käytössä isäntäverkko, on kyettävä kommunikoimaan kaikkien muiden podien kanssa kaikissa muissa solmuissa ilman NAT:ia. Huomaa, että isäntäverkkoa tuetaan vain Linux-isännissä.

Verkkoratkaisut on integroitava tiiviisti Kubernetesin primitiivien ja käytäntöjen kanssa. IT-johtajien tulee pyrkiä korkeaan verkkoautomaatioasteeseen ja tarjota kehittäjille oikeat työkalut ja riittävä joustavuus.

Gartnerin suositukset:

  1. Selvitä, tukeeko CaaS (säilö palveluna) tai SDN (Software Defined Network) Kubernetes-verkkoja. Jos ei tai tuki on riittämätön, käytä säilöissäsi CNI-verkkoliitäntää (Container Network Interface), joka tukee tarvittavia toimintoja ja käytäntöjä.
  2. Varmista, että CaaS tai PaaS (alusta palveluna) tukee sisääntuloohjaimien ja/tai kuormantasainten luomista, jotka jakavat saapuvan liikenteen klusterin solmujen kesken. Jos tämä ei ole vaihtoehto, tutustu kolmannen osapuolen välityspalvelinten tai palveluverkkojen avulla.
  3. Kouluta verkkoinsinöörejäsi Linux-verkoissa ja verkon automaatiotyökaluissa vähentääksesi osaamisvajetta ja lisätäksesi ketteryyttä.

Kuinka hallita sovelluksen elinkaarta

Automatisoitua ja saumatonta sovellusten toimitusta varten sinun on täydennettävä kontin orkestrointia muilla automaatiotyökaluilla, kuten infrastruktuurilla koodina (IaC) tuotteina. Näitä ovat Chef, Puppet, Ansible ja Terraform. 

Tarvitaan myös automaatiotyökaluja sovellusten rakentamiseen ja käyttöönottoon (katso "Magic Quadrant sovelluksen julkaisun orkestrointiin"). Säilöissä on myös laajennettavissa olevia ominaisuuksia, jotka ovat samanlaisia ​​kuin virtuaalikoneita (VM:itä) käytettäessä. Siksi IT-johtajilla on oltava kontin elinkaaren hallintatyökalut.

Gartnerin suositukset:

  1. Aseta standardit perussäiliökuville koon, lisensoinnin ja joustavuuden perusteella, jotta kehittäjät voivat lisätä komponentteja.
  2. Käytä kokoonpanonhallintajärjestelmiä hallitaksesi säiliöiden elinkaarta, jotka kerrostavat kokoonpanon julkisissa tai yksityisissä arkistoissa sijaitsevien peruskuvien perusteella.
  3. Integroi CaaS-alustasi automaatiotyökaluilla automatisoidaksesi koko sovelluksesi työnkulun.

Konttien hallinta orkestroijien kanssa

Säiliöiden käyttöönoton ydintoiminnot tarjotaan orkestrointi- ja suunnittelutasoilla. Ajoituksen aikana säiliöt sijoitetaan klusterin optimaalisimpiin isänteihin orkestrointikerroksen vaatimusten sanelemalla. 

Kubernetesista on tullut de facto konttiorkesteristandardi, jossa on aktiivinen yhteisö, ja useimmat johtavat kaupalliset toimittajat tukevat sitä. 

Gartnerin suositukset:

  1. Määritä perusvaatimukset suojauksen hallinnan, valvonnan, käytäntöjen hallinnan, tietojen pysyvyyden, verkottumisen ja säilön elinkaaren hallinnan osalta.
  2. Valitse näiden vaatimusten perusteella vaatimuksiasi ja käyttötapauksiasi parhaiten vastaava työkalu.
  3. Käytä Gartnerin tutkimusta (katso "Kuinka valita Kubernetes-käyttöönottomalli") ymmärtääksesi eri Kubernetes-käyttöönottomallien edut ja haitat ja valita sovelluksellesi paras.
  4. Valitse palveluntarjoaja, joka voi tarjota hybridiorkesteroinnin työsäilöille useissa ympäristöissä tiukan taustaintegroinnin, yhteisten hallintasuunnitelmien ja johdonmukaisten hinnoittelumallien avulla.

Kuinka käyttää pilvipalveluntarjoajien ominaisuuksia

Gartner uskooettä kiinnostus konttien käyttöönottoon julkisessa pilvi IaaS:ssä kasvaa johtuen valmiiden CaaS-tarjousten saatavuudesta sekä näiden tarjousten tiivistä integroinnista muihin pilvipalveluntarjoajien tarjoamiin tuotteisiin.

IaaS-pilvet tarjoavat on-demand resurssien kulutuksen, nopean skaalautuvuuden ja palvelujen hallinta, mikä auttaa välttämään infrastruktuurin ja sen ylläpidon syvällisen tuntemuksen tarpeen. Useimmat pilvipalveluntarjoajat tarjoavat kontinhallintapalvelun, ja jotkut tarjoavat useita orkestrointivaihtoehtoja. 

Tärkeimmät pilvihallinnan palveluntarjoajat on esitetty taulukossa: 

Pilvipalveluntarjoaja
Palvelutyyppi
Tuote/palvelu

Alibaba
Alkuperäinen pilvipalvelu
Alibaba Cloud Container Service, Alibaba Cloud Container Service Kubernetesille

Amazon Web Services (AWS)
Alkuperäinen pilvipalvelu
Amazon Elastic Container Services (ECS), Amazon ECS Kubernetesille (EKS), AWS Fargate

Jättiläinen parvi
MSP
Giant Swarmin hallinnoima Kubernetes-infrastruktuuri

Google
Alkuperäinen pilvipalvelu
Google Container Engine (GKE)

IBM
Alkuperäinen pilvipalvelu
IBM Cloud Kubernetes -palvelu

Microsoft
Alkuperäinen pilvipalvelu
Azure Kubernetes Service, Azure Service Fabric

oraakkeli
Alkuperäinen pilvipalvelu
OCI-konttimoottori Kubernetesille

Platform9
MSP
Hallittu Kubernetes

Red Hat
Isännöity palvelu
OpenShift Dedicated & Online

VMware
Isännöity palvelu
Cloud PKS (beta)

Mail.ru Cloud Solutions*
Alkuperäinen pilvipalvelu
Mail.ru Pilvisäilöt

* Emme piilota sitä, lisäsimme itsemme tänne käännöksen aikana :)

Julkiset pilvipalveluntarjoajat lisäävät myös uusia ominaisuuksia ja julkaisevat paikallisia tuotteita. Lähitulevaisuudessa pilvipalveluntarjoajat kehittävät tukea hybridipilville ja monipilviympäristöille. 

Gartnerin suositukset:

  1. Arvioi objektiivisesti organisaatiosi kyky ottaa käyttöön ja hallita sopivia työkaluja ja harkita vaihtoehtoisia pilvikonttihallintapalveluita.
  2. Valitse ohjelmisto huolellisesti, käytä avointa lähdekoodia mahdollisuuksien mukaan.
  3. Valitse palveluntarjoajat, joilla on yhteisiä toimintamalleja hybridiympäristöissä ja jotka tarjoavat yhden ruudun yhdistelmäklusterien hallinnan, sekä palveluntarjoajia, jotka helpottavat IaaS:n itseisännöintiä.

Joitakin vinkkejä Kubernetes aaS -palveluntarjoajan valitsemiseen Replex-blogista:

  1. Kannattaa etsiä jakeluita, jotka tukevat korkeaa käytettävyyttä. Tämä sisältää tuen useille tärkeimmille arkkitehtuureille, erittäin saatavilla oleville etcd-komponenteille sekä varmuuskopioinnin ja palautuksen.
  2. Varmistaaksesi liikkuvuuden Kubernetes-ympäristöissäsi, on parasta valita pilvipalveluntarjoajat, jotka tukevat monenlaisia ​​käyttöönottomalleja paikallisista hybrideihin ja monipilviin. 
  3. Palveluntarjoajien tarjoukset tulisi myös arvioida asennuksen, asennuksen ja klusterin luomisen helppouden sekä päivitysten, valvonnan ja vianetsinnän perusteella. Perusvaatimus on tukea täysin automaattisia klusteripäivityksiä ilman seisokkeja. Valitsemasi ratkaisun pitäisi myös antaa sinun suorittaa päivitykset manuaalisesti. 
  4. Identiteetin ja pääsyn hallinta on tärkeää sekä turvallisuuden että hallinnon näkökulmasta. Varmista, että valitsemasi Kubernetes-jakelu tukee integraatiota sisäisesti käyttämiesi todennus- ja valtuutustyökalujen kanssa. RBAC ja hienorakeinen kulunvalvonta ovat myös tärkeitä ominaisuuksia.
  5. Valitsemassasi jakelussa on oltava joko natiivi ohjelmiston määrittämä verkkoratkaisu, joka kattaa laajan valikoiman erilaisia ​​sovellus- tai infrastruktuurivaatimuksia, tai se tukee jotakin suosituista CNI-pohjaisista verkkototeutuksista, mukaan lukien Flannel, Calico, kube-router tai OVN.

Konttien tuomisesta tuotantoon on tulossa pääsuunta, kuten XNUMX tehdyn tutkimuksen tulokset osoittavat Gartner-istunnot infrastruktuurista, toiminnoista ja pilvistrategioista (IOCS) joulukuussa 2018:

Parhaat käytännöt ja parhaat käytännöt konttien ja Kubernetesin käyttöön tuotantoympäristöissä
Kuten näet, 27 % vastaajista käyttää jo kontteja työssään ja 63 % aikoo tehdä niin.

В Portworx ja Aqua Security -tutkimus 24 % vastaajista ilmoitti investoivansa yli puoli miljoonaa dollaria vuodessa konttiteknologioihin, ja 17 % vastaajista käytti niihin yli miljoona dollaria vuodessa. 

Pilvialustan tiimin laatima artikkeli Mail.ru Pilviratkaisut.

Mitä muuta luettavaa aiheesta:

  1. DevOpsin parhaat käytännöt: DORA-raportti.
  2. Kubernetes piratismin hengessä toteutusmallilla.
  3. 25 Hyödyllisiä työkaluja Kubernetesin käyttöönottoon ja käyttöönottoon.

Lähde: will.com

Lisää kommentti