Kubernetesin käyttöönotto voi olla haastavaa, eikä tietoturvasta ole vielä edes puhuttu. Siksi useimmat valitsevat pilven hallinnoidun Kubernetes-palvelun. Tässä artikkelissa vertailemme kolmea suurinta hallinnoitua Kubernetes-ratkaisua: EKS:ää, GKE:ta ja AKS:ää.
Christoph Ebeling
Christoph has been working as a Software Engineer, DevOps Consultant, and IT Manager for over 10 years. More recently he has been focusing a lot on cloud native microservice architectures using Kubernetes and serverless computing.
Mitä voit odottaa hallinnoidulta Kubernetesilta?
Vakauden, vikasietoisuuden ja tietoturvan saavuttaminen Kubernetes-klusterissa on melko haastavaa. Vaikka worker node -solmun vikaantuminen ei yleensä ole ongelma, koska suurin osa sen kuormasta on redundanttia, Kubernetes masterin on oltava erittäin luotettava. Jos se vikaantuu, koko klusteri kaatuu.
Tässä hallinnoidut Kubernetes-palvelut tulevat apuun. Pilvipalveluntarjoajasta riippuen saat enemmän tai vähemmän korkean käytettävyyden Kubernetes masterin SLA-sopimuksella.
Toinen Kubernetesin haaste on se, ettei siihen sisälly käyttäjätietokantaa. Pilvipalveluntarjoaja ratkaisee tämän yleensä integroimalla Kubernetes Auth & RBACin omaan IAM-palveluunsa.
Ratkaiseeko hallinnoitu Kubernetes kaikki ongelmani?
Kaikista hallinnoidun Kubernetesin eduista huolimatta se ei vapauta käyttäjiään kaikista huolista. Ellet käytä Kubernetesia serverless-mallilla (ilman worker node -solmuja, Fargaten / CloudRunin avulla), sinun on edelleen huolehdittava worker node -solmujen skaalauksesta, monitoroinnista ja ylläpidosta. Myös tietoturvasta on huolehdittava. Tarkastellaan kuitenkin EKS:ää, GKE:tä ja AKS:ää sekä sitä, miten ne vertautuvat toisiinsa.
Hallinnoitujen Kubernetes-palveluiden vertailu
Kubernetes master
Kuten aiemmin mainittiin, erittäin luotettava master on vikasietoisen Kubernetes-klusterin avain. Amazonin EKS on oletusarvoisesti erittäin käytettävä, kun taas GCP:ssä voit valita, jaetaanko Kubernetes master eri AZ-alueille. AKS ei tarjonnut usean AZ-alueen mastereita aivan viime aikoihin asti. Kaikilla kolmella palveluntarjoajalla on SLA masterin käytettävyydelle.
Worker-ryhmät
AWS ja Azure ottivat hallinnoidut worker-ryhmät käyttöön vasta hiljattain, mutta GCP:ssä ominaisuus on ollut mukana alusta asti. Kun AKS julkaisi hallinnoidut worker-ryhmät viime vuonna, tiimimme havaitsivat niissä melko paljon ongelmia. AKS:ssä ei esimerkiksi voinut yhdistää eri instanssikokoja käyttäviä node pooleja, ja worker node -solmut eivät käynnistyneet uudelleen päivityksen jälkeen. EKS ja erityisesti GKE hoitavat nämä toiminnot huomattavasti sujuvammin.
Worker-solmujen IAM-integraatio
Jotta Kubernetes-klusteria voi käyttää yhdessä muiden pilven resurssien kanssa, klusterin resursseille on voitava määrittää käyttöoikeuksia. GCP tarjoaa melko hyvän IAM-integraation GKE:hen, mutta EKS on kamppaillut tämän haasteen kanssa pitkään. Puutteita paikkaamaan on syntynyt yhteisöprojekteja, kuten kube2iam. Onneksi Amazon korjasi ongelman viime syksynä ja esitteli tarkat IAM-roolit service accounteille. AKS ei tarjoa tarkkaa käyttöoikeuksien määrittelyä lainkaan, vaan sallii service principalien määrittämisen vain klusteritasolla.
Ingress
GKE johtaa ingress-integraatioissa. Vaikka sekä AWS että GCP tarjoavat tason 7 kuormantasaajan integraation Kubernetes ingressiin, käyttöönotto on GCP:ssä huomattavasti sujuvampaa. AKS:stä tällainen ominaisuus puolestaan puuttuu kokonaan.
Hinnoittelu
Jos haluat maksuttoman Kubernetes masterin, yhden alueen GKE tai AKS ovat oikeita vaihtoehtoja. Jos haluat HA-klusterin GCP:ssä tai AWS:ssä, käyttötunnista veloitetaan 0,10 € (GCP) tai 0,20 € (AWS). Worker node -solmuista kaikki pilvipalveluntarjoajat veloittavat normaalin VM-hinnan.
Helppokäyttöisyys
Yleistä helppokäyttöisyyttä arvioitaessa GKE on jälleen selvä voittaja. Alle 100 rivillä Terraform-koodia saat koko klusterin käyttöön, ja suuri osa ylläpidosta voidaan automatisoida. AKS on hallinnoitujen worker node -solmujen käyttöönoton jälkeen melko helppo ottaa käyttöön. Sen käyttäminen ja ylläpito on silti vaikeaa: worker node -solmut on käynnistettävä uudelleen manuaalisesti päivitysten jälkeen, yhdistetyt worker-ryhmät aiheuttavat ongelmia, ja jotkut käyttäjät raportoivat satunnaisista järjestelmäkaatumisista. AWS:n kanssa työskentelevät ovat luultavasti jo arvanneet, että EKS-klusteri vaatii paljon osaamista, eikä virallinen dokumentaatio aina kata kaikkea riittävän hyvin.
Serverless
Viime aikoina uusien ohjelmistoprojektien tiimien on täytynyt päättää, valitsevatko ne serverless-mallin vai kontit. Serverlessin selvä etu on, ettei käyttäjien tarvitse huolehtia virtuaalipalvelinten ylläpidosta. Sillä on kuitenkin merkittäviä haittoja, kuten heikompi suorituskyky ja toimittajalukko. Tämä on estänyt monia ottamasta uutta teknologiaa käyttöön. Kun GCP julkaisi marraskuussa 2019 Cloud Runin, hallinnoidun Knative-palvelun, AWS vei asiaa kuukautta myöhemmin askeleen pidemmälle integroimalla Fargate-worker-ryhmät EKS:ään. GKE-klustereissa voi tällä hetkellä käyttää serverless-mallilla vain Knative-palveluita, mutta EKS:n Fargatella voit ajaa mitä tahansa podia ilman huolta worker node -solmuista.
Vain kolmella alueella saatavilla oleva Fargate for EKS on suhteellisen uusi ja vielä melko kehittymätön ominaisuus. Testissämme kohtasimme muutamia ongelmia, joissa podeja ei ajoitettu, mutta odotamme AWS:n korjaavan ne pian.
Ylläpito
EKS vaikuttaa selvältä voittajalta serverless-Kubernetesissa, mutta perinteisissä worker node -solmuissa GCP on edelläkävijä. Perinteisten worker node -solmujen päivittäminen voi olla vaikeaa AKS:ssä ja jopa EKS:ssä, mutta GKE:ssä worker-ryhmät voi päivittää automaattisesti ilman käyttökatkoja.
Vakaus
Julkaisuaikataulujen ja konsulttiemme kokemusten perusteella GKE tarjoaa paitsi eniten ominaisuuksia myös ominaisuuksia, որոնք ovat olleet saatavilla pisimpään ja tarjoavat kypsimmät ratkaisut. AKS:stä, joka on näistä kolmesta ratkaisusta kypsymättömin, raportoitiin viime vuonna paljon ongelmia. EKS sijoittuu näiden väliin, mutta on huomattavasti vakaampi kuin AKS.
Johtopäätöksemme
Minulle GKE on kokonaisuutena voittaja. Klusterin voi ottaa käyttöön GCP-konsolissa alle 10 minuutissa (tai noin sadalla Terraform-koodirivillä), se on erittäin vakaa ja päivittyy automaattisesti. AWS voi silti olla hyvä valinta joillekin käyttäjille monipuolisten pilviominaisuuksiensa ja serverless-kehityksen edelläkävijyytensä ansiosta. Kun EKS:n Fargate on vakaampi ja laajemmin saatavilla, se voi tuoda AWS:lle kilpailuetua.
Google ja Amazon ovat hyvin tasaväkisiä kilpailussa markkinoiden parhaasta Kubernetes-ratkaisusta, ja suosittelisin niitä valtaosalle käyttäjistä. AKS voi olla järkevä valinta myös yrityksille, joilla on jo paljon Azure-palveluita käytössä ja jotka tarvitsevat Kubernetesia suurella määrällä Windows-podeja.
Palveluntarjoajat lisäävät ja muuttavat palveluidensa ominaisuuksia jatkuvasti, joten tämä artikkeli voi tarjota vain tilannekuvan heinäkuun 2020 tilanteesta. Kukapa tietää, missä olemme vuoden päästä.
- Cloud
Subscribe to our newsletter
Related blogs