صبح امروز جلسهای در تیم معماری اپلیکیشن (متشکل از تیم دوآپس و توسعه نرم افزار) برگزار شد و در این جلسه نیاز به پیادهسازی تغییراتی بر روی سرویس زیر درخواست شد:
apiVersion: v1
kind: Pod
metadata:
name: python
spec:
containers:
- name: python
image: python:3.9.10
args:
- sleep
- "3600"
volumeMounts:
- name: auth
mountPath: /tmp
subPath: auth
volumes:
- name: auth
secret:
secretName: auth
برای دانلود پروژه اولیه روی این لینک کلیک کنید.
لیست تغییرات
-
خواسته شده تا فایل
auth
به دو فایلuser.txt
از نوع configmap وpass.txt
از نوع secret تغییر پیدا کند و در فولدر/tmp
قرار بگیرد. -
قبل از در دسترس قرار گرفتن اپلیکشن نیاز است هربار فایلی از مسیر زیر:
https://raw.githubusercontent.com/Digiexercise/simple-socket/main/sample-socket.py
دانلود شده و در دایرکتوری /python
جایگذاری شود. سپس با دستور زیر در اپلیکیشن اجرا شود:
python3 /python/sample-socket.py
توجه داشته باشید که محتوای دایرکتوری /python
نباید persist
باشد و در هر restart باید مجدد فایل جدید دانلود شود.
-
اپلیکیشن مورد نظر باید سه Replica داشته باشد و اطمینان حاصل شود که هر سه پاد در حال سرویسدهی به کاربران میباشند.
-
شناسه یکتا پاد را در مسیر
/root/pod_id.yml
ذخیره شود.
توجه داشته باشید برای انجام اینکار از قابلیت lifecycle
استفاده شود. همچنین شناسه ذخیره شده در pod_id.yml
باید یک عدد یکتا، به ترتیب و طبیعی باشد و با restart پاد تغییر نکند.
نکات تکمیلی
-
برای اجرای کوبرنتیز میتوانید از Minikube روی سیستم خود استفاده نمایید.
-
فقط
manifest.yml
را تغییر داده و ارسال نمایید. -
فایل
manifest.yml
باید دارای یک kind باشد.
نحوهی ارسال جواب
شما فقط میتوانید محتوای فایل manifest.yml
را تغییر دهید. تغییرات خودتان را بر روی manifest.yml
اعمال کنید و فایل اصلاح شده را ارسال نمایید.
ارسال پاسخ برای این سؤال