اجرای اپلیکیشن با استفاده از مانیفست Kubernetes
اگر پیش از این از کوبرنتیز استفاده کردهاید و برای قسمتهای مختلف مورد نیاز برای اجرا شدن اپلیکیشن خود، مانیفست های لازم را نوشتهاید، با استفاده از پنل کاربری ابر آروان میتوانید آنها را بهشکل مستقیم روی سکوی ابری آروان مستقر کنید.
در این راهنما شیوهی اجرای اپلیکیشن روی سکوی ابری آروان با استفاده از مانیفست Kubernetes را بررسی میکنیم. همچنین، میتوانید مراحل انجام این تنظیمات را از طریق ویدیو زیر دنبال کنید.
نکته: میتوانید مانیفستهای خود را به زبان YAML بنویسید و با جدا کننده "---" در انتهای فایل، هر تعداد مانیفست را از هم جدا و بهشکل یکجا روی سکوی ابری مستقر کنید.
بهعنوان مثال در کد زیر، سه مانیفست متفاوت با "---" از هم جدا شده، در یک فایل ذخیره و روی سکو قابل اجرا هستند.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
...
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
...
---
apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: nginx-route
...
نکته مهم دیگر که باید در سکوی ابری رعایت شود، تعیین منابع مصرفی برای هر کانتینر است. این مورد باید در Deployment نوشته شده در قسمت Containers مشخص شود. برای مثال در نمونه زیر، در قسمت Containers مقدارهای لازم برای Resourceها که شامل CPU ،Memory و Ephemeral Storage است، مشخص شده اند. دقت کنید که مقادیر مربوط به Limits و Requests باید یکسان باشند.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
...
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
resources:
limits:
cpu: '1'
ephemeral-storage: 2G
memory: 1G
requests:
cpu: '1'
ephemeral-storage: 2G
memory: 1G
بعد از اعمال شرایط بالا میتوانیم مانیفستهای مربوط به Service و Route را هم برای در دسترس قرار گرفتن اپلیکیشن روی اینترنت اضافه کنیم. توجه داشته باشید که در کد زیر و در قسمت Route باید YOUR_PROJECT را با اسم پروژهای که قبلن در پنل ساختهاید تغییر دهید.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
resources:
limits:
cpu: '1'
ephemeral-storage: 2G
memory: 1G
requests:
cpu: '1'
ephemeral-storage: 2G
memory: 1G
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
---
apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: nginx-route
spec:
host: nginx-YOUR_PROJECT.apps.ir-thr-at1.arvan.run
to:
kind: Service
name: nginx-service
tls:
termination: edge
insecureEdgeTerminationPolicy: Allow
port:
targetPort: http
پس از پایان نوشتن مانیفستها، از طریق پنل کاربری به قسمت PaaS و ساخت اپلیکیشن بروید، K8S Manifest را انتخاب کنید و در انتها، مانند تصویر مانیفستهای نوشته شده را در ادیتور Paste کنید.
سپس روی گزینهی مرحله بعد کلیک کرده و اطلاعات مربوط به منابع درخواستی را بررسی کنید. در صورت مورد تایید بودن این اطلاعات، اپلیکیشن خود را بسازید.
پس از پایان این تنظیمات، میتوانید از طریق پیشخوان پنل کاربری ابر آروان به اپلیکیشن خود دسترسی داشته باشید.