kompose merupakan tool untuk membantu pengguna yang terbiasa dengan docker-compose agar dapat memindahkannya ke Kubernetes. kompose mengambil file Docker Compose lalu menerjemahkannya menjadi konfigurasi resource di kubernetes.
Install Kompose #
Untuk menginstall kompose di linux.
curl -L https://github.com/kubernetes/kompose/releases/download/v1.30.0/kompose-linux-amd64 -o kompose
chmod +x kompose
sudo mv ./kompose /usr/local/bin/kompose
Anda dapat menentukan versi kompose melalui GitHub release page
Use Kompose #
Buat sample docker-compose.yml
seperti berikut.
version: "2"
services:
redis-master:
image: registry.k8s.io/redis:e2e
ports:
- "6379"
redis-slave:
image: gcr.io/google_samples/gb-redisslave:v3
ports:
- "6379"
environment:
- GET_HOSTS_FROM=dns
frontend:
image: gcr.io/google-samples/gb-frontend:v4
ports:
- "80:80"
environment:
- GET_HOSTS_FROM=dns
labels:
kompose.service.type: LoadBalancer
Untuk convert file docker-compose.yml
.
kompose convert -f docker-compose.yml
INFO Kubernetes file "frontend-tcp-service.yaml" created
INFO Kubernetes file "redis-master-service.yaml" created
INFO Kubernetes file "redis-slave-service.yaml" created
INFO Kubernetes file "frontend-deployment.yaml" created
INFO Kubernetes file "redis-master-deployment.yaml" created
INFO Kubernetes file "redis-slave-deployment.yaml" created
Deploy output konfigurasi ke dalam cluster.
kubectl delete -f frontend-tcp-service.yaml,redis-master-service.yaml,redis-slave-service.yaml,frontend-deployment.yaml,redis-master-deployment.yaml,redis-slave-deployment.yaml