معرفی ابزار Kompose - تبدیل فایل docker compose به ریسورس های kubernetes و openshift

ابزار kompose برای کمک به کاربرانی است که با docker-compose آشنا هستند تا راحت تر به سمت Kubernetes کوچ کنند. این ابزار فایل docker-compose را دریافت کرده و آن را به ریسورس های kubernetes تبدیل میکنه.

تبدیل فرمت Docker Compose به مانیفست ریسورس Kubernetes ممکن است دقیق نباشد، اما برای اولین استقرار یک برنامه در Kubernetes به ما خیلی کمک میکنه.

یک مثال ساده

$ kompose convert -f docker-compose.yaml
INFO Kubernetes file &quotfrontend-service.yaml&quot created
INFO Kubernetes file &quotredis-master-service.yaml&quot created
INFO Kubernetes file &quotredis-slave-service.yaml&quot created
INFO Kubernetes file &quotfrontend-deployment.yaml&quot created
INFO Kubernetes file &quotredis-master-deployment.yaml&quot created
INFO Kubernetes file &quotredis-slave-deployment.yaml&quot created
$ kubectl apply -f .
$ kubectl get po
NAME                            READY     STATUS              RESTARTS   AGE
frontend-591253677-5t038            1/1       Running             0          10s
redis-master-2410703502-9hshf   1/1       Running             0          10s
redis-slave-4049176185-hr1lr         1/1       Running             0          10s

خب حالا که متوجه شدیم این ابزار چقدر ساده و کاربردی هست بریم برای نصب ابزار

نصب Kompose

ما چندین راه برای نصب Kompose داریم. روش ترجیحی ما دانلود باینری از آخرین نسخه GitHub است. Kompose از طریق GitHub در یک چرخه سه هفته ای منتشر میشه، شما می توانید تمام نسخه های فعلی را در صفحه GitHub release page. مشاهده کنید. نسخه ی فعلی در حال انتشار این مقاله v1.26.1 است. شما باید در هنگام نصب آخرین نسخه را دانلود نمایید.

نصب روی لینوکس و مک او اس

# Linux
curl -L https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-linux-amd64 -o kompose
# macOS
curl -L https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-darwin-amd64 -o kompose
chmod +x kompose
sudo mv ./kompose /usr/local/bin/kompose

ویندوز

از این لینک دانلود کرده و در مسیر PATH ویندوزی خود قرار دهید

نصب با استفاده از پکیج در CentOS

ابزار Kompose در رپوزیتوری EPEL قرار دارد و باید این نکته را در نظر داشته باشید که از قبل این رپوزیتوری را نصب و فعال کرده باشید

sudo yum install epel-release
sudo yum -y install kompose

نصب با استفاده از پکیج روی Ubuntu/Debian

wget https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose_1.26.1_amd64.deb # Replace 1.26.1 with latest tag
sudo apt install ./kompose_1.26.1_amd64.deb

نصب با استفاده از Docker

docker build -t kompose https://github.com/kubernetes/kompose.git
docker run --rm -it -v $PWD:/opt kompose sh -c &quotcd /opt && kompose convert&quot

مثال تبدیل برای openshift

$ kompose convert --provider=openshift
INFO OpenShift file &quotfrontend-service.yaml&quot created
INFO OpenShift file &quotredis-master-service.yaml&quot created
INFO OpenShift file &quotredis-slave-service.yaml&quot created
INFO OpenShift file &quotfrontend-deploymentconfig.yaml&quot created
INFO OpenShift file &quotfrontend-imagestream.yaml&quot created
INFO OpenShift file &quotredis-master-deploymentconfig.yaml&quot created
INFO OpenShift file &quotredis-master-imagestream.yaml&quot created
INFO OpenShift file &quotredis-slave-deploymentconfig.yaml&quot created
INFO OpenShift file &quotredis-slave-imagestream.yaml&quot created

وب سایت kompose