Pinakamahuhusay na kagawian at pinakamahuhusay na kagawian para sa pagpapatakbo ng mga container at Kubernetes sa mga kapaligiran ng produksyon

Pinakamahuhusay na kagawian at pinakamahuhusay na kagawian para sa pagpapatakbo ng mga container at Kubernetes sa mga kapaligiran ng produksyon
Ang ecosystem ng teknolohiya ng containerization ay mabilis na umuunlad at nagbabago, kaya kulang ang mahusay na kasanayan sa pagtatrabaho sa lugar na ito. Gayunpaman, ang mga Kubernetes at mga container ay lalong ginagamit, kapwa para sa pag-modernize ng mga legacy na application at para sa pagbuo ng mga modernong cloud application. 

Koponan Kubernetes aaS mula sa Mail.ru nakolektang mga hula, payo at pinakamahusay na kagawian para sa mga pinuno ng merkado mula sa Gartner, 451 Research, StacxRoΡ… at iba pa. Paganahin at pabilisin nila ang pag-deploy ng mga lalagyan sa mga kapaligiran ng produksyon.

Paano Malalaman kung Ang Iyong Kumpanya ay Handa nang Mag-deploy ng mga Container sa isang Production Environment

Ayon kay Gartner, sa 2022, higit sa 75% ng mga organisasyon ang gagamit ng mga containerized na application sa produksyon. Ito ay higit na malaki kaysa sa kasalukuyan, kapag wala pang 30% ng mga kumpanya ang gumagamit ng mga naturang application. 

Ayon sa 451 ResearchAng inaasahang merkado para sa mga application ng teknolohiya ng container sa 2022 ay magiging $4,3 bilyon. Ito ay higit sa doble sa halagang inaasahang sa 2019, na may rate ng paglago ng merkado na 30%.

Π’ Portworx at Aqua Security survey 87% ng mga respondent ang nagsabing kasalukuyan silang gumagamit ng mga teknolohiya ng container. Para sa paghahambing, noong 2017 mayroong 55% ng mga naturang respondent. 

Sa kabila ng lumalaking interes at pag-aampon ng mga lalagyan, ang pagkuha ng mga ito sa produksyon ay nangangailangan ng learning curve dahil sa teknolohikal na immaturity at kakulangan ng kaalaman. Dapat maging makatotohanan ang mga organisasyon tungkol sa mga proseso ng negosyo na nangangailangan ng containerization ng application. Dapat suriin ng mga pinuno ng IT kung mayroon silang kakayahan upang sumulong sa pangangailangan para sa mabilis na pag-aaral. 

Mga eksperto sa Gartner Sa tingin namin ay makakatulong sa iyo ang mga tanong sa larawan sa ibaba na matukoy kung handa ka nang mag-deploy ng mga container sa produksyon:

Pinakamahuhusay na kagawian at pinakamahuhusay na kagawian para sa pagpapatakbo ng mga container at Kubernetes sa mga kapaligiran ng produksyon

Ang pinakakaraniwang pagkakamali kapag gumagamit ng mga lalagyan sa produksyon

Ang mga organisasyon ay madalas na minamaliit ang pagsisikap na kinakailangan upang patakbuhin ang mga lalagyan sa produksyon. Natuklasan ni Gartner Ilang karaniwang pagkakamali sa mga sitwasyon ng customer kapag gumagamit ng mga container sa mga kapaligiran ng produksyon:

Pinakamahuhusay na kagawian at pinakamahuhusay na kagawian para sa pagpapatakbo ng mga container at Kubernetes sa mga kapaligiran ng produksyon

Paano panatilihing ligtas ang mga lalagyan

Ang seguridad ay hindi maaaring makitungo sa "mamaya". Dapat itong isama sa proseso ng DevOps, kaya naman mayroong espesyal na termino - DevSecOps. Kailangang magplano ang mga organisasyon pagprotekta sa kapaligiran ng iyong lalagyan sa buong development lifecycle, na kinabibilangan ng build at development process, deployment at launch ng application.

Mga rekomendasyon mula kay Gartner

  1. Isama ang proseso ng pag-scan ng mga larawan ng application para sa mga kahinaan sa iyong tuloy-tuloy na integration/continuous delivery (CI/CD) pipeline. Ang mga application ay ini-scan sa mga yugto ng pagbuo at paglulunsad ng software. Bigyang-diin ang pangangailangang i-scan at tukuyin ang mga bahagi ng open source, library, at frameworks. Ang mga developer na gumagamit ng mga luma at mahinang bersyon ay isa sa mga pangunahing sanhi ng mga kahinaan sa container.
  2. Pahusayin ang iyong configuration gamit ang mga pagsubok sa Center for Internet Security (CIS), na magagamit para sa parehong Docker at Kubernetes.
  3. Tiyaking ipatupad ang mga kontrol sa pag-access, tiyakin ang paghihiwalay ng mga tungkulin, at ipatupad ang isang patakaran sa pamamahala ng mga lihim. Ang sensitibong impormasyon, tulad ng mga Secure Sockets Layer (SSL) key o database credentials, ay naka-encrypt ng orchestrator o mga third-party na serbisyo sa pamamahala at nakalantad sa runtime
  4. Iwasan ang mga matataas na lalagyan sa pamamagitan ng pamamahala sa mga patakaran sa seguridad upang mabawasan ang mga potensyal na panganib sa paglabag.
  5. Gumamit ng mga tool sa seguridad na nagbibigay ng whitelisting, pagsubaybay sa gawi, at pagtuklas ng anomalya upang maiwasan ang malisyosong aktibidad.

Mga rekomendasyon mula sa StacxRox:

  1. Gamitin ang mga built-in na kakayahan ng Kubernetes. Mag-set up ng access para sa mga user gamit ang mga tungkulin. Tiyaking hindi ka magbibigay ng mga hindi kinakailangang pahintulot sa mga indibidwal na entity, kahit na maaaring tumagal ng ilang oras upang pag-isipan ang mga minimum na pahintulot na kinakailangan. Maaaring nakatutukso na bigyan ang cluster administrator ng malawak na mga pribilehiyo dahil nakakatipid ito ng oras sa simula. Gayunpaman, ang anumang kompromiso o pagkakamali sa account ay maaaring humantong sa mapangwasak na mga kahihinatnan sa susunod. 
  2. Iwasan ang mga duplicate na pahintulot sa pag-access. Kung minsan, maaaring maging kapaki-pakinabang ang pagkakaroon ng magkakaibang mga tungkulin, ngunit maaari itong humantong sa mga isyu sa pagpapatakbo at lumikha din ng mga blind spot kapag nag-aalis ng mga pahintulot. Mahalaga rin na alisin ang mga hindi nagamit at hindi aktibong tungkulin.
  3. Magtakda ng mga patakaran sa network: ihiwalay ang mga module upang limitahan ang pag-access sa mga ito; tahasang payagan ang Internet access sa mga module na nangangailangan nito gamit ang mga tag; Tahasang payagan ang komunikasyon sa pagitan ng mga module na kailangang makipag-ugnayan sa isa't isa. 

Paano ayusin ang pagsubaybay sa mga lalagyan at serbisyo sa mga ito

Seguridad at Pagsubaybay - pangunahing problema ng mga kumpanya kapag nagde-deploy ng mga Kubernetes cluster. Palaging mas nakatuon ang mga developer sa mga feature ng mga application na kanilang binuo kaysa sa mga aspeto pagsubaybay sa mga application na ito

Mga rekomendasyon mula kay Gartner:

  1. Subukang subaybayan ang estado ng mga container o serbisyo sa mga ito kasabay ng pagsubaybay sa mga host system.
  2. Maghanap ng mga vendor at tool na may malalim na pagsasama sa container orchestration, lalo na ang Kubernetes.
  3. Pumili ng mga tool na nagbibigay ng detalyadong pag-log, awtomatikong pagtuklas ng serbisyo, at mga real-time na rekomendasyon gamit ang analytics at/o machine learning.

Ang SolarWinds blog ay nagpapayo:

  1. Gumamit ng mga tool upang awtomatikong matuklasan at masubaybayan ang mga sukatan ng container, iugnay ang mga sukatan ng pagganap gaya ng CPU, memorya, at oras ng pag-andar.
  2. Tiyakin ang pinakamainam na pagpaplano ng kapasidad sa pamamagitan ng paghula ng mga petsa ng pagkaubos ng kapasidad batay sa mga sukatan ng pagsubaybay sa container.
  3. Subaybayan ang mga containerized na application para sa availability at performance, kapaki-pakinabang para sa pagpaplano ng kapasidad at pag-troubleshoot ng mga isyu sa performance.
  4. I-automate ang mga daloy ng trabaho sa pamamagitan ng pagbibigay ng suporta sa pamamahala at pag-scale para sa mga container at kanilang mga hosting environment.
  5. I-automate ang kontrol sa pag-access upang subaybayan ang iyong user base, i-disable ang mga lipas na at guest account, at alisin ang mga hindi kinakailangang pribilehiyo.
  6. Tiyaking masusubaybayan ng iyong toolset ang mga container at application na ito sa maraming environment (cloud, on-premises, o hybrid) para makita at ma-benchmark ang performance sa imprastraktura, network, system, at application.

Paano mag-imbak ng data at matiyak ang seguridad nito

Sa pagtaas ng stateful worker container, kailangang isaalang-alang ng mga kliyente ang pagkakaroon ng data sa labas ng host at ang pangangailangang protektahan ang data na iyon. 

Ayon sa Portworx at Aqua Security survey, ang seguridad ng data ay nangunguna sa listahan ng mga alalahanin sa seguridad na binanggit ng karamihan ng mga respondent (61%). 

Ang pag-encrypt ng data ay ang pangunahing diskarte sa seguridad (64%), ngunit gumagamit din ang mga sumasagot sa pagsubaybay sa runtime

(49%), pag-scan sa mga rehistro para sa mga kahinaan (49%), pag-scan para sa mga kahinaan sa mga pipeline ng CI/CD (49%), at pagharang ng mga anomalya sa pamamagitan ng proteksyon sa runtime (48%).

Mga rekomendasyon mula kay Gartner:

  1. Pumili ng mga solusyon sa imbakan na binuo sa mga prinsipyo arkitektura ng microservice. Mas mainam na tumuon sa mga nakakatugon sa mga kinakailangan sa pag-iimbak ng data para sa mga serbisyo ng container, ay independiyente sa hardware, hinimok ng API, may distributed na arkitektura, sumusuporta sa lokal na deployment at deployment sa pampublikong ulap.
  2. Iwasan ang pagmamay-ari na mga plugin at interface. Pumili ng mga vendor na nagbibigay ng pagsasama ng Kubernetes at sumusuporta sa mga karaniwang interface gaya ng CSI (Container Storage Interfaces).

Paano magtrabaho sa mga network

Ang tradisyunal na modelo ng enterprise network, kung saan ang mga IT team ay gumagawa ng naka-network na pag-unlad, pagsubok, kalidad ng kasiguruhan, at produksyon na kapaligiran para sa bawat proyekto, ay hindi palaging angkop sa tuluy-tuloy na daloy ng trabaho sa pag-unlad. Bilang karagdagan, ang mga network ng container ay sumasaklaw sa maraming layer.

Π’ blog Magalix collected mataas na antas ng mga panuntunan na ang pagpapatupad ng isang cluster-network solution ay dapat sumunod sa:

  1. Ang mga pod na naka-iskedyul sa parehong node ay dapat na makipag-ugnayan sa ibang mga pod nang hindi gumagamit ng NAT (Network Address Translation).
  2. Ang lahat ng mga daemon ng system (mga proseso sa background tulad ng kubelet) na tumatakbo sa isang partikular na node ay maaaring makipag-ugnayan sa mga pod na tumatakbo sa parehong node.
  3. Gumagamit ng mga pod host network, ay dapat na makipag-usap sa lahat ng iba pang mga pod sa lahat ng iba pang mga node nang hindi gumagamit ng NAT. Pakitandaan na ang host networking ay sinusuportahan lamang sa mga Linux host.

Ang mga solusyon sa networking ay dapat na mahigpit na isinama sa mga primitive at patakaran ng Kubernetes. Ang mga pinuno ng IT ay dapat magsikap para sa isang mataas na antas ng network automation at magbigay sa mga developer ng mga tamang tool at sapat na flexibility.

Mga rekomendasyon mula kay Gartner:

  1. Alamin kung ang iyong CaaS (container bilang isang serbisyo) o ang iyong SDN (Software Defined Network) ay sumusuporta sa mga network ng Kubernetes. Kung hindi o hindi sapat ang suporta, gamitin ang interface ng network ng CNI (Container Network Interface) para sa iyong mga container, na sumusuporta sa kinakailangang functionality at mga patakaran.
  2. Tiyaking sinusuportahan ng iyong CaaS o PaaS (platform bilang isang serbisyo) ang paggawa ng mga ingress controller at/o load balancer na namamahagi ng papasok na trapiko sa mga cluster node. Kung hindi ito opsyon, mag-explore gamit ang mga third-party na proxy o service meshes.
  3. Sanayin ang iyong mga inhinyero sa network sa mga network ng Linux at mga tool sa automation ng network upang bawasan ang agwat ng mga kasanayan at pataasin ang liksi.

Paano pamahalaan ang lifecycle ng application

Para sa automated at seamless na paghahatid ng application, kailangan mong dagdagan ang container orchestration ng iba pang mga automation tool, gaya ng infrastructure as code (IaC) na mga produkto. Kabilang dito ang Chef, Puppet, Ansible at Terraform. 

Ang mga tool sa pag-automate para sa pagbuo at paglulunsad ng mga application ay kinakailangan din (tingnan ang "Magic Quadrant para sa Application Release Orchestration"). Nagbibigay din ang mga container ng mga kakayahan sa pagpapalawak na katulad ng mga available kapag nagde-deploy ng mga virtual machine (VM). Samakatuwid, ang mga tagapamahala ng IT ay dapat magkaroon mga tool sa pamamahala ng lifecycle ng lalagyan.

Mga rekomendasyon mula kay Gartner:

  1. Magtakda ng mga pamantayan para sa mga batayang larawan ng container batay sa laki, paglilisensya, at flexibility para sa mga developer na magdagdag ng mga bahagi.
  2. Gumamit ng mga system ng pamamahala ng configuration upang pamahalaan ang lifecycle ng mga container na naglalagay ng configuration batay sa mga batayang larawan na matatagpuan sa mga pampubliko o pribadong repositoryo.
  3. Isama ang iyong CaaS platform sa mga tool sa automation para i-automate ang iyong buong workflow ng application.

Paano pamahalaan ang mga lalagyan na may mga orkestra

Ang pangunahing functionality para sa pag-deploy ng mga container ay ibinibigay sa orchestration at planning layers. Sa panahon ng pag-iskedyul, inilalagay ang mga container sa pinakamainam na host sa cluster, ayon sa idinidikta ng mga kinakailangan sa layer ng orkestrasyon. 

Ang Kubernetes ay naging de facto container orchestration standard na may aktibong komunidad at sinusuportahan ng karamihan sa mga nangungunang komersyal na vendor. 

Mga rekomendasyon mula kay Gartner:

  1. Tukuyin ang mga pangunahing kinakailangan para sa mga kontrol sa seguridad, pagsubaybay, pamamahala ng patakaran, pagtitiyaga ng data, networking at pamamahala ng lifecycle ng container.
  2. Batay sa mga kinakailangang ito, piliin ang tool na pinakaangkop sa iyong mga kinakailangan at mga kaso ng paggamit.
  3. Gumamit ng pananaliksik sa Gartner (tingnan ang "Paano pumili ng modelo ng deployment ng Kubernetes") upang maunawaan ang mga kalamangan at kahinaan ng iba't ibang modelo ng pag-deploy ng Kubernetes at piliin ang pinakamahusay para sa iyong aplikasyon.
  4. Pumili ng provider na maaaring magbigay ng hybrid na orkestra para sa mga lalagyan ng trabaho sa maraming kapaligiran na may mahigpit na backend integration, karaniwang mga plano sa pamamahala, at pare-parehong mga modelo ng pagpepresyo.

Paano gamitin ang mga kakayahan ng mga cloud provider

Naniniwala si Gartnerna ang interes sa pag-deploy ng mga container sa pampublikong cloud IaaS ay lumalaki dahil sa pagkakaroon ng mga handang CaaS na handog, pati na rin ang mahigpit na pagsasama ng mga alok na ito sa iba pang mga produkto na inaalok ng mga provider ng cloud.

Ang mga ulap ng IaaS ay nag-aalok ng on-demand na pagkonsumo ng mapagkukunan, mabilis na scalability at pamamahala ng serbisyo, na makakatulong na maiwasan ang pangangailangan para sa malalim na kaalaman sa imprastraktura at pagpapanatili nito. Karamihan sa mga cloud provider ay nag-aalok ng serbisyo sa pamamahala ng lalagyan, at ang ilan ay nag-aalok ng maramihang mga opsyon sa orkestra. 

Ang mga pangunahing tagapagbigay ng serbisyo na pinamamahalaan ng cloud ay ipinakita sa talahanayan: 

Cloud provider
Uri ng serbisyo
Produkto/serbisyo

Alibaba
Native Cloud Service
Alibaba Cloud Container Service, Alibaba Cloud Container Service para sa Kubernetes

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

Giant Swarm
MSP
Giant Swarm Managed Kubernetes Infrastructure

Google
Native Cloud Service
Google Container Engine (GKE)

IBM
Native Cloud Service
Serbisyo ng IBM Cloud Kubernetes

microsoft
Native Cloud Service
Azure Kubernetes Service, Azure Service Fabric

Orakulo
Native Cloud Service
OCI Container Engine para sa Kubernetes

Platform9
MSP
Pinamamahalaang Kubernetes

Red sumbrero
Naka-host na Serbisyo
OpenShift Dedicated at Online

VMware
Naka-host na Serbisyo
Cloud PKS (Beta)

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

* Hindi namin ito itatago, idinagdag namin ang aming sarili dito sa panahon ng pagsasalin :)

Ang mga pampublikong tagapagbigay ng ulap ay nagdaragdag din ng mga bagong kakayahan at naglalabas ng mga produktong nasa lugar. Sa malapit na hinaharap, ang mga tagapagbigay ng ulap ay bubuo ng suporta para sa mga hybrid na ulap at mga multi-cloud na kapaligiran. 

Mga Rekomendasyon ng Gartner:

  1. Layunin na suriin ang kakayahan ng iyong organisasyon na mag-deploy at mamahala ng mga naaangkop na tool, at isaalang-alang ang mga alternatibong serbisyo sa pamamahala ng cloud container.
  2. Maingat na pumili ng software, gumamit ng open source kung posible.
  3. Pumili ng mga provider na may mga karaniwang operating model sa mga hybrid na kapaligiran na nag-aalok ng solong pane ng glass management ng mga federated cluster, pati na rin ang mga provider na nagpapadali para sa self-service na IaaS.

Ilang tip para sa pagpili ng Kubernetes aaS provider mula sa Replex blog:

  1. Ito ay nagkakahalaga ng paghahanap ng mga pamamahagi na sumusuporta sa mataas na kakayahang magamit sa labas ng kahon. Kabilang dito ang suporta para sa maramihang mga pangunahing arkitektura, lubos na magagamit etcd mga bahagi, at backup at pagbawi.
  2. Upang matiyak ang kadaliang kumilos sa iyong mga Kubernetes environment, pinakamahusay na pumili ng mga cloud provider na sumusuporta sa isang malawak na hanay ng mga modelo ng deployment, mula sa nasa lugar hanggang hybrid hanggang multi-cloud. 
  3. Dapat ding suriin ang mga alok ng provider batay sa kadalian ng pag-setup, pag-install, at paggawa ng cluster, pati na rin ang mga update, pagsubaybay, at pag-troubleshoot. Ang pangunahing kinakailangan ay suportahan ang ganap na awtomatikong pag-update ng cluster na may zero downtime. Ang solusyon na pipiliin mo ay dapat ding magpapahintulot sa iyo na magpatakbo ng mga update nang manu-mano. 
  4. Ang pamamahala ng pagkakakilanlan at pag-access ay mahalaga mula sa parehong pananaw sa seguridad at pamamahala. Tiyaking sinusuportahan ng pamamahagi ng Kubernetes na pipiliin mo ang pagsasama sa mga tool sa pagpapatunay at awtorisasyon na iyong ginagamit sa loob. Ang RBAC at fine-grained na access control ay mahalagang set ng tampok din.
  5. Ang pamamahagi na iyong pipiliin ay dapat magkaroon ng isang native na software-defined networking solution na sumasaklaw sa isang malawak na hanay ng iba't ibang aplikasyon o mga kinakailangan sa imprastraktura, o sumusuporta sa isa sa mga sikat na CNI-based na pagpapatupad ng networking, kabilang ang Flannel, Calico, kube-router, o OVN.

Ang pagpapakilala ng mga lalagyan sa produksyon ay nagiging pangunahing direksyon, bilang ebidensya ng mga resulta ng isang survey na isinagawa noong Mga sesyon ng Gartner sa imprastraktura, operasyon at mga diskarte sa ulap (IOCS) noong Disyembre 2018:

Pinakamahuhusay na kagawian at pinakamahuhusay na kagawian para sa pagpapatakbo ng mga container at Kubernetes sa mga kapaligiran ng produksyon
Gaya ng nakikita mo, 27% ng mga respondent ang gumagamit na ng mga lalagyan sa kanilang trabaho, at 63% ang nagpaplanong gawin ito.

Π’ Portworx at Aqua Security survey 24% ng mga respondent ang nag-ulat na namumuhunan ng higit sa kalahating milyong dolyar bawat taon sa mga teknolohiya ng container, at 17% ng mga respondent ay gumastos ng higit sa isang milyong dolyar bawat taon para sa kanila. 

Inihanda ang artikulo ng cloud platform team Mail.ru Cloud Solutions.

Ano pa ang mababasa sa paksa:

  1. Mga Pinakamahuhusay na Kasanayan sa DevOps: Ulat ng DORA.
  2. Kubernetes sa diwa ng piracy na may template para sa pagpapatupad.
  3. 25 Mga Kapaki-pakinabang na Tool para sa Kubernetes Deployment at Adoption.

Pinagmulan: www.habr.com

Magdagdag ng komento