معرفی ابزار 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 "frontend-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
$ 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 "cd /opt && kompose convert"
مثال تبدیل برای openshift
$ kompose convert --provider=openshift
INFO OpenShift file "frontend-service.yaml" created
INFO OpenShift file "redis-master-service.yaml" created
INFO OpenShift file "redis-slave-service.yaml" created
INFO OpenShift file "frontend-deploymentconfig.yaml" created
INFO OpenShift file "frontend-imagestream.yaml" created
INFO OpenShift file "redis-master-deploymentconfig.yaml" created
INFO OpenShift file "redis-master-imagestream.yaml" created
INFO OpenShift file "redis-slave-deploymentconfig.yaml" created
INFO OpenShift file "redis-slave-imagestream.yaml" created
وب سایت kompose
مطلبی دیگر از این انتشارات
ده اشتباه در پیکربندی NGINX
مطلبی دیگر از این انتشارات
روشی برای کار با داده های آماری در دیتابیس - شبیه سازی Materialized view در Mariadb/Mysql
مطلبی دیگر از این انتشارات
درک بهتر SLA/SLO/SLI