PostgreSQL + Adminer

Postgresql + Adminer

PostgreSQL یک ORDBMS معروف و پرطرفدار است که می‌توانید به سادگی به عنوان یک managed-service روی Namespace خود دیپلوی کنید.
هنگام دیپلوی کردن Postgresql پارامتر‌های زیر را می‌توانید مشخص کنید:

کانفیگنوعپیش‌فرضتوضیح
service_namestringpostgresqlنامی که برای سرویس مایلید در نظر گرفته شود
adminer_enabledbooleantrueفعال یا غیرفعال بودن Adminer
postgres_passwordstringpostgresرمز عبور دیتابیس
volume_namestringNoneنام volumeای که به سرویس وصل می‌شود
volume_browser_enabledbooleanfalseآیا سرویس مدیریت Dedicated Volume برای این سرویس ساخته شود یا خیر
راهنمایی

توجه داشته باشید که اگر میخواهید سرعت I/O در سرویس دیتابیس شما بیشتر شود، می‌توانید از volume‌ها استفاده کنید و نام آن را به صورت c volume_name=VOLUME_NAME- موقع ساخت Managed Service در fandogh-cli وارد نمایید. )VOLUME_NAME نام volume‌ای است که موقع ساخت آن تعیین کرده‌اید(.

توجه

توجه داشته باشید برای استفاده از قابلیت Volume Browser سرویس شما باید به یک Dedicated Volume متصل باشد؛ در غیر این صورت با خطای سرور مواجه خواهید شد.

به عنوان مثال برای دیپلوی کردن یک PostgreSQL می‌توانیم به این شکل یک سرویس بسازیم:

fandogh managed-service deploy postgresql 10.4 \
-c service_name=test-dbms \
-c adminer_enabled=false \
-c postgres_password=test123

این دستور یک سرویس PostgreSQL ایجاد می‌کند که:

  • نام سرویس آن test-dbms )یعنی در شبکه داخلی فضانام شما باقی سرویس‌ها از طریق نام test-dbms می‌توانند به آن متصل شوند(.
  • رمز عبور آن test123 است.
  • نام کاربری نیز postgres می‌باشد
  • Adminer هم در آن غیر‌فعال شده است.
توجه

پورت پیشفرض برای PostgreSQL برابر با 5432 می باشد.

هشدار

در صورتی که از کاراکتر # در رمز عبور استفاده کنید، با خطای سروری مواجه خواهید شد

افزودن دامنه دلخواه

اگر قصد داشته باشید دامنه یا دامنه‌های دلخواهتان را به سرویس مدیریت شده مورد نظر متصل نمایید، از طریق این بخش می‌توانید لیست این دامنه‌ها را مشخص کنید.
برای مثال فرض کنید تمایل دارید سرویس مدیریت شده مورد نظر شما روی domain.com و www.domain.com در دسترس باشد:

domains:
- name: domain.com
- name: www.domain.com
...

بدین شکل بخش دامنه را به مانیفست سرویس خود اضافه کرده و آن را مستقر نمایید:

postgresql_deployment.yml
kind: ManagedService
name: db
spec:
service_name: postgresql
version: 10.4
parameters:
- name: adminer_enabled
value: true
- name: postgres_password
value: some_long_unpredictable_string
- name: volume_name
value: YOUR_VOLUME_NAME
domains:
- name: domain.com
- name: www.domain.com
resources:
memory: 3072Mi
توجه

توجه داشته باشید، دامنه‌هایی که به سرویس مدیریت شده PostgreSQL اضافه می‌شوند، در اصل به داشبورد مدیریتی آن متصل می‌شوند، نه خود سرویس دیتابیس.

مهم

هشدار برای استفاده از سرویس PostgresSQL باید به نکته زیر توجه داشته باشید: برای حفط مسائل امنیتی سرویس PostgresSQL به صورت یک Internal Service عمل می‌کند و شما خارج از namespace خود به آن دسترسی ندارید.

Deploy With Manifest

شما همچنین می‌توانید برای اجرای راحت‌تر سرویس‌های مدیریت شده از مانیفست همانند مثال زیر استفاده کنید.

postgresql_deployment.yml
kind: ManagedService
name: db
spec:
service_name: postgresql
version: 10.4
parameters:
- name: adminer_enabled
value: true
- name: postgres_password
value: some_long_unpredictable_string
- name: volume_name
value: YOUR_VOLUME_NAME
resources:
memory: 600Mi