- Docker Compose yksinkertaistaa paikallisia ympäristöjä ja testausta; Kubernetes orkestroi työkuormia skaalautuvasti automaattisen skaalauksen, päivitysten ja itsekorjauksen avulla.
- Compose toimii yhdellä isännöintialustalla ja Dockerin kanssa; K8s tukee useita suoritusympäristöjä, monisolmuisia klustereita ja pilvikäyttöönottoja.
- Kompose nopeuttaa siirtymistä Composesta Kubernetesiin; se tukee palveluntarjoajia, vaihtoehtoisia objekteja ja tageja palveluiden hienosäätöä varten.
- Käyttötapaukset: Sävellyskehitys-/konfiguraatioympäristöihin; Kubernetes tuotantokäyttöön, IoT/reunaympäristöihin, big data/koneoppimiseen ja moni-/hybridipilviskenaarioihin.
Jos työskentelet konttien kanssa, ennemmin tai myöhemmin herää suuri kysymys: Docker Compose vai Kubernetes? Molempia työkaluja käytetään konttisovelluksen elinkaaressa , mutta niitä ei ole suunniteltu ratkaisemaan täsmälleen samoja ongelmia tai samassa kontekstissa. Tässä artikkelissa vertailemme niitä perusteellisesti käytännön esimerkkien, reaalimaailman skenaarioiden ja vinkkien avulla, joilla siirtyminen työkalusta toiseen on sujuvaa.
Teknologisen asettelun lisäksi päätös vaikuttaa päivittäisiin toimintoihin: käyttöönottoaikoihin, skaalautuvuuteen , vikasietoisuuteen, tietoturvaan ja kustannuksiin . Se vaikuttaa myös tyypillisiin datatekniikan käyttötapauksiin – putkiin, tietokantoihin, suoratoistoon, eräkäsittelyyn, datamuotoihin ja hallintaan – joissa orkestroinnilla on ratkaiseva merkitys tuottavuudessa.
Mitä Docker ja Docker Compose ovat (ja mihin niitä oikeastaan käytetään)?
Kun puhumme Dockerista, puhumme itse asiassa ekosysteemistä: Docker Engine, Docker Hub, Dockerfile, Docker Compose … Moottori luo ja suorittaa säilöjä kuvista; Hub helpottaa niiden jakamista; ja Compose antaa sinun määrittää useita pinon osia YAML-tiedostossa ja käynnistää ne yhdellä komennolla.
Compose luotiin säästämään meidät loputtomilta skripteiltä ja yksittäisiltä komennoista. Yhdellä docker-compose.yml-tiedostolla kuvailet palvelut, verkot ja taltiot , ja saat kaiken toimimaan yhdellä "docker compose up" -komennolla (tai "docker-compose up" -komennolla versiossa 1). Ihanteellinen paikalliseen kehitykseen, integroituun testaukseen, demoihin tai CI-ympäristöihin.
Kanoninen esimerkki Composesta voisi olla tämä, API:n ja Postgres-tietokannan kanssa. Huomaa, miten riippuvuudet, muuttujat ja portit deklaroidaan luettavassa lohkossa:
version: '3.8'
services:
db:
image: postgres:latest
restart: always
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=postgres
ports:
- '5432:5432'
volumes:
- db:/var/lib/postgresql/data
networks:
- mynet
my-api:
container_name: my-api
build:
context: ./
image: my-api
depends_on:
- db
ports:
- '8080:8080'
environment:
DB_HOST: db
DB_PORT: 5432
DB_USER: postgres
DB_PASSWORD: postgres
DB_NAME: postgres
networks:
- mynet
networks:
mynet:
driver: bridge
volumes:
db:
driver: local
Voit skaalata manuaalisesti Composessa käyttämällä palvelun skaalausvaihtoehtoa. Compose V2:ssa on yleistä tehdä tämä `up --scale`-valitsimella (V1:ssä oli `docker-compose scale`):
docker compose up -d --scale my-api=3
Varo rajoituksia: Compose on suunniteltu yhdelle isännälle , se ei tasapainota kuormitusta solmujen välillä tai skaalaa automaattisesti, ja päivitykset ovat yleensä säilöjen manuaalisia luomuksia komennoilla "build" ja "up -d".
Mikä on Kubernetes ja mitä se tarjoaa Composeen verrattuna?
Kubernetes (K8s) on hajautettu konttien orkestrointialusta. Se hallitsee käyttöönottoja skaalautuvasti usean solmun klustereissa käyttäen konsepteja, kuten podeja, käyttöönottoja ja palveluita, tuotantotyökuormien hallintaan.
Kubernetesissa et hallinnoi yksittäisiä säilöjä; hallinnoit podeja (jotka voivat sisältää yhden tai useamman säilön). Ohjaustaso aikatauluttaa kunkin podin suorituspaikat , paljastaa palvelut, jakaa liikenteen, skaalautuu horisontaalisesti ja valvoo työkuormien kuntoa.
Peruskäyttöönotto voisi näyttää tältä, ja siinä on kolme verkkopalvelun kopiota. Määritä mallit, otsikot ja näkyvät portit :
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-deployment
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: my-web-image
ports:
- containerPort: 8000
Kuormituksen tasapainottamiseen käytetään tyypillisesti LoadBalancer-palvelua pilvessä. Valitsin yhdistää Podin tunnisteet liikenteen reitittämiseksi.
apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
selector:
app: web
ports:
- protocol: TCP
port: 80
targetPort: 8000
type: LoadBalancer
Tuotannossa Kubernetes loistaa ominaisuuksillaan, kuten tehokkaalla automaatiolla (HPA), rullaavilla päivityksillä ja itsepalautuksella. HPA säätää replikoita mittareiden (esim. suorittimen käytön) perusteella :
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: web-hpa
spec:
minReplicas: 1
maxReplicas: 10
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: web-deployment
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
Säiliön kuntoa seurataan luotainten avulla; jos ne epäonnistuvat, K8s käynnistää säilön uudelleen. Tämä on "itsekorjaamisen" perusta :
apiVersion: v1
kind: Pod
metadata:
name: web-pod
spec:
containers:
- name: web
image: my-web-image
ports:
- containerPort: 8000
livenessProbe:
httpGet:
path: /healthcheck
port: 8000
initialDelaySeconds: 15
periodSeconds: 15

Keskeiset yhtäläisyydet ja erot (olennaiset asiat ilman liioittelua)
Yhteistä niille on: ne työskentelevät konttien kanssa ja määrittelevät käyttöönotot YAML:n kautta. Molemmat ratkaisut ovat hyödyllisiä sekä kehittäjille että operaattoreille ja täydentävät toisiaan erittäin hyvin kehitys→tuotto-työnkulussa.
Ratkaiseva ero on laajuudessa: Compose on Docker-keskeinen ja yhden isännän periaatteella toimiva ; Kubernetes tukee useita suoritusympäristöjä ja monisolmuisia klustereita, ja se voidaan integroida suoraan pilvipalveluihin ja hallittuihin palveluihin.
Tärkeämpiä eroja: Kubernetes tarjoaa automaattista skaalausta, rullaavia päivityksiä ja itsekorjausta ; Compose ei. Kubernetes abstrahoi Podien avulla; Compose on suorassa vuorovaikutuksessa Docker-konttien kanssa.
Lisäksi Kubernetes sisältää Jobs- ja CronJob-tehtäviä kertaluonteisille tai ajoitetuille tehtäville. Tämä välttää järjestelmän cron-töitä ja ylimääräisiä konttiprosesseja , pitäen alustan luonnollisena paikkana automaatioiden määrittelylle.
Paikallisesti Compose voittaa nopeuden ja yksinkertaisuuden suhteen. Skaalautumiseen satoihin solmuihin tai monipilviympäristöihin Kubernetes on looginen valinta . Compose voi hyödyntää Docker Swarmia monipalvelinympäristöissä, mutta sen käyttöönottoaste ja ominaisuudet eivät vastaa Kubernetesin ekosysteemiä ja kypsyysastetta.
Miksi tarvitset orkestrointia (ja milloin kukin niistä sopii parhaiten)
Hyvä orkestroija tarjoaa sinulle: yhtenäisen käyttöönoton ja käyttöönoton, ajoitetut käynnistykset, palveluiden välisen viestinnän , kuormituksen tasapainotuksen ja lisäturvallisuuden kunkin palvelun lisähallinnan kautta.
Compose kattaa perusasiat virtaviivaisella ja helposti luettavalla tavalla, mikä tekee siitä loistavan työkalun kehitykseen, testaukseen ja demoihin. Sen rajoitukset tulevat kuitenkin ilmeisiksi, kun tarvitset useita solmuja, natiivia kuormituksen tasapainotusta ja automaattista skaalausta tai inkrementaalisia käyttöönottoja ilman käyttökatkoksia.
Kubernetes puolestaan on "alusta", jota käytetään kuormituksen kasvaessa: monisolmuinen, automaattinen skaalaus, korkea käytettävyys ja jättimäinen ekosysteemi , natiivilla tuella AWS:lle, Azurelle, GCP:lle ja hallituille vaihtoehdoille.
Tosielämän käyttötapaukset (kehitys, data ja paljon muuta)
Compose loistaa seuraavilla osa-alueilla: toistettavat paikalliset ympäristöt, E2E-testaus, CI/CD ja koulutus . Koko pinon määrittäminen YAML:ssä ja sen käynnistäminen yhdellä komennolla poistaa paljon kohinaa.
Kubernetes sopii erinomaisesti: tuotantosovelluksiin, esineiden internetiin ja reunalaskentaan, big dataan ja koneoppimiseen sekä moni-/hybridipilviympäristöihin. Se hallitsee hajautettuja työkuormia, joissa latenssi, vikasietoisuus ja havaittavuus ovat tärkeitä.
Tietotekniikassa K8s sopii täydellisesti suoratoisto- ja eräkäsittelyputkille, tietokannoille, jonoille ja analytiikkamoottoreille , ja siinä on pod-kohtainen resurssien hallinta ja automaattinen skaalaus huippukuormituksen sattuessa.
Jos projektisi on pieni ja mahtuu yhdelle isännälle, Compose hoitaa homman vaivattomasti. Mutta kun käyttäjäkuntasi kasvaa ja tarvitset vakavasti otettavaa vikasietoisuutta ja kuormituksen tasapainotusta , on aika harkita Kubernetesia.
Verkkoutuminen, skaalaus ja päivitykset: käytännön vertailu
Compose luo verkon projektikohtaisesti ja selvittää nimet palvelukohtaisesti. Konttien kanssa kommunikointi on yksinkertaista ja turvallista projektin sisällä , mutta ulkoinen kuormituksen tasapainotus ja monipalvelinjärjestelmä eivät ole natiiveja ominaisuuksia.
Kubernetesissa palvelut tarjoavat DNS-etsintää ja kuormituksen tasapainotusta klusterin sisällä; ulospäin voit käyttää LoadBalancer-, NodePort- tai Ingress-palveluita HTTP/S-liikenteen reitittämiseen.
Skaalaus: Kategoriat skaalautuvat manuaalisesti ja vain yhdelle isännälle. Kubernetes skaalautuu horisontaalisesti HPA:n avulla ja ohjelmallisesti mittareiden ja/tai tapahtumien avulla. Se voi myös kasvaa useampiin solmuihin, jos klusteri sen sallii.
Päivitykset: Composessa nämä ovat yleensä manuaalisia uudelleenluontia. K8s tekee päivityksiä jatkuvasti edistymisen hallinnalla (kubectl rollout) ja mahdollisuudella palauttaa asetukset, jos jokin menee pieleen, mikä minimoi niiden vaikutuksen.
Itsekorjaus: Compose voi käynnistää säilöt uudelleen, mutta se ei ratkaise isäntä- tai suorituksenaikaisia kaatumisia. Kubernetes siirtää podit terveisiin solmuihin käyttäjille läpinäkyvästi.
Kehittäjän tuottavuus ja operatiivinen kokemus
Compose on ohut kerros Dockerin päällä. Se on nopea oppia ja sen palautesilmukka on välitön , täydellinen iterointiin.
Kubernetes lisää uusia käsitteitä (Podit, käyttöönotot, palvelut, ingress, ConfigMapit, PVC:t jne.). Oppimiskäyrä on pitkä, mutta vastineeksi saat tarkemman hallinnan käyttöönottoihin, tietoturvaan, havainnoitavuuteen ja skaalautuvuuteen.
Yhteensopivuuden suhteen Compose on Docker-lähtöinen. Kubernetes tukee useita eri suoritusympäristöjä ja integroituu pilvipalveluntarjoajien kanssa , mikä on avainasemassa yrityksille, joilla on monipilvi- tai hybridistrategiat.
Siirtyminen Docker Composesta Kubernetesiin ilman hulluja hetkiä
Milloin migraatio kannattaa tehdä? Kun sovelluksesi ei ole enää "pieni", tarvitset useita solmuja, havainnoitavuutta, skaalautuvuutta ja korkeaa käytettävyyttä , tai sinulta pyydetään canary- ja blue/green-käyttöönottoja.
Tyypillisiä haasteita: palveluverkon kartoittaminen, PV/PVC-tallennustilan suunnittelu , konfiguraation erottelu ConfigMap-karttoihin/salaisuuksiin ja kunkin kontin kunto- ja valmiusmallien tarkastelu.
Myös arkkitehtuuria on harkittava uudelleen: Pod käyttöönottoyksikkönä , palvelut päätepisteiden paljastamiseksi ja resurssit konttia kohden (CPU/Mem), jotta ajoitustoiminto voi suorittaa tehtävänsä.
Kompose: Composesta K8s:ään muutamassa vaiheessa
Kompose muuntaa docker-compose.yml-tiedostot Kubernetes- tai OpenShift-manifesteiksi. Se on suorin tapa aloittaa migraatio ilman YAML-tiedostojen manuaalista uudelleenkirjoittamista.
Ennen kuin aloitat, tarvitset Kubectl-klusterin ja kubectl-funktion määritettynä. Jos testaat jotain tilallista, suositellaan vähintään kahta työsolmua (ei ohjaustasoja). Tarkista versiosi komennolla `kubectl version`.
Asennus: Suositeltu tapa on ladata binääritiedosto uusimmasta GitHub-julkaisusta. Voit käyttää myös tarball-tiedostoa, Homebrew'ta macOS:ssä tai "go get" -komentoa (tämä viimeinen vaihtoehto käyttää kehitystyössä tehtyjä muutoksia sisältävää päätiedostoa).
Perusmuunnos: siirry docker-compose.yml-hakemistoon ja suorita :
kompose convert
kubectl apply -f <archivos-generados>
Kompose luo oletuksena käyttöönottoja ja palveluita. Lokissa luetellaan yleensä jokainen luotu tiedosto , ja kun ne on otettu käyttöön, näet klusterissa "luodut" käyttöönottoja ja palveluita.
Käyttöoikeus: Jos käytät Minikubea, voit helposti paljastaa tai kysellä palveluita. Valitse pilvessä "LoadBalancer Ingress" saadaksesi LoadBalancer-palvelun julkisen IP-osoitteen. NodePortin avulla solmuilla on avoin portti.
Siivous: Kun olet lopettanut testin, poista käytetyt resurssit. Pidä klusteri puhtaana välttääksesi ristiriitoja iteraatioiden välillä.
Komposen lisäasetukset (palvelut, objektit ja tagit)
Kompose tukee Kubernetesia ja OpenShiftiä. Jos et määritä "--provider", se käyttää Kubernetesia oletusarvoisesti . OpenShiftin avulla se voi luoda DeploymentConfigs- ja ImageStreams-objekteja ja jopa BuildConfigs-objekteja, jos käytät rakennusdirektiivejä.
Se tukee myös erilaisia tulosteita: JSON ja "-j", ReplicationControllers, DaemonSets tai Helm Charts . "--replicas"-lipun avulla voit muuttaa RC-kopioiden määrää; Helmissä se luo peruskaaviorakenteen.
Kompositioprosessin sisällä olevat komposikohtaiset tagit vaikuttavat muunnokseen. Voit esimerkiksi määrittää palvelutyypin tai sen, paljastetaanko päätepiste sisäänpääsyn/reitin kautta.
| etiketti | Arvot |
|---|---|
| kompose.service.type | solmuportti/klusterip/kuormantasaaja |
| kompose.service.expose | true / isäntänimi |
Huomioitavaa: nimet, joissa on "_", muunnetaan muotoon "-" (K8s ei salli alaviivoja), ja jos palvelu käyttää taltioita, käyttöönottostrategiaksi muuttuu "Luo uudelleen", jotta vältetään ristiriidat useiden kirjoittajien kanssa.
Kompose tukee useita versioita ja tiedostoja
Kompose tukee Compose-versioita V1, V2 ja V3 (versioille 2.1 ja 3.2 on rajoitettu tuki niiden kokeellisen luonteen vuoksi). Jos välität useita docker-compose-tiedostoja kerralla, ne yhdistetään ja yhteiset elementit korvataan uusimmalla tiedostolla aivan kuten ohituksessa.
Kubernetes-muunnoksen aikana näet viestejä, kuten "WARN Unsupported key build – ignoring", jos yhteensopimattomia avaimia on. Älä huoli, työkalu jatkaa ymmärtämiensä toimintojen käyttöä ja jättää loput myöhempää manuaalista säätämistä varten.
Komposen tuolla puolen: Move2Kube ja manuaalinen migraatio
Jos tarvitset enemmän hallintaa, on olemassa työkaluja, kuten Move2Kube, jotka analysoivat kirjoitustiedostoasi ja luovat hienosäädettyjä Kubernetes-artefakteja. Ne ovat hyödyllisiä, kun haluat mukauttaa liiketoimintamalleja tai -malleja alustaltasi.
Manuaalinen migraatio on täysin pätevä ja lähes aina suositeltavaa alkuperäisen migraation jälkeen. Tyypillisiä vaiheita ovat: palveluiden muuntaminen Deployments/StatefulSets-muotoon , verkkojen muuntaminen Services/Ingress-muotoon ja taltioiden muuntaminen PV/PVC-muotoon tallennusluokkien avulla.
Pienin esimerkki Compose-palvelun muuntamisesta Deployment-palveluksi voisi näyttää tältä: siirrä portit, kuva ja otsikot Pod-mallipohjaan:
# docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- '8000:8000'
depends_on:
- db
# Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-deployment
spec:
replicas: 1
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: my-web-image
ports:
- containerPort: 8000
Tilakohtaisten ominaisuuksien (tietokannat, jonot) osalta kannattaa harkita StatefulSets- ja PersistentVolumes-ominaisuuksia. Kaiken Composessa "yhdessä" olevan ei tarvitse mennä samaan podiin ; erota vastuut ja käytä palveluita komponenttien väliseen kommunikointiin.
Dataskenaariot: suoratoisto, eräkäsittely ja hallinta
Monimutkaisissa dataputkissa K8s sopii kuin hansikas: Jobs-tehtävät eräprosesseihin, CronJobs-tehtävät aikaikkunoihin , API-käyttöönotot ja operaattorit järjestelmille, kuten Kafka, Spark tai Flink.
Suoratoistossa ja tietokannoissa yhteisöoperaattorit ja kaaviot helpottavat käynnistystä. Service Mesh -verkko ja resurssienhallinta takaavat ennustettavammat latenssit ja SLO:t verrattuna yhden isännän ratkaisuun.
Tiedonhallinnan ja tietoturvan osalta Kubernetes tarjoaa nimiavaruuksia, käytäntöjä ja RBAC-hallintaa ympäristöjen auditointiin ja erotteluun. Tämä on käytännön etu Composen paikalliseen lähestymistapaan verrattuna.
Parhaat käytännöt ja pienet operatiiviset niksit
Compose-komennossa: pidä YAML-tiedostosi pienenä ja modulaarisena ; käytä ympäristömuuttujia ja .env-tiedostoja; dokumentoi portit ja riippuvuudet; ja heijasta CI:ssä sitä, mitä suoritat paikallisesti.
Kubernetesissa: määritä suorittimen ja muistin pyynnöt/rajoitukset , käytä valmius-/liveness-luotaimia, erottele konfiguraatio ConfigMap- ja Secret-malleihin ja käytä asianmukaisia käyttöönottostrategioita kullekin palvelulle.
Kubeckin päivityksiä varten: käytä `kubectl set image`- ja `kubectl rollout status`- komentoja seurataksesi edistymistä ja peruuttaaksesi asetukset, jos jokin menee pieleen. Tämä estää tuotantokäytön seisokit.
Jos tarvitset tiettyjä töitä Composessa, voit simuloida niitä, mutta Kubernetesissa se on siistimpää CronJobs/Jobs-työasemien avulla ; et sotke säilöjä ylimääräisillä prosesseilla tai cron-isännöinneillä.
Pikaisesti usein kysytyt kysymykset sekaannusten välttämiseksi
Korvaako Compose Kubernetesin? Ei. Compose yksinkertaistaa usean kontin pinoja yhdellä isännöinnillä; Kubernetes orkestroi klusteritasolla ja tarjoaa korkean käytettävyyden.
Käytetäänkö Composea vielä? Kyllä, paljonkin. Se on ihanteellinen kehitys- ja testaustyökalu kokonaisten ympäristöjen perustamiseen vain muutamalla komennolla.
Onko Kubernetes "parempi" kuin Docker? Ne ovat eri asioita: Docker on konttialusta ; Kubernetes orkestroi ne klusterissa ja lisää edistyneitä toimintoja.
Voinko tuoda Compose-tiedostoni Kubernetesiin ilman manuaalista uudelleenkirjoittamista? Kyllä, Komposen tai Docker Desktopin integraatiolla. Se antaa sinulle nopean ensimmäisen askeleen , jota voit sitten hioa.
Hienot yksityiskohdat: ohjelmointi, OpenShift ja vaihtoehtoiset muunnokset
K8s ei ole vain jatkuvaa käyttöönottoa: Jobs ja CronJobs kattavat kertaluonteiset tai suunnitellut tehtävät ilman, että sinun tarvitsee hallita järjestelmän croneja.
OpenShiftissä Kompose voi luoda DeploymentConfigs- ja ImageStreams-tiedostoja ja jopa BuildConfigs-tiedostoja, jos Composella on Git-repositorioon liittyvä koontiversio. Lähdekoodin säätämiseen käytetään valitsimia ”--build-repo” ja ”--build-branch”.
Jos haluat erilaisen tulosteen, Kompose sallii DaemonSet-, ReplicationController- tai Helm Charts -kohteiden käytön oletusarvoisten Deployments and Services -kohteiden sijaan. Se voi myös luoda JSON-tiedostoja, ei pelkästään YAML-tiedostoja.
Yhteensopivuus, varoitukset ja pienet ongelmat
Kompose tukee Compose V1/V2/V3 -versioita (rajoituksin versioissa 2.1 ja 3.2). Tukemattomat näppäimet ohitetaan ja annetaan WARN-koodi , jolloin manuaalisille säädöille jää tilaa.
Jos palvelullasi on tiedostoja, Kompose muuttaa strategian "Luo uudelleen" -asetukseksi välttääkseen saman tiedostojaon samanaikaisuuden . Tämä on normaalia tilapalveluille.
Nimien alaviivat muunnetaan yhdysviivoiksi. Tämä on Kubernetesin rajoitus objektien nimille , joten varmista, että nimeät ne oikein Composessa välttääksesi yllätyksiä muunnoksen aikana.
Ulkopuolelta käsin käyttämistä varten tarkista palvelun tyyppi: ClusterIP (sisäinen), NodePort (portti solmuilla) tai LoadBalancer (julkinen IP-osoite pilvessä). Ingressin avulla saat käyttöösi puhtaat HTTP/S-reitit ja keskitetyn TLS:n.
Jos testaat Minikubessa, komennot, kuten ”minikube service <svc> –url”, palauttavat nopeasti URL-osoitteen . Cloudissa katso ”LoadBalancer Ingress” -kenttää kuvaillessasi palvelua.
Yksi mielenkiintoinen seikka: yhteisössä on viittauksia Kubernetes-profiilien palkkoihin ja lähes 88 prosentin käyttöönottoasteeseen tuotantoympäristöissä. Ei mitään epätavallista: se on tosiasiallinen standardi.
Kuvan täydentämiseksi Kubernetesissa on muutakin kuin HTTP:tä: Service Mesh, operaattorit ja CRD:t laajentavat Kubernetesin ulottuvuutta. Jos olet Compose-käyttäjä, on normaalia tuntea olosi aluksi ylikuormitetuksi, mutta tämä lisäteho tarkoittaa vankempaa toimintaa.
Nollaa käytännöt: hyödyllisiä vastaavuuksia
Compose sallii uudelleenkäynnistyksen "aina/virheen sattuessa/ei". Kubernetesissa on tapauksesta riippuen yksittäisiä Podeja tai ohjaimia (käyttöönottoja tai RC:itä) asianmukaisilla uudelleenkäynnistyskäytännöillä.
| docker-compose-uudelleenkäynnistys | Objekti K8s:ssä | uudelleenkäynnistyskäytäntö |
|---|---|---|
| «» / aina | Ohjain (käyttöönotto/RC) | Aina |
| vikaantuessa | Palko | Virheessä |
| Nro | Palko | Ei ikinä |
Jos Composessa oli "laskenta"-kontteja tai lyhytaikaisia tehtäviä (kuten nopea "pii"), toteuta ne K8s:ssä Job- tai CronJob- tehtävänä asianmukaisella käytännöllä, niin olet valmis.
Valitse Compose nopeisiin paikallisiin käyttöönottoihin ja Kubernetesiin, kun ympäristösi vaatii enemmän tehoa: usean solmun tuki, automaattinen skaalaus, saumattomat käyttöönotot ja todellinen vikasietoisuus . Composen, Move2Kuben ja pienen huolenpidon avulla siirtyminen on sujuvaa.
Viime kädessä valinta riippuu mittakaavasta ja monimutkaisuudesta: Compose sopii erinomaisesti kehitykseen, testaukseen ja yhden isännän pinoihin ; Kubernetes on oikea valinta suuryrityksille, usean pilven käyttöönottoihin ja tiimeille, jotka tarvitsevat edistynyttä automaatiota, korkeaa käytettävyyttä ja ekosysteemin, jossa on tuhansia integraatioita.
