یک ماشین را با Terraform در Azure مستقر کنید و k3s را نصب کنید

Summarize this content to 400 words in Persian Lang
در این پست شما را گام به گام در مورد نحوه استقرار ماشین مجازی در Azure با استفاده از Terraform و نحوه نصب k3 بر روی آن راهنمایی می کنیم. علاوه بر این، نحوه تولید یک کلید RSA و به روز رسانی فایل را توضیح خواهیم داد terraform.tfvars با این اطلاعات
کلید RSA را تولید کنید
برای فعال کردن احراز هویت SSH در ماشین مجازی، باید یک جفت کلید RSA ایجاد کنید. می توانید با دستور زیر در ترمینال خود این کار را انجام دهید:
ssh-keygen -t rsa -b 4096 -C “tu-email@dominio.com”
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
با این کار دو فایل تولید می شود:
~/.ssh/id_rsa: کلید خصوصی
~/.ssh/id_rsa.pub: کلید عمومی
فایل را باز کنید ~/.ssh/id_rsa.pub و محتوای آن را کپی کنید. سپس این کلید عمومی را در فایل قرار دهید terraform.tfvars تحت متغیر ssh_public_key.
ساختار فایل Terraform
در زیر فایل های لازم برای استقرار زیرساخت در Azure را لیست می کنیم:
main.tf – شامل تعریف ارائه دهنده Azure و منابع مورد نیاز (گروه منابع، شبکه مجازی، زیر شبکه، گروه امنیتی، IP عمومی، رابط شبکه، ماشین مجازی، حساب ذخیره سازی و پسوند ماشین مجازی) است.
متغیرها.tf : متغیرهای لازم برای سفارشی سازی استقرار (نام، مکان، اندازه، کلیدهای SSH و غیره) را تعریف می کند.
خروجی ها.tf : خروجی هایی را که Terraform در پایان اجرا نشان خواهد داد (آدرس IP عمومی ماشین مجازی) را مشخص می کند.
terraform.tfvars : فایلی که در آن مقادیر به متغیرهای تعریف شده در آن اختصاص داده شده است variables.tf.
می توانید این فایل ها و پیکربندی کامل را در مخزن GitHub زیر پیدا کنید: مخزن کد Terraform برای k3s در Azure
در حال اجرا Terraform
هنگامی که تمام فایل های لازم را تعریف کردید، مراحل زیر را برای استقرار زیرساخت دنبال کنید:
Terraform را راه اندازی کنید :
پیش نمایش طرح اجرا :
برنامه ایجاد زیرساخت را اعمال کنید :
اتصال به ماشین مجازی از طریق SSH
پس از استقرار ماشین مجازی، می توانید از طریق SSH با استفاده از آدرس IP عمومی که در پایان فرآیند Terraform نمایش داده می شود، به آن متصل شوید.
برای مثال، اگر آدرس IP عمومی باشد 20.50.30.10برای اتصال از دستور زیر استفاده کنید:
ssh k3s@20.50.30.10 -i ~/.ssh/id_rsa
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
فایل پیکربندی کلاستر k3s
پس از اتصال، می توانید فایل پیکربندی کلاستر را در مسیر زیر پیدا کنید: /etc/rancher/k3s/k3s.yaml. این فایل شامل پیکربندی لازم برای تعامل با خوشه k3s شما می باشد. برای اطمینان از اینکه تنظیمات به درستی به سرور شما اشاره دارد، باید این فایل را ویرایش کنید.
فایل را باز کنید و خط موجود در آن را پیدا کنید server: https://127.0.0.1:6443. جایگزین می کند 127.0.0.1 با آدرس IP عمومی سرور شما. نتیجه باید چیزی شبیه به:
apiVersion: v1
clusters:
– cluster:
server: https://20.50.30.10:6443
certificate-authority-data: …
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
تغییرات را ذخیره کنید و فایل را ببندید. اکنون پیکربندی کلاستر شما با آدرس IP عمومی سرور به روز می شود.
فایل پیکربندی را در دستگاه محلی خود کپی کنید
برای تعامل با خوشه k3s از دستگاه محلی خود، باید فایل پیکربندی را کپی کنید k3s.yaml به دستگاه شما شما می توانید آن را با استفاده از scp. مثلا:
scp k3s@20.50.30.10:/etc/rancher/k3s/k3s.yaml ~/.kube/config
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این دستور فایل پیکربندی کلاستر را در آن کپی می کند ~/.kube/config در ماشین محلی شما از دایرکتوری اطمینان حاصل کنید .kube در فهرست اصلی شما وجود دارد.
تایید و نصب k3s
هنگامی که ماشین مجازی مستقر شد، باید k3s را نصب کنید. پیکربندی اولیه k3s با استفاده از پسوند ماشین مجازی در فایل انجام خواهد شد main.tf.
گزینه های پیکربندی پست
گزینه 1: گواهینامه ها را با IP عمومی بازسازی کنید
در برخی موارد، ممکن است لازم باشد گواهینامههای k3s را برای گنجاندن IP عمومی بازسازی کنید. برای انجام این کار؛ این موارد را دنبال کنید:
k3s را متوقف کنید :
فایل پیکربندی را ویرایش کنید : فایل را باز کنید (یا ایجاد کنید). /etc/rancher/k3s/config.yaml و موارد زیر را اضافه کنید:
k3s را مجدد راه اندازی کنید :
با انجام این مراحل، یک ماشین مجازی در Azure با Terraform مستقر کرده و k3s را روی آن نصب خواهید کرد. توانایی تولید مجدد گواهی ها با IP عمومی به شما این امکان را می دهد که اطمینان حاصل کنید که k3s در پیکربندی های مختلف شبکه به درستی کار می کند. امیدواریم این راهنما برای شما مفید بوده باشد!
در این پست شما را گام به گام در مورد نحوه استقرار ماشین مجازی در Azure با استفاده از Terraform و نحوه نصب k3 بر روی آن راهنمایی می کنیم. علاوه بر این، نحوه تولید یک کلید RSA و به روز رسانی فایل را توضیح خواهیم داد terraform.tfvars
با این اطلاعات
کلید RSA را تولید کنید
برای فعال کردن احراز هویت SSH در ماشین مجازی، باید یک جفت کلید RSA ایجاد کنید. می توانید با دستور زیر در ترمینال خود این کار را انجام دهید:
ssh-keygen -t rsa -b 4096 -C "tu-email@dominio.com"
با این کار دو فایل تولید می شود:
-
~/.ssh/id_rsa
: کلید خصوصی -
~/.ssh/id_rsa.pub
: کلید عمومی
فایل را باز کنید ~/.ssh/id_rsa.pub
و محتوای آن را کپی کنید. سپس این کلید عمومی را در فایل قرار دهید terraform.tfvars
تحت متغیر ssh_public_key
.
ساختار فایل Terraform
در زیر فایل های لازم برای استقرار زیرساخت در Azure را لیست می کنیم:
-
main.tf – شامل تعریف ارائه دهنده Azure و منابع مورد نیاز (گروه منابع، شبکه مجازی، زیر شبکه، گروه امنیتی، IP عمومی، رابط شبکه، ماشین مجازی، حساب ذخیره سازی و پسوند ماشین مجازی) است.
-
متغیرها.tf : متغیرهای لازم برای سفارشی سازی استقرار (نام، مکان، اندازه، کلیدهای SSH و غیره) را تعریف می کند.
-
خروجی ها.tf : خروجی هایی را که Terraform در پایان اجرا نشان خواهد داد (آدرس IP عمومی ماشین مجازی) را مشخص می کند.
-
terraform.tfvars : فایلی که در آن مقادیر به متغیرهای تعریف شده در آن اختصاص داده شده است
variables.tf
.
می توانید این فایل ها و پیکربندی کامل را در مخزن GitHub زیر پیدا کنید: مخزن کد Terraform برای k3s در Azure
در حال اجرا Terraform
هنگامی که تمام فایل های لازم را تعریف کردید، مراحل زیر را برای استقرار زیرساخت دنبال کنید:
-
Terraform را راه اندازی کنید :
-
پیش نمایش طرح اجرا :
-
برنامه ایجاد زیرساخت را اعمال کنید :
اتصال به ماشین مجازی از طریق SSH
پس از استقرار ماشین مجازی، می توانید از طریق SSH با استفاده از آدرس IP عمومی که در پایان فرآیند Terraform نمایش داده می شود، به آن متصل شوید.
برای مثال، اگر آدرس IP عمومی باشد 20.50.30.10
برای اتصال از دستور زیر استفاده کنید:
ssh k3s@20.50.30.10 -i ~/.ssh/id_rsa
فایل پیکربندی کلاستر k3s
پس از اتصال، می توانید فایل پیکربندی کلاستر را در مسیر زیر پیدا کنید: /etc/rancher/k3s/k3s.yaml
. این فایل شامل پیکربندی لازم برای تعامل با خوشه k3s شما می باشد. برای اطمینان از اینکه تنظیمات به درستی به سرور شما اشاره دارد، باید این فایل را ویرایش کنید.
فایل را باز کنید و خط موجود در آن را پیدا کنید server: https://127.0.0.1:6443
. جایگزین می کند 127.0.0.1
با آدرس IP عمومی سرور شما. نتیجه باید چیزی شبیه به:
apiVersion: v1
clusters:
- cluster:
server: https://20.50.30.10:6443
certificate-authority-data: ...
تغییرات را ذخیره کنید و فایل را ببندید. اکنون پیکربندی کلاستر شما با آدرس IP عمومی سرور به روز می شود.
فایل پیکربندی را در دستگاه محلی خود کپی کنید
برای تعامل با خوشه k3s از دستگاه محلی خود، باید فایل پیکربندی را کپی کنید k3s.yaml
به دستگاه شما شما می توانید آن را با استفاده از scp
. مثلا:
scp k3s@20.50.30.10:/etc/rancher/k3s/k3s.yaml ~/.kube/config
این دستور فایل پیکربندی کلاستر را در آن کپی می کند ~/.kube/config
در ماشین محلی شما از دایرکتوری اطمینان حاصل کنید .kube
در فهرست اصلی شما وجود دارد.
تایید و نصب k3s
هنگامی که ماشین مجازی مستقر شد، باید k3s را نصب کنید. پیکربندی اولیه k3s با استفاده از پسوند ماشین مجازی در فایل انجام خواهد شد main.tf
.
گزینه های پیکربندی پست
گزینه 1: گواهینامه ها را با IP عمومی بازسازی کنید
در برخی موارد، ممکن است لازم باشد گواهینامههای k3s را برای گنجاندن IP عمومی بازسازی کنید. برای انجام این کار؛ این موارد را دنبال کنید:
-
k3s را متوقف کنید :
-
فایل پیکربندی را ویرایش کنید : فایل را باز کنید (یا ایجاد کنید).
/etc/rancher/k3s/config.yaml
و موارد زیر را اضافه کنید: -
k3s را مجدد راه اندازی کنید :
با انجام این مراحل، یک ماشین مجازی در Azure با Terraform مستقر کرده و k3s را روی آن نصب خواهید کرد. توانایی تولید مجدد گواهی ها با IP عمومی به شما این امکان را می دهد که اطمینان حاصل کنید که k3s در پیکربندی های مختلف شبکه به درستی کار می کند. امیدواریم این راهنما برای شما مفید بوده باشد!