Чингэлгийн (container) технологи орчин үеийн програм хангамжийн суурь болсон. Гэхдээ «Kubernetes ашиглах ёстой юу?» гэдэг асуултад хариулт нь байгууллагын хэмжээ, багийн туршлагаас шалтгаална. Хоёр шийдлийн давуу, сул талыг бодит жишээгээр харьцуулъя.
Docker Compose: энгийн бөгөөд хангалттай
Нэг, хоёр серверт ажилладаг, цөөн үйлчилгээтэй системд Docker Compose хамгийн хурдан шийдэл. Бүх тохиргоо нэг файлд багтана:
services:
app:
image: koding/crm:2.4
restart: always
environment:
DATABASE_URL: postgres://crm@db/crm
ports:
- "8080:8080"
db:
image: postgres:17
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
Kubernetes: том системийн удирдлага
Олон серверт тархсан, ачаалал нь өдрийн цагаар их хэлбэлздэг, тасалдалгүй ажиллах шаардлагатай системд Kubernetes автомат тэлэлт, өөрийгөө сэргээх боломжийг олгоно:
apiVersion: apps/v1
kind: Deployment
metadata:
name: crm
spec:
replicas: 3
selector:
matchLabels: { app: crm }
template:
metadata:
labels: { app: crm }
spec:
containers:
- name: crm
image: koding/crm:2.4
resources:
requests: { cpu: 250m, memory: 256Mi }
Харьцуулалт
| Шалгуур | Docker Compose | Kubernetes |
|---|---|---|
| Суралцах хугацаа | Хэдэн өдөр | Хэдэн сар |
| Серверийн тоо | 1–2 | 3 ба түүнээс дээш |
| Автомат тэлэлт | Үгүй | Тийм |
| Гэмтлээс өөрөө сэргэх | Хязгаартай | Тийм |
| Удирдлагын зардал | Бага | Өндөр |
Хэрэгслийг асуудалдаа тааруулж сонго. Kubernetes бол зорилго биш.
Дэд бүтцийн хэлтэс
Бидний туршлагаар ихэнх жижиг, дунд байгууллагад Docker Compose бүрэн хангалттай. Систем өсөж, баг томрох үед Kubernetes руу шилжих замналаа эртнээс төлөвлөх нь хамгийн зөв.