help-header

اجرای اپلیکیشن با استفاده از مانیفست 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 کنید.

 

01.jpg

سپس روی گزینه‌ی مرحله بعد کلیک کرده و اطلاعات مربوط به منابع درخواستی را بررسی کنید. در صورت مورد تایید بودن این اطلاعات، اپلیکیشن خود را بسازید. 

پس از پایان این تنظیمات، می‌توانید از طریق پیشخوان پنل کاربری ابر آروان به اپلیکیشن خود دسترسی داشته باشید.