نصب کوبرنتیز روی گوگل کلود؛ آموزش راه‌اندازی کوبرنتیز در Google Cloud Platform!

نصب کوبرنتیز روی گوگل کلود

آنچه در مقاله می‌خوانید

یادگیری نحوه نصب کوبرنتیز روی گوگل کلود برای کسب‌و‌کار‌هایی که در دنیای داده‌محور امروزی، به استقرار اپلیکیشن‌های کاربردی نیاز دارند بسیار مهم است. کوبرنتیز یک پلتفرم ارکستراسیون کانتینر منبع‌باز است که به دلیل توانایی در مدیریت و مقیاس‌بندی کارآمد اپلیکیشن‌های کانتینری، محبوبیت بسیار زیادی دارد. در این آموزش، ما روند استقرار کوبرنتیز را در پلتفرم Google Cloud که به اختصار به آن GCP می‌گویند به شما یاد می‌دهیم تا بتوانید از قدرت کوبرنتیز برای بهبود اپلیکیشن‌های خود استفاده کنید.

معرفی کوبرنتیز

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

پیش‌نیاز‌های نصب کوبرنتیز روی گوگل کلود

برای نصب و پیکربندی کوبرنتیز روی فضای ابری گوگل به موارد زیر نیاز داریم:

  • ایجاد پروژه GCP
  • پیکربندی رابط خط فرمان (CLI) gcloud

قبل از نصب کوبرنتیز روی Google Cloud، باید محیط GCP خود را راه‌اندازی کنیم. برای انجام این کار، مراحل زیر را دنبال کنید:

۱. یک حساب GCP ایجاد کرده و وارد کنسول شوید.

۲. Kubernetes Engine API را در کنسول ایجاد‌شده فعال کنید.

Kubernetes Engine API

۳. حال باید ابزار خط فرمان gcloud را برای مدیریت منابع GCP خود نصب کنید.

ابزار خط فرمان gcloud

برای نصب راحت gcloud می‌توانید از دستور زیر استفاده کنید:

# download the gcloud tar.gz

curl -O https: //dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-316.0.0-darwin-x86_64.tar.gz

# extract the file

tar -xf google-cloud-sdk-316.0.0-darwin-x86_64.tar.gz

# install gcloud

./google-cloud-sdk/install.sh

# initialize gcloud

./google-cloud-sdk/bin/gcloud init

۴. حال باید با اجرای دستور زیر، ابزار Kubectl که رابط خط فرمان برای تعامل با کلاستر‌‌های Kubernetes است را نصب کنید.

gcloud components install kubectl

راهنمای نصب کوبرنتیز روی گوگل کلود

پس از آماده‌سازی موارد مورد‌نیاز برای نصب Kubernetes بر روی سرور گوگل می‌توانید با دنبال کردن مراحل زیر، نصب و پیکربندی کوبرنتیز را شروع کنید:

۱. ساخت یک VPC

ابر خصوصی مجازی (VPC) یک پلتفرم ابری است که سرویس‌های آن بر روی زیرساخت‌های گوگل کار می‌کنند. توجه داشته باشید که VPC با سرور ابری مجازی که آن را با نام VPS ابری می‌شناسیم تفاوت دارد. VPS ابری دارای ساختاری هوشمند است و با کمک امکانات و منابع دیتاسنتر‌های متعددی که دارد، خطر از‌دست‌رفتن اطلاعات و ارتباط اینترنت در آن بسیار کم است.

با دنبال کردن مراحل زیر، می‌توانیم یک VPC جدید را در پروژه GCP‌ ایجاد کنیم:

اول از همه، رابط خط فرمان را باز کنید و با اجرای دستور زیر، بررسی کنید که gcloud به درستی پیکربندی شده‌است یا خیر:

Gcloud init

پیکربندی gcloud

پس از اینکه اطلاعات پیکربندی را مانند تصویر بالا مشاهده کردید، دکمه N را فشار دهید. سپس، برای ایجاد VPC دستور زیر را اجرا کنید:

gcloud compute networks create vpc-k8s

پس از اینکه VPC شما در فضای ابری ساخته شد، پیامی شبیه به تصویر زیر را مشاهده خواهید کرد:

پیام ایجاد vpc

در‌صورتی که api در پروژه شما فعال نباشد، پرامپت زیر را مشاهده خواهید کرد. توجه داشته باشید که این پیام معمولا پس از اولین‌باری که برای ساخت VPC اقدام می‌کنید، ظاهر می‌شود:

پیام فعال نبودن api

پس از دریافت پیام بالا، کلید «Y» کیبورد را فشار دهید تا API‌ فعال شود.

زمانی که پیام زیر را دریافت می‌کنید، به این معنی است که VPC با موفقیت ساخته شده‌است.

فشردن کلید Y

۲.  فعال سازی Kubernetes Cluster API

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

ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=Failed precondition when calling the ServiceConsumerManager: tenantmanager:: 185014: Consumer 12132323232(project number) should enable service: container.googleapis.com before generating a service account.

برای فعال کردن API  کوبرنتیز مراحل زیر را دنبال کنید:

به وب‌سایت https: //console.google.com بروید.

Kubernetes engine که در زیر قسمت Compute section است را انتخاب کنید.

گزینه «Clusters» را انتخاب کنید.

انتخاب گزینه cluster

مانند تصویر زیر، بررسی کنید که آیا پیام «Kubernetes engine API is being enabled» ظاهر می‌شود یا خیر.

۳.  ساخت یک Kubernetes Cluster

در این مرحله از نصب کوبرنتیز، باید با استفاده از برخی پارامتر‌ها، یک کلاستر کوبرنتیز را ایجاد کنیم. این پارامتر‌ها عبارتند‌از:

  • نام کلاستر که در اینجا آن را my-k8s-cluster می‌گذاریم؛
  • تعداد گره‌ها که در اینجا آن را ۳ مشخص کردیم؛
  • نام VPC؛
  • منطقه (Zone)؛
  • برچسب (Tag)؛
  • محدوده‌ها (Scopes).

در دستور زیر، از تمام پارامتر‌های بالا استفاده می‌کنیم:

gcloud container clusters create my-k8s-cluster --num-nodes 3 --network vpc-k8s --zone us-central1-a --tags private --scopes=storage-rw,compute-ro

با اجرای دستور بالا، پیامی شبیه به پیام زیر دریافت می‌کنیم که به ما می‌گوید کلاستر ساخته شده و در حال اجرا است:

پیام ساخته شدن کلاستر

کوبرنتیز یک ابزار خط فرمان kubectlas را برای بررسی وضعیت کلاستر، جزئیات گره و غیره ارائه می‌دهد. اگر این ابزار را روی دستگاه خود نصب نکرده‌اید، می‌توانید آن را از این لینک (+) دانلود و نصب کنید.

فقط کافی است، فایل exe را دانلود کرده و یک متغیر Environment را در مسیر سیستم خود اضافه کنید. حالا بیایید چند دستور kubectl را برای بررسی جزئیات کلاستر اجرا کنیم.

بررسی عملکرد درست کلاستر‌ها

برای اینکه بررسی کنید که آیا کلاستر شما عملکرد درستی دارد یا نه، دستور زیر را در رابط فرمان اجرا کنید:

kubectl get componentstatuses -o yaml

پس از اجرای دستور بالا، باید پیامی شبیه به شکل زیر را ببینید:

بررسی عملکرد کلاستر

بررسی گره‌های درون کلاستر

برای بررسی گره‌های درون کلاستر، دستور زیر را در رابط خط فرمان اجرا کنید:

kubectl get nodes

پس از اجرای دستور بالا، پیامی شبیه به شکل زیر را دریافت می‌کنید:

بررسی گره‌های درون کلاستر

بررسی اطلاعات کلاستر

برای بررسی اطلاعات کلاستر، دستور زیر را اجرا کنید:

kubectl get-info

زمانی که دستور بالا را در رابط خط فرمان اجرا می‌کنید، پیامی شبیه به شکل زیر ظاهر می‌شود:

بررسی اطلاعات کلاستر

 Kubernetes Cluster چطور کار می‌کند؟

زمانی که یک کوبرنتیز را مستقر کردیم، همراه با آن یک کلاستر را هم دریافت می‌کنیم که دارای مشخصات زیر است:

  • ۳ گره؛
  • مدیر کنترلر (controller manager)؛
  • زمان‌بندی (scheduler)؛
  • کلاستر etcd با دو عضو.

کلاستر کوبرنتیز چگونه کار می‌کند؟

Kubernetes master به همراه برخی از سرویس‌ها نظیر موارد زیر راه‌اندازی شده‌ است:

  • بک‌اند پیشفرض که توسط کنترلر استفاده شده است؛
  • KubeDNS برای سرویس DNS در کلاستر؛
  • metrics-server برای متریک‌های استفاده از منابع.

برای بررسی این سرویس‌ها، دستور زیر را در رابط خط فرمان اجرا کنید:

kubectl get svc --all-namespaces

سرویس‌های kubernetes master

۴.  بررسی مستقیم کلاستر روی کنسول GCP

برای اینکه کلاستر را بر روی کنسول GCP بررسی کنید، مانند تصویر زیر به ‌بخش «Clusters» بروید:

بررسی مستقیم کلاستر روی کنسول GCP

نحوه اتصال به کلاستر از دستگاه/ماشین دیگر

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

gcloud container clusters get-credentials  my-k8s-cluster  --zone us-central1-a --project my-kubernetes-project-60896

اگر دستور kubectl get pod را مستقیما و بدون اجرای دستور بالا اجرا کنید، خطای زیر را مشاهده خواهید کرد:

kubectl unable to connect to server: x509: certificate signed by unknown authority

Kubernetes-dashboard

این داشبوردی است که در آن می‌توانید تمام جزئیات مربوط به پادها، گره‌ها، بکارگیری CPU و غیره را مشاهده کنید.

اگر می‌خواهید به داشبورد دسترسی داشته باشید، باید سرویس kubernetes-dashboard را با استفاده از اجرای دستور زیر مستقر کنید:

kubectl apply -f https: //raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

خروجی کد بالا، چیزی شبیه به شکل زیر است:

نحوه اتصال به کلاستر از دستگاه/ماشین دیگر

این سرویس، تحت یک فضای نام (namespace) متفاوت kubernetes-dashboard ایجاد شده‌ است.

برای بررسی پادها و سرویس‌ها، دستور زیر را اجرا کنید:

kubectl get pods -A

kubectl get svc --all-namespaces

پس از اجرای دستور بالا، باید یک خروجی شبیه به شکل زیر را مشاهده کنید:

بررسی پادها و سرویس‌ها

حالا برای دسترسی به داشبورد با استفاده از رابط کاربری گرافیکی (GUI)، دستور زیر را اجرا کنید:

kubectl proxy

خروجی کد بالا، شبیه به شکل زیر خواهد بود:

دسترسی به داشبورد با استفاده از رابط کاربری گرافیکی (GUI)

در ادامه، آدرس زیر را در مرورگر‌تان باز کنید:

http: //localhost: 8001/api/v1/namespaces/kubernetes-dashboard/services/https: kubernetes-dashboard: /proxy/#/login

پس از باز کردن آدرس بالا، صفحه‌ای شبیه به تصویر زیر در مرورگر برایتان باز می‌شود:

باز کردن آدرس localhost

نحوه وارد شدن به کوبرنتیز

حالا می‌توانیم بررسی کنیم که آیا یک کاربر موجود، وجود دارد یا خیر. برای انجام این کار، باید نام زمینه فعلی را بدانیم. این زمینه، ترکیبی از اطلاعات کلاستر، کاربران برای احراز هویت و فضای نام است. برای فهمیدن نام زمینه، کد زیر را در رابط خط فرمان اجرا کنید:

kubectl config current-context

خروجی کد بالا، نام زمینه را به ما نشان می‌دهد:

وارد شدن به کوبرنتیز

حال که فهمیدیم نام زمینه چیست، می‌توانیم آن را از طریق دستور kubectl config view پیکربندی کنیم:

 kubectl config view

خروجی دستور بالا، شبیه به شکل زیر است:

دستور kubectl config view

حالا ما یک توکن کاربری موجود پیدا کردیم که می‌توانیم از آن برای ورود به کنسول داشبورد kubernetes استفاده کنیم. این توکن را کپی کرده و مانند تصویر زیر در قسمت «enter token» وارد کنید:

کپی و وارد کردن توکن کاربری

پس از کلیک بر روی دکمه sign in وارد داشبورد خود خواهید شد:

کلیک بر روی دکمه sign in

اجرای استقرار سرویس Nginx

برای استقرار سرویس Nginx و بررسی پاد‌ها، دستور زیر را در رابط خط فرمان اجرا کنید:

kubectl run nginx-pod --image nginx

kubectl get pods

خروجی کد بالا، شبیه به تصویر زیر خواهد بود:

اجرای استقرار سرویس Nginx

بررسی شرح و جزئیات پاد‌ها

برای بررسی شرح و جزئیات پاد‌ها، دستور زیر را اجرا کنید:

kubectl describe pods nginx-pod

kubectl describe pods nginx-pod > output.yaml

خروجی دستور بالا، شبیه به تصویر زیر خواهد بود:

بررسی جزئیات پادها

برای بررسی پاد‌ها روی کنسول، از مسیر زیر اقدام کنید:

نحوه بررسی پادها روی کنسول گوگل کلود

نحوه دسترسی به پاد‌ها

برای دسترسی به پاد‌ها از طریق رابط خط فرمان، دستور زیر را اجرا کنید:

Get the pod name

kubectl port-forward nginx-pod 8000: 80

پس از اجرای دستور بالا، خروجی به‌صورت زیر خواهد بود:

دسترسی به پادها

برای دسترسی به پاد‌ها از طریق مرورگر، آدرس زیر را در مرورگر‌تان باز کنید:

http: //localhost: 8000/

آدرس بالا، شما را به صفحه‌ای شبیه به تصویر زیر هدایت می‌کند:

دسترسی به پادها از طریق مرورگر

جمع بندی

نصب کوبرنتیز روی گوگل کلود فرایندی چندمرحله‌ای است که شامل ایجاد یک کلاستر، تنظیمات شبکه، پیکربندی ابزارهای خط فرمان، و مدیریت منابع می‌شود. این روش به توسعه‌دهندگان امکان می‌دهد تا اپلیکیشن‌های خود را به‌صورت مقیاس‌پذیر و مدیریت‌شده روی گوگل کلود اجرا کنند. با استفاده از دستورات kubectl، می‌توان کلاستر را مدیریت کرده و از داشبورد گرافیکی برای بررسی عملکرد آن بهره برد. اگر هدف شما یادگیری کوبرنتیز برای مدیریت برنامه‌های کانتینری در محیط ابری است، این راهنما یک شروع مناسب است.

امتیاز شما به این مطلب
دیدن نظرات
small

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

2 × 1 =

عضویت در خبرنامه مبین هاست
مطالب کدام دسته‌بندی‌ها برای شما جذاب‌تر است؟

آنچه در مقاله می‌خوانید

مقالات مرتبط
ریکاوری هارد استرنال
آموزش پایه شبکه و اینترنت

آموزش ریکاوری هارد اکسترنال (آموزش کامل)

هاردهای اکسترنال یکی از راحت‌ترین و کاربردی‌ترین ابزارهای ذخیره‌سازی اطلاعات هستند. آن‌ها به ما این امکان را می‌دهند که حجم زیادی از اطلاعات را با

خدمات مبین هاست