I-Docker Compose vs Kubernetes: Isetshenziswa nini ngayinye, umehluko, nokufuduka

Isibuyekezo sokugcina: Novemba 15 we-2025
  • I-Docker Compose yenza kube lula izindawo zasendaweni nokuhlola; I-Kubernetes ihlela imithwalo yomsebenzi esikalini nge-autoscaling, updates rolling, and self- healing.
  • I-Compose isebenza kumsingathi oyedwa kanye ne-Docker; I-K8s isekela izikhathi zokugijima eziningi, amaqoqo anamanodi amaningi, nokuthunyelwa kwamafu.
  • I-Kompose isheshisa ukufuduka ku-Compose kuya e-Kubernetes; isekela abahlinzeki, ezinye izinto, namathegi ukuze ucule kahle Amasevisi.
  • Sebenzisa izimo: Qamba i-dev/CI; I-Kubernetes yokukhiqiza, i-IoT/edge, idatha enkulu/ML kanye nezimo zamafu eziningi/ezixubile.

I-Docker Compose vs. Kubernetes Comparison

Uma usebenza ngeziqukathi, ngokushesha noma kamuva umbuzo omkhulu uphakama: I-Docker Compose noma i-Kubernetes? Womabili amathuluzi asetshenziswa kumjikelezo wokuphila wohlelo lokusebenza olufakwe eziqukathini , kodwa awaklanyelwe ukuxazulula izinkinga ezifanayo noma kumongo ofanayo. Kulesi sihloko, siwaqhathanisa ngokujulile, ngezibonelo ezisebenzayo, izimo zangempela, kanye namathiphu okufuduka kusuka kwesinye kuya kwesinye ngokushelela.

Ngale kwendlela yobuchwepheshe, isinqumo sithinta ukusebenza kwansuku zonke: izikhathi zokuthunyelwa, ukukhuliswa , ukuqina, ukuphepha, kanye nezindleko . Siphinde sithinte izimo ezijwayelekile zokusetshenziswa kobunjiniyela bedatha—amapayipi, izizindalwazi, ukusakaza, ukucubungula ama-batch, amafomethi edatha, kanye nokuphatha—lapho ukuhlela kwenza umehluko omkhulu ekukhiqizeni.

Iyini i-Docker ne-Docker Compose (futhi yenzelwe ini ngempela)?

Uma sikhuluma nge-Docker, empeleni sikhuluma nge-ecosystem: I-Docker Engine, i-Docker Hub, i-Dockerfile, i-Docker Compose … Injini idala futhi isebenzisa izitsha ezivela ezithombeni; i-Hub yenza kube lula ukwabelana ngazo; futhi i-Compose ikuvumela ukuthi uchaze izingcezu eziningana zesitaki kufayela le-YAML ukuze uziqalise ngomyalo owodwa.

I-Compose yadalelwa ukusisindisa ezikriphthini ezingapheli kanye nemiyalo ehlukanisiwe. Ngefayela elilodwa le-docker-compose.yml, uchaza izinsizakalo, amanethiwekhi, kanye nama-volumes , bese uthola konke kusebenze nge-"docker compose up" eyodwa (noma i-"docker-compose up" ku-V1). Ilungele ukuthuthukiswa kwendawo, ukuhlolwa okuhlanganisiwe, ama-demo, noma izindawo ze-CI.

Isibonelo esingokomthetho se-Compose singaba yilesi, nge-API kanye nesizindalwazi se-Postgres. Qaphela ukuthi ukuncika, iziguquguquko, kanye namachweba kumenyezelwa kanjani kubhlokhi elifundekayo:

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

Ukuze ulinganise ngesandla ku-Compose, ungasebenzisa inketho yokukala yesevisi. Ku-Compose V2, kuvamile ukwenza lokhu nge-`up --scale` (ku-V1 kwakukhona i-`docker-compose scale`):

docker compose up -d --scale my-api=3

Qaphela imikhawulo: I-Compose yenzelwe i-single host , ayilayishi ibhalansi phakathi kwama-node noma i-autoscaling, futhi izibuyekezo zivame ukwenziwa kabusha ngesandla kweziqukathi ezine-"build" kanye ne-"up -d".

Iyini i-Kubernetes futhi inikezela ngani nge-Compose?

I-Kubernetes (K8s) iyipulatifomu yokuhlelwa kweziqukathi ezisatshalaliswayo. Iphatha ukuthunyelwa ngezinga elikhulu kuwo wonke amaqoqo amaningi , ngemibono efana nama-Pod, ama-Deployments, kanye nezinsizakalo ukuze kusebenze imithwalo yemisebenzi yokukhiqiza.

Ku-Kubernetes, awuphathi izitsha ngazinye; uphatha ama-Pod (angaqukatha isitsha esisodwa noma ngaphezulu). Indiza yokulawula ihlela lapho i-Pod ngayinye isebenza khona , iveza izinsizakalo, isabalalisa ithrafikhi, ikala ngokuvundlile, futhi iqapha impilo yemithwalo yemisebenzi.

Ukufakwa okuyisisekelo kungase kubukeke kanje, ngamakhophi amathathu esevisi yewebhu. Chaza amathempulethi, amalebula, kanye nama-port avele :

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

Ukuze iveze ngokulinganisela umthwalo, isevisi ye-LoadBalancer ivamile efwini. Isikhethi sifanisa amalebula e-Pod ukuze siqondise ithrafikhi.

apiVersion: v1
kind: Service
metadata:
  name: web-service
spec:
  selector:
    app: web
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8000
  type: LoadBalancer

Ekukhiqizweni, i-Kubernetes ikhanya ngamakhono anjengokuzenzakalela okuphezulu (i-HPA), ukuvuselela kabusha, kanye nokuzivuselela. I-HPA ilungisa amakhophi ngokusekelwe kuma-metric (isb., ukusetshenziswa kwe-CPU) :

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

Impilo yesitsha iqashwa ngama-probe; uma ehluleka, ama-K8 aqala kabusha isitsha. Lesi yisisekelo "sokuziphilisa" :

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

Umehluko phakathi kwe-Docker Compose kanye ne-Kubernetes

Ukufana okubalulekile kanye nomehluko (okubalulekile ngaphandle kokushaya amahlathi)

Lokho abafana ngakho: basebenza neziqukathi futhi bachaza ukuthunyelwa nge-YAML. Zombili izixazululo ziwusizo kubathuthukisi kanye nabaqhubi , futhi ziyahambisana kahle kakhulu ekusebenzeni komsebenzi we-dev→prod.

  Ukubethela kwebanga lezempi kwisitoreji samafu

Umehluko obalulekile usesilinganisweni: Ukubhala kugxile ku-Docker kanye ne-single-host ; i-Kubernetes isekela izikhathi eziningi zokusebenza kanye namaqoqo amaningi, ngokuhlanganiswa okuqondile kumafu kanye nezinsizakalo eziphethwe.

Umehluko obaluleke kakhulu: I-Kubernetes inikeza ukuzikala ngokuzenzakalela, ukuvuselela kabusha, kanye nokuziphilisa ; Ukubhala akwenzi. Izifinyezo ze-Kubernetes ezinama-Pod; Ukubhala kuxhumana ngqo neziqukathi ze-Docker.

Ngaphezu kwalokho, i-Kubernetes ifaka phakathi i-Jobs kanye ne-CronJobs yemisebenzi eyenzeka kanye noma ehleliwe. Lokhu kugwema imisebenzi ye-system cron kanye nezinqubo ezengeziwe ezifakwe ezitsheni , kugcina ipulatifomu njengendawo yemvelo yokuchaza okuzenzakalelayo.

Esakhiweni, i-Compose iyawina ngokwejubane kanye nobulula. Ukuze ifinyelele kumakhulu ama-node noma ezindaweni ezinamafu amaningi, i-Kubernetes iyisinqumo esinengqondo . I-Compose ingasebenzisa i-Docker Swarm ekusetshenzisweni kwama-host amaningi, kodwa izinga layo lokwamukelwa kanye namakhono akuhambisani ne-ecosystem kanye nokuvuthwa kwe-Kubernetes.

Kungani udinga i-orchestration (futhi lapho ngayinye ilingana kahle kakhulu)

Umhleli omuhle ukukunikeza: ukuhlinzekwa okuhlangene kanye nokuthunyelwa, izinkampani ezintsha ezihleliwe, ukuxhumana phakathi kwezinsizakalo , ukulinganisela umthwalo, kanye nokuphepha okwengeziwe ngokuphathwa okwengeziwe kwensizakalo ngayinye.

I-Compose ihlanganisa izisekelo ngendlela elula nefundekayo, okwenza kube ithuluzi elihle lokuthuthukisa, ukuhlola, kanye nama-demo. Kodwa-ke, imikhawulo yayo iba sobala uma udinga ama-node amaningi, ukulinganisela umthwalo wendabuko kanye nokulinganisa ngokuzenzakalela , noma ukuthunyelwa okuqhubekayo ngaphandle kwesikhathi sokungasebenzi.

Ngakolunye uhlangothi, i-Kubernetes "iyipulatifomu" lapho umthwalo ukhula: ama-node amaningi, ukukala ngokuzenzakalelayo, ukutholakala okuphezulu kanye ne-ecosystem enkulu , ngokusekelwa kwemvelo ku-AWS, Azure, GCP kanye nezinketho ezilawulwayo.

Izimo zokusetshenziswa komhlaba wangempela (i-dev, idatha, nokuningi)

Ukubhala kugqama ku: izindawo zasendaweni eziphinde zikhiqizwe, ukuhlolwa kwe-E2E, i-CI/CD, kanye nokuqeqeshwa . Ukuchaza yonke i-stack ku-YAML nokuyiqalisa ngomyalo owodwa kususa umsindo omningi.

I-Kubernetes ilungele: izinhlelo zokusebenza zokukhiqiza, i-IoT kanye ne-edge computing, i-big data kanye nokufunda komshini , kanye nezimo zamafu eziningi/ezixubile. Iphatha imithwalo yemisebenzi esabalele lapho ukubambezeleka, ukuqina, kanye nokubonakala kubalulekile.

Kubunjiniyela bedatha, i-K8s ilungele ukusakaza kanye namapayipi e-batch, izizindalwazi, imigqa, kanye nezinjini zokuhlaziya , ngokulawulwa kwezinsizakusebenza ze-per-pod kanye nokukala okuzenzakalelayo eziqongweni.

Uma iphrojekthi yakho incane futhi ifanelana ne-host eyodwa, i-Compose izokwenza lo msebenzi ngaphandle kokuphazamiseka. Kodwa uma isisekelo sabasebenzisi bakho sikhula futhi udinga ukubekezelela amaphutha amakhulu kanye nokulinganisela umthwalo , sekuyisikhathi sokucabangela ama-Kubernetes.

Inethiwekhi, ukukala, kanye nokuthuthukiswa: ukuqhathanisa okusebenzayo

Ukubhala kudala inethiwekhi ngephrojekthi ngayinye futhi kuxazulula amagama ngesevisi ngayinye. Ukuxhumana neziqukathi kulula futhi kuphephile ngaphakathi kwephrojekthi , kodwa ukulinganisela umthwalo wangaphandle kanye nokubamba okuningi akuzona izici zomdabu.

Ku-Kubernetes, izinsizakalo zinikeza ukutholwa kwe-DNS kanye nokulinganisela umthwalo ngaphakathi kweqembu; ngaphandle ungasebenzisa i-LoadBalancer, i-NodePort noma i-Ingress ukuhambisa ithrafikhi ye-HTTP/S.

Ukukala: Bhala izikali ngesandla futhi kumphathi oyedwa kuphela. I-Kubernetes ikala ngokuvundlile nge-HPA futhi ngokuhlelekile ngezilinganiso kanye/noma imicimbi. Ingakhula futhi ibe ama-node amaningi uma i-cluster ivumela lokho.

Izibuyekezo: Ku-Compose, lokhu kuvame ukuba ukwenziwa kabusha ngesandla. I-K8s yenza izibuyekezo ezijikelezayo ngokulawula inqubekela phambili (ukuqhutshwa kwe-kubectl) kanye nekhono lokubuyela emuva uma kukhona okungahambi kahle, okunciphisa umthelela.

Ukuziphilisa: Ukubhala kungaqalisa kabusha izitsha, kodwa akuxazululi ukuphahlazeka komsingathi noma kwesikhathi sokusebenza. I-Kubernetes idlulisela ama-Pod kuma-node anempilo , ngokusobala kubasebenzisi.

Ukukhiqiza konjiniyela nolwazi lokusebenza

Ukubhala kuyisendlalelo esincane phezu kwe-Docker. Kuyashesha ukuyifunda futhi i-feedback loop yayo ishesha , ilungele ukuphindaphinda.

I-Kubernetes ingeza imiqondo emisha (ama-Pod, ama-Deployments, amasevisi, ukungena, ama-ConfigMaps, ama-PVC, njll.). Kukhona indlela yokufunda, kodwa ngokubuyisela uthola ukulawula okuhle kokusetshenziswa, ukuphepha, ukubonwa, kanye nokukhula.

Ngokuphathelene nokuhambisana, i-Compose “i-Docker-first”. I-Kubernetes isekela izikhathi zokusebenza ezahlukahlukene futhi ihlangana nabahlinzeki bamafu , okuyisihluthulelo sezinkampani ezinamasu e-multicloud noma e-hybrid.

Ufuduka usuka ku-Docker Compose uye ku-Kubernetes ngaphandle kokusangana

Uthutha nini? Uma uhlelo lwakho lokusebenza lungasancane, udinga ama-node amaningi, ukubonwa, ukuguquguquka kanye nokutholakala okuphezulu , noma ucelwa ukuthi usebenzise ama-canary kanye nama-blue/green deployments.

Izinselele ezivamile: ukumaka inethiwekhi yesevisi, ukuklama isitoreji nge-PV/PVC , ukuhlukanisa ukucushwa kube yi-ConfigMaps/Secrets, kanye nokubukeza amaphethini empilo nokulungiselela esitsheni ngasinye.

Ukwakhiwa kwesakhiwo nakho kudinga ukucatshangelwa kabusha: i-Pod njengeyunithi yokusabalalisa , izinsizakalo zokuveza ama-endpoints, kanye nezinsiza ngesitsha ngasinye (i-CPU/i-Mem) ukuze umhleli wezinhlelo akwazi ukwenza umsebenzi wakhe.

I-Kompose: ukusuka ku-Compose uye kuma-K8 ngezinyathelo ezimbalwa

I-Kompose iguqula amafayela e-docker-compose.yml abe yi-Kubernetes noma i-OpenShift manifests. Kuyindlela eqondile kakhulu yokuqala ukufuduka ngaphandle kokubhala kabusha yonke i-YAML ngesandla.

Ngaphambi kokuthi uqale, udinga iqoqo le-Kubectl kanye ne-kubectl elungiselelwe. Okungenani ama-node amabili abasebenzi (hhayi ama-control planes) ayanconywa uma uhlola noma yini ecacile. Hlola inguqulo yakho nge-`kubectl version`.

  Umhlahlandlela ophelele wesofthiwe yokugcina amafu

Ukufakwa: Indlela enconywayo ukulanda i-binary kusuka ekukhishweni kwakamuva kwe-GitHub. Ungasebenzisa futhi i-tarball, i-Homebrew ku-macOS, noma "hamba uthole" (le nketho yokugcina isebenzisa i-master enezinguquko ekuthuthukisweni).

Ukuguqulwa okuyisisekelo: zulazula uye kufolda ye-docker-compose.yml bese ugijima :

kompose convert
kubectl apply -f <archivos-generados>

I-Kompose ikhiqiza ama-Deployments and Services ngokuzenzakalelayo. I-log ivame ukufaka uhlu lwefayela ngalinye elidaliwe , futhi uma selisetshenzisiwe, uzobona ama-Deployments and Services "adaliwe" eqenjini.

Ukufinyelela: Uma usebenzisa i-Minikube, ungadalula noma ubuze izinsizakalo kalula. Efwini, hlola okuthi "LoadBalancer Ingress" ukuze uthole ikheli le-IP lomphakathi lesevisi ye-LoadBalancer; nge-NodePort, uzoba nembobo evulekile kuma-node.

Ukuhlanza: Uma usuqedile ukuhlolwa, susa izinsiza ezisetshenzisiwe. Gcina iqoqo lakho lihlanzekile ukuze ugweme ukungqubuzana phakathi kokuphindaphinda.

Kompose izinketho ezithuthukisiwe (abahlinzeki, izinto, namathegi)

I-Kompose isekela i-Kubernetes kanye ne-OpenShift. Uma ungacacisi "--provider", isebenzisa i-Kubernetes ngokuzenzakalelayo . Nge-OpenShift, ingakhiqiza i-DeploymentConfigs kanye ne-ImageStreams, ngisho ne-BuildConfigs uma usebenzisa iziqondiso zokwakha.

Iphinde isekele imiphumela ehlukahlukene: i-JSON ene-"-j", i-ReplicationControllers, i-DaemonSets, noma i-Helm Charts . Ifulegi le-"--replicas" likuvumela ukuthi ushintshe inani lama-replica kuma-RC; ku-Helm, ikhiqiza isakhiwo seshadi esiyisisekelo.

Amathegi athile e-Compose ngaphakathi kwenqubo yokubhala athonya ukuguqulwa. Isibonelo, ungachaza uhlobo lwesevisi noma ukuthi uzodalula yini indawo yokugcina nge-Ingress/Route.

Ilebuli Amanani
i-compose.service.type nodeport/clusterep/loadbalancer
i-compose.service.expose iqiniso / igama lomethuleli

Imininingwane okufanele uyikhumbule: amagama ano-“_” aguqulwa abe ngu-“-” (ama-K8 awavumeli ama-underscore) futhi, uma isevisi isebenzisa amavolumu, isu lokusebenzisa lishintsha libe yi-“Recreate” ukuze kugwenywe ukungqubuzana nababhali abaningi.

I-Kompose isekela izinguqulo namafayela amaningi

I-Kompose isekela i-Compose V1, V2, kanye ne-V3 (ngokusekelwa okulinganiselwe kwe-2.1 kanye ne-3.2 ngenxa yemvelo yazo yokuhlola). Uma udlula amafayela amaningi e-docker-compose ngesikhathi esisodwa, ayahlanganiswa , futhi izinto ezivamile zibhalwa ngaphezulu yi-yakamuva, njengoba nje ubungenza ekubhaleni kabusha.

Ngesikhathi sokuguqulwa kwe-Kubernetes, uzobona imiyalezo efana nokuthi "XWAYISA ukwakhiwa kokhiye okungasekelwa – ukunganaki" uma kukhona okhiye abangahambisani. Ungakhathazeki, ithuluzi lizoqhubeka nalokho elikuqondayo bese lishiya okunye ukuze kulungiswe ngesandla kamuva.

Beyond Kompose: Move2Kube kanye nokufuduka okwenziwa ngesandla

Uma udinga ukulawula okwengeziwe, kukhona amathuluzi afana ne-Move2Kube ahlaziya i-Compose yakho futhi akhiqize izinto zobuciko ze-Kubernetes ezilungiswe kahle kakhulu. Ziwusizo uma ufuna ukulungisa amaphethini ebhizinisi noma amathempulethi avela epulatifomu yakho.

Ukufuduka ngesandla kusebenza kahle futhi cishe njalo kuyanconywa ngemva kokufuduka kokuqala. Izinyathelo ezijwayelekile zifaka: ukuguqula amasevisi abe yi-Deployments/StatefulSets , amanethiwekhi abe yi-Services/Ingress, kanye namavolumu abe yi-PV/PVC ngezigaba zokugcina.

Isibonelo esincane sokuguqula isevisi yokubhala ibe yi-Deployment singase sibukeke kanje: ukudlulisa amachweba, isithombe, namalebula kuthempulethi ye-Pod:

# 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

Ngesimo (izizindalwazi, imigqa), cabanga nge-StatefulSets kanye ne-PersistentVolumes. Akuzona zonke izinto ezihambe "ndawonye" ku-Compose okufanele zihambe ku-Pod efanayo ; hlukanisa imisebenzi bese usebenzisa i-Services ukuxhumana phakathi kwezingxenye.

Izimo zedatha: ukusakaza, iqoqo, nokubusa

Kumapayipi edatha ayinkimbinkimbi, ama-K8 afanelana njengegilavu: Imisebenzi yezinqubo ze-batch, ama-CronJobs ama-time windows , ama-Deployments ama-API kanye nama-operators ezinhlelo ezifana ne-Kafka, i-Spark noma i-Flink.

Ngokusakazwa kanye nezizindalwazi, opharetha bomphakathi kanye namashadi kwenza kube lula ukuqaliswa. Inethiwekhi ye-Service Mesh kanye nokulawulwa kwezinsiza kuqinisekisa ukubambezeleka okubikezelwayo kanye nama-SLO uma kuqhathaniswa nesisombululo se-single-host.

Ekuphathweni kwedatha nasekuphepheni, i-Kubernetes inikeza izikhala zamagama, izinqubomgomo, kanye nokulawula kwe-RBAC kokuhlola nokuhlukanisa izindawo. Lokhu kuyinzuzo ewusizo kunendlela yasendaweni ye-Compose.

Izindlela ezingcono kakhulu namaqhinga amancane okusebenza

Ku-Compose: gcina i-YAML yakho incane futhi i-modular ; sebenzisa iziguquguquko zemvelo namafayela e-.env; ama-port kanye nokuncika kwamadokhumenti; futhi ubonise ku-CI lokho okusebenzisa endaweni.

Ku-Kubernetes: chaza i-CPU kanye ne-memory requests/limits , sebenzisa ama-Readiness/Liveness probes, hlukanisa ukucushwa ku-ConfigMaps/Secrets, bese usebenzisa amasu okuhambisa afanele kusevisi ngayinye.

Ukuze uthole izibuyekezo zikaKubeck: sebenzisa i-`kubectl set image` kanye ne-`kubectl rollout status` ukuqapha inqubekela phambili nokubuyisela emuva uma kukhona okungahambi kahle. Lokhu kuzovimbela isikhathi sokungasebenzi ekukhiqizeni.

Uma udinga imisebenzi ethile ku-Compose, ungayilingisa, kodwa ku-Kubernetes kuhlanzekile nge-CronJobs/Jobs ; awugcwalisi izitsha ngezinqubo ezengeziwe noma ama-host cron.

  Indlela yokusebenzisa i-Xbox Cloud Gaming kuwo wonke amadivayisi akho

I-FAQ Esheshayo ukugwema ukudideka

Ingabe i-Compose ithatha indawo ye-Kubernetes? Cha. I-Compose yenza kube lula ama-stack e-multi-container ku-host eyodwa; i-Kubernetes ihlela ngesilinganiso seqembu ngokutholakala okuphezulu.

Ingabe i-Compose isasetshenziswa? Yebo, isetshenziswa kakhulu. Iyithuluzi elifanele lokuthuthukisa nokuhlola lokusetha izindawo eziphelele ngemiyalo embalwa nje.

Ingabe ama-Kubernetes "angcono" kune-Docker? Ziyizinto ezihlukile: i-Docker iyipulatifomu yesitsha ; ama-Kubernetes awahlela ngeqoqo futhi anezelela imisebenzi ethuthukisiwe.

Ngingaletha i-Compose yami ku-Kubernetes ngaphandle kokuyibhala kabusha ngesandla? Yebo, ngokuhlanganiswa kwe-Kompose noma i-Docker Desktop. Ikunikeza isinyathelo sokuqala esisheshayo ongasilungisa.

Imininingwane emihle: ukuhlela, i-OpenShift, nokunye ukuguqulwa

I-K8s ayikona nje ukuthunyelwa okuqhubekayo: Imisebenzi kanye ne-CronJobs zimboza imisebenzi eyenzeka kanye noma ehleliwe ngaphandle kokuthi kudingeke ukuthi uphathe ama-cron esistimu.

Ku-OpenShift, i-Kompose ingakhiqiza i-DeploymentConfigs kanye ne-ImageStreams, ngisho ne-BuildConfigs uma i-Compose inokwakhiwa okuhlobene nendawo yokugcina i-Git. Amafulegi e-“--build-repo” kanye ne-“--build-branch” asetshenziselwa ukulungisa umthombo.

Uma ufuna okukhiphayo okuhlukile, i-Kompose ivumela ama-DaemonSets, ama-ReplicationControllers, noma ama-Helm Charts esikhundleni sama-Deployments and Services azenzakalelayo. Ingakhiqiza ne-JSON, hhayi i-YAML kuphela.

Ukuhambisana, izexwayiso, nezindaba ezincane

Ukubhala i-V1/V2/V3 kusekelwa yi-Kompose (enemikhawulo ku-2.1 kanye no-3.2). Okhiye abangasekelwa abanakwa nge-WARN , okushiya isikhala sokulungiswa ngesandla.

Uma isevisi yakho inamavolumu, i-Kompose ishintsha isu libe yi-"Recreate" ukuze igweme ukuvumelana ngevolumu efanayo . Lokhu kuvamile kumasevisi ajwayelekile.

Ama-underscore kumagama aguqulwa abe ama-hyphen. Lokhu kungumkhawulo we-Kubernetes kumagama ezinto , ngakho qiniseka ukuthi uwaqamba kahle ku-Compose ukuze ugweme ukumangala ngesikhathi sokuguqulwa.

Ukuze ufinyelele ungaphandle, hlola uhlobo lwesevisi: i-ClusterIP (yangaphakathi), i-NodePort (i-port on nodes), noma i-LoadBalancer (i-IP yomphakathi efwini). Nge-Ingress, uzoba nemizila ye-HTTP/S ehlanzekile kanye ne-TLS ephakathi.

Uma uhlola ku-Minikube, imiyalo efana ne-“minikube service <svc> –url” izobuyisa i-URL esheshayo . Ku-Cloud, bheka insimu ethi “LoadBalancer Ingress” lapho uchaza isevisi.

Iphuzu elilodwa elithakazelisayo: ngaphakathi komphakathi, uzothola izinkomba zemiholo yamaphrofayili e-Kubernetes kanye namazinga okwamukelwa aseduze no-88% ezindaweni zokukhiqiza. Akukho okungajwayelekile: kuyindinganiso yangempela.

Ukuze kuqedwe isithombe, kunezinto eziningi kuma-Kubernetes kune-HTTP: Service Mesh, opharetha, nama-CRD anweba ukufinyelela kwama-Kubernetes. Uma uvela ku-Compose, kuvamile ukuzizwa ukhungathekile ekuqaleni, kodwa lawo mandla engeziwe ahumushela ekusebenzeni okuqinile.

Setha kabusha izinqubomgomo: ukulingana okuwusizo

Ukubhala kuvumela "ukuqala kabusha: njalo/ukwehluleka/cha". Ku-Kubernetes, kuye ngokuthi kwenzekani, uzoba nama-Pod noma abalawuli ngabanye (ama-Deployments noma i-RC) abanezinqubomgomo ezifanele zokuqalisa kabusha.

i-docker-compose qala kabusha Into ku-K8s qala kabushaInqubomgomo
«» / njalo Isilawuli (Ukuthunyelwa/RC) Njalo
ekuhlulekeni I-pod I-OnFailure
cha I-pod Ungalokothi

Uma ku-Compose ubuneziqukathi "zokubala" noma imisebenzi yesikhashana (njenge-"pi" esheshayo), mane nje ukusebenzise ku-K8s njengomsebenzi noma i-CronJob ngenqubomgomo efanele futhi usukulungele.

Khetha i-Compose ukuze uthole ukuthunyelwa okusheshayo kwendawo kanye nama-Kubernetes lapho indawo yakho idinga amandla engeziwe: ukwesekwa kwama-node amaningi, ukukala ngokuzenzakalela, ukuthunyelwa okungenamthungo, kanye nokuqina kwangempela . Ngokubhala, i-Move2Kube, kanye nokunakekelwa okuncane, ushintsho lubushelelezi.

Ekugcineni, ukukhetha kuncike ngobukhulu kanye nobunzima: Ukubhala kufaneleka kahle ekuthuthukisweni, ekuhlolweni, kanye nasezinqwabeni zomsingathi oyedwa ; I-Kubernetes iyindlela okufanele ilandelwe yebhizinisi, ukuthunyelwa kwamafu amaningi kanye namaqembu adinga ukuzenzekela okuthuthukisiwe, ukutholakala okuphezulu, kanye ne-ecosystem enezinkulungwane zokuhlanganiswa.

Yini i-Kubernetes
I-athikili ehlobene:
Iyini i-Kubernetes: Isingeniso ku-Orchestrator Yesitsha