چگونه تشخیص بدیم معماری سرور لینوکسی ما چی هست؟
برای تشخیص معماری سیستمعامل لینوکسی خود ، میتونیم از دستور زیر استفاده کنیم:
حالا با توجه به خروجی که میده میتونه در یکی از دسته های زیر قرار بگیرد:
اگر خروجی x86_64 باشد، معماری سیستم شما 64 بیتی و Intel یا AMD است.
اگر خروجی aarch64 باشد، سیستم شما 64 بیتی ARM است.
اگر خروجی armv7l یا armv6l باشد، سیستم شما 32 بیتی ARM است.
یک روش دیگه برای بررسی این موضوع استفاده از دستور زیر است :
خروجی هایی که این دستور میدهد :
اگر amd64 برای سیستمهای 64 بیتی مبتنی بر Intel یا AMD
اگر arm64 برای سیستمهای 64 بیتی ARM
اگر armhf برای سیستمهای 32 بیتی ARM
برای تشخیص معماری سیستمعامل لینوکسی خود ، میتونیم از دستور زیر استفاده کنیم:
uname -m
حالا با توجه به خروجی که میده میتونه در یکی از دسته های زیر قرار بگیرد:
اگر خروجی x86_64 باشد، معماری سیستم شما 64 بیتی و Intel یا AMD است.
اگر خروجی aarch64 باشد، سیستم شما 64 بیتی ARM است.
اگر خروجی armv7l یا armv6l باشد، سیستم شما 32 بیتی ARM است.
یک روش دیگه برای بررسی این موضوع استفاده از دستور زیر است :
dpkg --print-architecture
خروجی هایی که این دستور میدهد :
اگر amd64 برای سیستمهای 64 بیتی مبتنی بر Intel یا AMD
اگر arm64 برای سیستمهای 64 بیتی ARM
اگر armhf برای سیستمهای 32 بیتی ARM
👍7❤🔥2
در این ویدیو به تفاوتهای بین is و == و همچنین str و repr در پایتون پرداخته میشود.
تفاوت is و ==: is به آدرس حافظه و == به مقادیر واقعی آبجکتها توجه دارد.
استفاده از متد copy(): برای ایجاد کپی از لیستها و تفاوتهای بین آبجکتها کاربرد دارد.
متدهای str و repr: هر دو برای تبدیل آبجکتها به رشته استفاده میشوند، اما کاربردهای متفاوتی دارند.
اهمیت متد repr: برای دیباگ و نمایش دقیقتر اطلاعات آبجکتها مفید است.
توصیه به پیادهسازی هر دو متد: پیادهسازی همزمان str و repr برای جلوگیری از رفتار غیرمنتظره مهم است.
بررسی آدرسهای حافظه: با استفاده از id() میتوان فهمید که آیا دو آبجکت یکسان هستند یا خیر.
اهمیت یادگیری is و ==: درک دقیق این تفاوتها به بهبود کیفیت کد کمک میکند.
تفاوت بنیادی: is بررسی میکند که آیا دو متغیر به یک آدرس حافظه اشاره میکنند، در حالی که == بررسی میکند که آیا مقادیر آنها برابر هستند. این نکته برای جلوگیری از خطاهای منطقی بسیار مهم است.
کاربرد copy(): استفاده از copy() برای ایجاد کپیهای مستقل از لیستها ضروری است، زیرا اشتباه در این موضوع میتواند منجر به تغییرات ناخواسته شود.
دیباگینگ آسانتر: استفاده از repr در دیباگینگ کمک میکند تا اطلاعات بیشتری درباره نوع و وضعیت آبجکتها به دست آورید، که در شناسایی مشکلات کد بسیار مفید است.
پیادهسازی همزمان: همیشه توصیه میشود که هر دو متد str و repr را پیادهسازی کنید تا از رفتار غیرمنتظره جلوگیری کنید. عدم پیادهسازی یکی از آنها میتواند به نتایج غیرمنتظره منجر شود.
اهمیت آدرس حافظه: بررسی آدرس حافظه با استفاده از id() میتواند به شما بگوید که آیا دو متغیر به یک آبجکت اشاره میکنند یا خیر، که در تصمیمگیریهای منطقی بسیار حیاتی است.
تسلط بر مفاهیم: یادگیری و درک تفاوتهای بین is، == و متدهای رشتهای در پایتون به توسعهدهندگان کمک میکند تا کدهای بهتری بنویسند و از بروز خطاهای احتمالی جلوگیری کنند.
https://youtu.be/FNJ2NZxIhfs?si=fVAlS-fk7JEcvNvq
تفاوت is و ==: is به آدرس حافظه و == به مقادیر واقعی آبجکتها توجه دارد.
استفاده از متد copy(): برای ایجاد کپی از لیستها و تفاوتهای بین آبجکتها کاربرد دارد.
متدهای str و repr: هر دو برای تبدیل آبجکتها به رشته استفاده میشوند، اما کاربردهای متفاوتی دارند.
اهمیت متد repr: برای دیباگ و نمایش دقیقتر اطلاعات آبجکتها مفید است.
توصیه به پیادهسازی هر دو متد: پیادهسازی همزمان str و repr برای جلوگیری از رفتار غیرمنتظره مهم است.
بررسی آدرسهای حافظه: با استفاده از id() میتوان فهمید که آیا دو آبجکت یکسان هستند یا خیر.
اهمیت یادگیری is و ==: درک دقیق این تفاوتها به بهبود کیفیت کد کمک میکند.
تفاوت بنیادی: is بررسی میکند که آیا دو متغیر به یک آدرس حافظه اشاره میکنند، در حالی که == بررسی میکند که آیا مقادیر آنها برابر هستند. این نکته برای جلوگیری از خطاهای منطقی بسیار مهم است.
کاربرد copy(): استفاده از copy() برای ایجاد کپیهای مستقل از لیستها ضروری است، زیرا اشتباه در این موضوع میتواند منجر به تغییرات ناخواسته شود.
دیباگینگ آسانتر: استفاده از repr در دیباگینگ کمک میکند تا اطلاعات بیشتری درباره نوع و وضعیت آبجکتها به دست آورید، که در شناسایی مشکلات کد بسیار مفید است.
پیادهسازی همزمان: همیشه توصیه میشود که هر دو متد str و repr را پیادهسازی کنید تا از رفتار غیرمنتظره جلوگیری کنید. عدم پیادهسازی یکی از آنها میتواند به نتایج غیرمنتظره منجر شود.
اهمیت آدرس حافظه: بررسی آدرس حافظه با استفاده از id() میتواند به شما بگوید که آیا دو متغیر به یک آبجکت اشاره میکنند یا خیر، که در تصمیمگیریهای منطقی بسیار حیاتی است.
تسلط بر مفاهیم: یادگیری و درک تفاوتهای بین is، == و متدهای رشتهای در پایتون به توسعهدهندگان کمک میکند تا کدهای بهتری بنویسند و از بروز خطاهای احتمالی جلوگیری کنند.
https://youtu.be/FNJ2NZxIhfs?si=fVAlS-fk7JEcvNvq
YouTube
'is' vs '==' and '__str__' vs '__repr__' in python
من در شبکه های اجتماعی دیگه:
اینستاگرام
https://instagram.com/am.mthri
کانال تلگرام
https://news.1rj.ru/str/mthri_tips
توییتر
https://twitter.com/a_mthri
وبلاگ
https://iamamir.ir
اینستاگرام
https://instagram.com/am.mthri
کانال تلگرام
https://news.1rj.ru/str/mthri_tips
توییتر
https://twitter.com/a_mthri
وبلاگ
https://iamamir.ir
❤🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Always ask yourself how far you can go rather than how long it will take. 🙌
❤🔥4👍2🔥1
شبکه ی Overlay چیست؟
شبکهی Overlay یا شبکه همپوشانی یک نوع شبکهی مجازی است که روی یک شبکهی فیزیکی دیگر (مثل اینترنت یا شبکهی داخلی) ساخته میشود. این شبکه کمک میکند تا دستگاهها یا سرورهایی که از نظر فیزیکی از هم دور هستند، طوری به هم متصل شوند که انگار در یک شبکه محلی و نزدیک به هم هستند.
چرا Overlay Network؟
گاهی اوقات در محیطهای بزرگ مثل مراکز داده یا زیرساختهای ابری (cloud)، نیاز داریم تا سرورها، کانتینرها، یا ماشینهای مجازی مختلف، بدون توجه به موقعیت جغرافیاییشان، با هم در ارتباط باشند. شبکههای فیزیکی محدودیتهایی دارند و در تغییرات و توسعه ممکن است زمانبر و پرهزینه باشند. اینجا است که Overlay Network وارد کار میشود؛ یعنی یک شبکه مجازی که به شما اجازه میدهد دستگاهها و سرورها را بدون تغییر در شبکهی فیزیکی، به هم متصل کنید.
شبکه Overlay چگونه کار میکند؟
شبکه Overlay از روشی به نام تونلزنی (Tunneling) استفاده میکند. در این روش، بستههای داده (Packetها) طوری بستهبندی یا کپسوله (Encapsulate) میشوند که انگار از یک شبکه مجازی عبور میکنند، در حالی که در واقع از بستر شبکهی فیزیکی منتقل میشوند. به عبارت سادهتر، دادهها در یک بستهی مخصوص پیچیده شده و روی مسیرهای شبکهی فیزیکی منتقل میشوند، اما به شبکهی مجازی تعلق دارند.
فرض کنید دو سرور در دو دیتاسنتر مختلف دارید که میخواهید به هم متصل شوند. با ایجاد یک Overlay Network، میتوانید این دو سرور را طوری به هم وصل کنید که انگار در یک شبکه محلی و یکجا هستند، حتی اگر کیلومترها از هم فاصله داشته باشند.
کاربردهای Overlay Network
شبکه Overlay بیشتر در موارد زیر کاربرد دارد:
زیرساختهای ابری (Cloud Infrastructure): در محیطهایی مثل Amazon Web Services (AWS) یا Google Cloud، Overlay Network امکان ارتباط بین منابع مختلف (مثل ماشینهای مجازی یا کانتینرها) را فراهم میکند.
کانتینرها و Docker: در داکر (Docker) و ارکستراسیون کانتینرها (مانند Kubernetes)، Overlay Network کمک میکند تا کانتینرها که ممکن است روی سرورهای مختلف باشند، بهسادگی با هم ارتباط برقرار کنند. این نوع شبکه در Docker Swarm برای ارتباط امن و سریع کانتینرها به کار میرود.
شبکههای چند لایهای و ایمن: Overlay Network میتواند برای ایجاد شبکههای امن و چند لایه استفاده شود. مثلا در شبکههای سازمانی برای اتصال بین دفاتر مختلف از این روش استفاده میشود.
مزایای Overlay Network
انعطافپذیری بالا: بدون نیاز به تغییر زیرساخت فیزیکی، میتوان بهراحتی شبکههای جدید ایجاد و تنظیم کرد.
مقیاسپذیری: بهراحتی میتوان سرورها و دستگاههای جدید را به شبکه اضافه کرد.
افزایش امنیت: بستهها بهصورت تونلزده ارسال میشوند که امنیت بیشتری به ارتباطات بین دستگاهها میدهد.
ارتباط ساده در محیطهای توزیعشده: در پروژههای بزرگ که منابع در نقاط مختلف جغرافیایی پراکنده هستند، Overlay Network راهکاری کارآمد برای اتصال دستگاهها و سرورها ارائه میدهد.
مثال ساده از Overlay Network
فرض کنید یک سازمان دارای چند شعبه در شهرهای مختلف است و هر شعبه دارای سرورهای مخصوص به خودش است. اگر این سازمان بخواهد همهی سرورها را طوری به هم متصل کند که انگار همگی در یک ساختمان هستند، میتواند از Overlay Network استفاده کند. این شبکه مجازی طوری کار میکند که تمام سرورها به یکدیگر متصل میشوند و بدون در نظر گرفتن فاصله فیزیکی، تبادل اطلاعات انجام میدهند.
نتیجهگیری
شبکهی Overlay یکی از راهکارهای مدرن و کارآمد برای ایجاد ارتباطات مجازی بین منابع مختلف است. با این شبکه میتوانید سرورها، کانتینرها و منابع مختلف را بهراحتی و بدون نیاز به تغییرات زیرساخت فیزیکی به هم متصل کنید و از مزایای انعطافپذیری و امنیت آن بهرهمند شوید.
این شبکهها در دنیای امروزی، مخصوصا در حوزههای ابری و کانتینرها، بسیار پرکاربرد هستند و ابزار مناسبی برای سادهسازی و مدیریت شبکههای پیچیده به حساب میآیند.
شبکهی Overlay یا شبکه همپوشانی یک نوع شبکهی مجازی است که روی یک شبکهی فیزیکی دیگر (مثل اینترنت یا شبکهی داخلی) ساخته میشود. این شبکه کمک میکند تا دستگاهها یا سرورهایی که از نظر فیزیکی از هم دور هستند، طوری به هم متصل شوند که انگار در یک شبکه محلی و نزدیک به هم هستند.
چرا Overlay Network؟
گاهی اوقات در محیطهای بزرگ مثل مراکز داده یا زیرساختهای ابری (cloud)، نیاز داریم تا سرورها، کانتینرها، یا ماشینهای مجازی مختلف، بدون توجه به موقعیت جغرافیاییشان، با هم در ارتباط باشند. شبکههای فیزیکی محدودیتهایی دارند و در تغییرات و توسعه ممکن است زمانبر و پرهزینه باشند. اینجا است که Overlay Network وارد کار میشود؛ یعنی یک شبکه مجازی که به شما اجازه میدهد دستگاهها و سرورها را بدون تغییر در شبکهی فیزیکی، به هم متصل کنید.
شبکه Overlay چگونه کار میکند؟
شبکه Overlay از روشی به نام تونلزنی (Tunneling) استفاده میکند. در این روش، بستههای داده (Packetها) طوری بستهبندی یا کپسوله (Encapsulate) میشوند که انگار از یک شبکه مجازی عبور میکنند، در حالی که در واقع از بستر شبکهی فیزیکی منتقل میشوند. به عبارت سادهتر، دادهها در یک بستهی مخصوص پیچیده شده و روی مسیرهای شبکهی فیزیکی منتقل میشوند، اما به شبکهی مجازی تعلق دارند.
فرض کنید دو سرور در دو دیتاسنتر مختلف دارید که میخواهید به هم متصل شوند. با ایجاد یک Overlay Network، میتوانید این دو سرور را طوری به هم وصل کنید که انگار در یک شبکه محلی و یکجا هستند، حتی اگر کیلومترها از هم فاصله داشته باشند.
کاربردهای Overlay Network
شبکه Overlay بیشتر در موارد زیر کاربرد دارد:
زیرساختهای ابری (Cloud Infrastructure): در محیطهایی مثل Amazon Web Services (AWS) یا Google Cloud، Overlay Network امکان ارتباط بین منابع مختلف (مثل ماشینهای مجازی یا کانتینرها) را فراهم میکند.
کانتینرها و Docker: در داکر (Docker) و ارکستراسیون کانتینرها (مانند Kubernetes)، Overlay Network کمک میکند تا کانتینرها که ممکن است روی سرورهای مختلف باشند، بهسادگی با هم ارتباط برقرار کنند. این نوع شبکه در Docker Swarm برای ارتباط امن و سریع کانتینرها به کار میرود.
شبکههای چند لایهای و ایمن: Overlay Network میتواند برای ایجاد شبکههای امن و چند لایه استفاده شود. مثلا در شبکههای سازمانی برای اتصال بین دفاتر مختلف از این روش استفاده میشود.
مزایای Overlay Network
انعطافپذیری بالا: بدون نیاز به تغییر زیرساخت فیزیکی، میتوان بهراحتی شبکههای جدید ایجاد و تنظیم کرد.
مقیاسپذیری: بهراحتی میتوان سرورها و دستگاههای جدید را به شبکه اضافه کرد.
افزایش امنیت: بستهها بهصورت تونلزده ارسال میشوند که امنیت بیشتری به ارتباطات بین دستگاهها میدهد.
ارتباط ساده در محیطهای توزیعشده: در پروژههای بزرگ که منابع در نقاط مختلف جغرافیایی پراکنده هستند، Overlay Network راهکاری کارآمد برای اتصال دستگاهها و سرورها ارائه میدهد.
مثال ساده از Overlay Network
فرض کنید یک سازمان دارای چند شعبه در شهرهای مختلف است و هر شعبه دارای سرورهای مخصوص به خودش است. اگر این سازمان بخواهد همهی سرورها را طوری به هم متصل کند که انگار همگی در یک ساختمان هستند، میتواند از Overlay Network استفاده کند. این شبکه مجازی طوری کار میکند که تمام سرورها به یکدیگر متصل میشوند و بدون در نظر گرفتن فاصله فیزیکی، تبادل اطلاعات انجام میدهند.
نتیجهگیری
شبکهی Overlay یکی از راهکارهای مدرن و کارآمد برای ایجاد ارتباطات مجازی بین منابع مختلف است. با این شبکه میتوانید سرورها، کانتینرها و منابع مختلف را بهراحتی و بدون نیاز به تغییرات زیرساخت فیزیکی به هم متصل کنید و از مزایای انعطافپذیری و امنیت آن بهرهمند شوید.
این شبکهها در دنیای امروزی، مخصوصا در حوزههای ابری و کانتینرها، بسیار پرکاربرد هستند و ابزار مناسبی برای سادهسازی و مدیریت شبکههای پیچیده به حساب میآیند.
👍8❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Let your action talk - not your mouth!
🔥5❤🔥1👍1
این ویدیو درباره اکسپشنهای سفارسی در پایتون است و نحوه مدیریت خطاها و نوشتن کدهای قابل توسعه را توضیح میدهد.
نکات مهم:
📚 معرفی اکسپشنهای سفارسی
🔧 اهمیت مدیریت خطا در برنامهنویسی
✏️ ایجاد کلاسهای اختصاصی برای خطاها
🚀 بهبود قابلیت توسعه کد
💡 پیشنهاد نوشتن توضیحات برای اکسپشنها
🔍 بررسی کتابخانههای مفید
🎥 تماشای مثالهای عملی
کلیات:
⚙️ مدیریت خطا: نوشتن اکسپشنهای سفارسی به توسعهدهندگان کمک میکند تا خطاهای احتمالی را به وضوح شناسایی و مدیریت کنند.
📈 قابلیت توسعه: با استفاده از اکسپشنهای سفارسی، کدها به مرور زمان قابل توسعهتر و نگهداری آسانتری خواهند داشت.
🛠️ استفاده از کلاسهای اختصاصی: ایجاد کلاسهای اختصاصی برای اکسپشنها، خطاها را واضحتر و قابل درکتر میکند.
📖 توضیحات برای اکسپشنها: نوشتن توضیحات مختصر برای اکسپشنها میتواند به درک بهتر دلایل وقوع خطا کمک کند.
🔄 کتابخانههای مفید: استفاده از کتابخانههای معتبر که اکسپشنهای مناسب را ارائه میدهند، به بهبود کیفیت کد کمک میکند.
🧩 مدیریت بهتر خطاها: با مدیریت مناسب خطاها، توسعهدهندگان میتوانند از بروز مشکلات بزرگ در پروژههایشان جلوگیری کنند.
🎓 آموزش پیوسته: یادگیری و بهکارگیری تکنیکهای جدید برای مدیریت خطاها، از جمله اکسپشنهای سفارسی، به توسعهدهندگان کمک میکند تا مهارتهای خود را ارتقاء دهند.
https://youtu.be/mTlLPMYjRFk?si=WByHVO8jmlE6_AzX
نکات مهم:
📚 معرفی اکسپشنهای سفارسی
🔧 اهمیت مدیریت خطا در برنامهنویسی
✏️ ایجاد کلاسهای اختصاصی برای خطاها
🚀 بهبود قابلیت توسعه کد
💡 پیشنهاد نوشتن توضیحات برای اکسپشنها
🔍 بررسی کتابخانههای مفید
🎥 تماشای مثالهای عملی
کلیات:
⚙️ مدیریت خطا: نوشتن اکسپشنهای سفارسی به توسعهدهندگان کمک میکند تا خطاهای احتمالی را به وضوح شناسایی و مدیریت کنند.
📈 قابلیت توسعه: با استفاده از اکسپشنهای سفارسی، کدها به مرور زمان قابل توسعهتر و نگهداری آسانتری خواهند داشت.
🛠️ استفاده از کلاسهای اختصاصی: ایجاد کلاسهای اختصاصی برای اکسپشنها، خطاها را واضحتر و قابل درکتر میکند.
📖 توضیحات برای اکسپشنها: نوشتن توضیحات مختصر برای اکسپشنها میتواند به درک بهتر دلایل وقوع خطا کمک کند.
🔄 کتابخانههای مفید: استفاده از کتابخانههای معتبر که اکسپشنهای مناسب را ارائه میدهند، به بهبود کیفیت کد کمک میکند.
🧩 مدیریت بهتر خطاها: با مدیریت مناسب خطاها، توسعهدهندگان میتوانند از بروز مشکلات بزرگ در پروژههایشان جلوگیری کنند.
🎓 آموزش پیوسته: یادگیری و بهکارگیری تکنیکهای جدید برای مدیریت خطاها، از جمله اکسپشنهای سفارسی، به توسعهدهندگان کمک میکند تا مهارتهای خود را ارتقاء دهند.
https://youtu.be/mTlLPMYjRFk?si=WByHVO8jmlE6_AzX
YouTube
اکسپشن های سفارسی در پایتون | Custom Exception in Python
من در شبکه های اجتماعی دیگه:
اینستاگرام
https://instagram.com/am.mthri
کانال تلگرام
https://news.1rj.ru/str/mthri_tips
توییتر
https://twitter.com/a_mthri
وبلاگ
https://iamamir.ir
اینستاگرام
https://instagram.com/am.mthri
کانال تلگرام
https://news.1rj.ru/str/mthri_tips
توییتر
https://twitter.com/a_mthri
وبلاگ
https://iamamir.ir
👍2❤🔥1
(پارت دوم)
داکر Swarm چیست؟
داکر Swarm یک ابزار برای مدیریت و هماهنگسازی کانتینرهای Docker است که امکان اجرای برنامهها در مقیاس بزرگ را روی چندین سرور فراهم میکند. در واقع، با استفاده از Docker Swarm میتوانید یک کلاستر از سرورهای مختلف ایجاد کنید و کانتینرها را بهطور خودکار روی این سرورها توزیع و مدیریت نمایید.
در Docker Swarm، هر سرور میتواند بهعنوان یک گره (Node) در نظر گرفته شود:
گره مدیر (Manager Node): وظیفه مدیریت کل کلاستر و تصمیمگیری دربارهی توزیع کانتینرها روی گرهها را بر عهده دارد. به این گره Master هم میگن.
گره کارگر (Worker Node): وظیفه اصلی این گرهها اجرای کانتینرها است و از گرههای مدیر دستور میگیرند.
مراحل و مثال عملی
۱. فعالسازی Docker Swarm: فرض کنید یک سرور با آدرس IP 192.168.1.10 دارید. برای شروع Docker Swarm، روی سرور اصلی به عنوان node مدیر یا Manager دستور زیر را اجرا کنید:
پس از اجرای این دستور، Docker Swarm راهاندازی میشود و پیامی حاوی دستوری نمایش میدهد که باید آن را روی سرورهای دیگر اجرا کنید تا به کلاستر بپیوندند.
۲. افزودن گرههای کارگر یا همون Worker ها به کلاستر: با اجرای دستوری که گره مدیر ارائه کرده، میتوانید گرههای کارگر را به کلاستر متصل کنید. دستور برای گرههای کارگر معمولاً به شکل زیر است:
این دستور را روی سرورهای دیگر اجرا کنید و به کلاستر اضافه شوید.
نکته ی مهم در این بخش که از نکات مهم حوزه ی شبکه هست ، دقت در باز بودن پورت مورد نظر در فایروال است!
۳. ایجاد سرویس در Docker Swarm: حالا میتوانید یک سرویس روی کلاستر خود اجرا کنید. بهعنوان مثال، یک سرویس وب ساده از nginx ایجاد میکنیم:
که در اینجا:
آپشن --name my-nginx نام سرویس را مشخص میکند.
آپشن -p 80:80 پورت ۸۰ را برای سرویس در دسترس قرار میدهد.
و آپشن --replicas 3 تعداد نسخههای (Replica) کانتینر را مشخص میکند؛ یعنی ۳ کانتینر nginx روی کلاستر توزیع میشود.
مزایا
خودکارسازی توزیع کانتینرها: Docker Swarm بهطور خودکار کانتینرها را روی گرههای مختلف توزیع میکند.
تابآوری بالا: در صورت از دست رفتن یکی از گرهها، Swarm بهطور خودکار کانتینرها را روی گرههای دیگر بازیابی میکند.
مقیاسپذیری: بهراحتی میتوان تعداد گرهها و کانتینرها را افزایش یا کاهش داد.
بنابر این Docker Swarm ابزاری عالی برای اجرای برنامههای توزیعشده است که بهویژه برای سیستمهایی با نیاز به دسترسی بالا و مدیریت کانتینرها مناسب است.
داکر Swarm چیست؟
داکر Swarm یک ابزار برای مدیریت و هماهنگسازی کانتینرهای Docker است که امکان اجرای برنامهها در مقیاس بزرگ را روی چندین سرور فراهم میکند. در واقع، با استفاده از Docker Swarm میتوانید یک کلاستر از سرورهای مختلف ایجاد کنید و کانتینرها را بهطور خودکار روی این سرورها توزیع و مدیریت نمایید.
در Docker Swarm، هر سرور میتواند بهعنوان یک گره (Node) در نظر گرفته شود:
گره مدیر (Manager Node): وظیفه مدیریت کل کلاستر و تصمیمگیری دربارهی توزیع کانتینرها روی گرهها را بر عهده دارد. به این گره Master هم میگن.
گره کارگر (Worker Node): وظیفه اصلی این گرهها اجرای کانتینرها است و از گرههای مدیر دستور میگیرند.
مراحل و مثال عملی
۱. فعالسازی Docker Swarm: فرض کنید یک سرور با آدرس IP 192.168.1.10 دارید. برای شروع Docker Swarm، روی سرور اصلی به عنوان node مدیر یا Manager دستور زیر را اجرا کنید:
docker swarm init --advertise-addr 192.168.1.10
پس از اجرای این دستور، Docker Swarm راهاندازی میشود و پیامی حاوی دستوری نمایش میدهد که باید آن را روی سرورهای دیگر اجرا کنید تا به کلاستر بپیوندند.
۲. افزودن گرههای کارگر یا همون Worker ها به کلاستر: با اجرای دستوری که گره مدیر ارائه کرده، میتوانید گرههای کارگر را به کلاستر متصل کنید. دستور برای گرههای کارگر معمولاً به شکل زیر است:
docker swarm join --token <token> 192.168.1.10:2377
این دستور را روی سرورهای دیگر اجرا کنید و به کلاستر اضافه شوید.
نکته ی مهم در این بخش که از نکات مهم حوزه ی شبکه هست ، دقت در باز بودن پورت مورد نظر در فایروال است!
۳. ایجاد سرویس در Docker Swarm: حالا میتوانید یک سرویس روی کلاستر خود اجرا کنید. بهعنوان مثال، یک سرویس وب ساده از nginx ایجاد میکنیم:
docker service create --name my-nginx -p 80:80 --replicas 3 nginx
که در اینجا:
آپشن --name my-nginx نام سرویس را مشخص میکند.
آپشن -p 80:80 پورت ۸۰ را برای سرویس در دسترس قرار میدهد.
و آپشن --replicas 3 تعداد نسخههای (Replica) کانتینر را مشخص میکند؛ یعنی ۳ کانتینر nginx روی کلاستر توزیع میشود.
مزایا
خودکارسازی توزیع کانتینرها: Docker Swarm بهطور خودکار کانتینرها را روی گرههای مختلف توزیع میکند.
تابآوری بالا: در صورت از دست رفتن یکی از گرهها، Swarm بهطور خودکار کانتینرها را روی گرههای دیگر بازیابی میکند.
مقیاسپذیری: بهراحتی میتوان تعداد گرهها و کانتینرها را افزایش یا کاهش داد.
بنابر این Docker Swarm ابزاری عالی برای اجرای برنامههای توزیعشده است که بهویژه برای سیستمهایی با نیاز به دسترسی بالا و مدیریت کانتینرها مناسب است.
YouTube
Docker Swarm | Docker Swarm Tutorial | What Is Docker Swarm? | Docker Swarm Example | Simplilearn
"️🔥 Cloud Architect Masters Program - https://www.simplilearn.com/cloud-solutions-architect-masters-program-training?utm_campaign=Tm0Q5zr3FL4&utm_medium=DenoscriptionFFF&utm_source=Youtube
️🔥Purdue - Cloud Computing and DevOps Certification Program - htt…
️🔥Purdue - Cloud Computing and DevOps Certification Program - htt…
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
زیگموند فروید میگه "وسعت شخصیت هر فرد توسط بزرگی مشکلی که میتواند او را از حالت منطقی بیرون آورد تعریف میشود."
تاب آوری و حل مسئله و نحوه برخورد و واکنش افراد در برابر مشکلات و چالش هاشون عیار اونا رو تعیین میکنه!
تاب آوری و حل مسئله و نحوه برخورد و واکنش افراد در برابر مشکلات و چالش هاشون عیار اونا رو تعیین میکنه!
👍6❤🔥1
Media is too big
VIEW IN TELEGRAM
این ویدیو رو کامل ببینید، این تکنولوژی روی سرور های G11 شرکت HPE ارائه میگردد.
🔥4👍2❤🔥1❤1
آپشن --rm در داکر چیست؟
در Docker، گزینه --rm به این معنی است که وقتی اجرای کانتینر به پایان رسید، بهطور خودکار کانتینر حذف شود. این گزینه مخصوصاً برای کانتینرهای موقت مفید است که تنها یک عملیات مشخص را انجام میدهند و دیگر نیازی به حفظ آنها بعد از اتمام کار نیست.
برای مثال:
در این دستور ما محتوای دایرکتوری /etc/nginx را در مسیر /backup کپی میکنیم ، و از طرفی این دایرکتوری backup هم به مسیر /mnt/nginx_config مونت شده است ، پس ما یک کپی از مسیر /etc/nginx در سیستم هاستمون داریم.
در این دستور، پس از کپی کردن فایلها، کانتینر بهطور خودکار حذف میشود و نیازی نیست آن را بهصورت دستی پاک کنید.
پس این آپشن صرفا جهت کپی کردن فایل های دایرکتوری مربوطه ایجاد شده و بعد از انجام عملیات بطور خودکار حذف میشود
در Docker، گزینه --rm به این معنی است که وقتی اجرای کانتینر به پایان رسید، بهطور خودکار کانتینر حذف شود. این گزینه مخصوصاً برای کانتینرهای موقت مفید است که تنها یک عملیات مشخص را انجام میدهند و دیگر نیازی به حفظ آنها بعد از اتمام کار نیست.
برای مثال:
docker run --rm -v /mnt/nginx_config:/backup nginx:alpine cp -r /etc/nginx/* /backup
در این دستور ما محتوای دایرکتوری /etc/nginx را در مسیر /backup کپی میکنیم ، و از طرفی این دایرکتوری backup هم به مسیر /mnt/nginx_config مونت شده است ، پس ما یک کپی از مسیر /etc/nginx در سیستم هاستمون داریم.
در این دستور، پس از کپی کردن فایلها، کانتینر بهطور خودکار حذف میشود و نیازی نیست آن را بهصورت دستی پاک کنید.
پس این آپشن صرفا جهت کپی کردن فایل های دایرکتوری مربوطه ایجاد شده و بعد از انجام عملیات بطور خودکار حذف میشود
❤🔥3
(پارت سوم)
داکر volume چیست؟
در Docker، موضوع volume یا «حجم» یک فضای ذخیرهسازی پایدار است که Docker برای ذخیره دادههای کانتینرها ایجاد و مدیریت میکند. برخلاف فایلهای عادی که درون سیستم فایل کانتینر ذخیره میشوند و با حذف کانتینر از بین میروند،
دادههای ذخیرهشده در volume باقی میمانند حتی اگر کانتینر حذف شود. این ویژگی volume را به گزینهای عالی برای ذخیرهی دادههایی تبدیل میکند که لازم است بعد از حذف یا بروزرسانی کانتینرها همچنان در دسترس باشند.
چرا از Volume استفاده میکنیم؟
پایداری دادهها: دادههایی که در volume ذخیره میشوند با حذف یا بازسازی کانتینر پاک نمیشوند و برای کانتینرهای بعدی قابل استفاده هستند.
بهینهسازی عملکرد: Docker volumeها را بهینهسازی کرده است تا عملکرد بالایی در ذخیرهسازی دادهها ارائه دهند.
استقلال از سیستم فایل میزبان: برخلاف bind mount، volumeها به مسیرهای فایل خاصی در سیستم میزبان وابسته نیستند و Docker آنها را در دایرکتوری خاص خودش مدیریت میکند. این امر به امنیت و مدیریت آسانتر دادهها کمک میکند.
چگونه یک Volume ایجاد و استفاده کنیم؟
برای ایجاد و استفاده از volume، میتوان از دستورات زیر استفاده کرد:
ایجاد یک Volume
برای ایجاد volume، از دستور docker volume create استفاده میکنیم:
این دستور یک volume به نام my_volume ایجاد میکند. با استفاده از این نام میتوانیم volume را به هر کانتینری که نیاز داریم متصل کنیم.
متصل کردن Volume به کانتینر
برای استفاده از volume در یک کانتینر، از گزینه -v استفاده میکنیم:
در اینجا: my_volume به کانتینر متصل شده است.
مسیر /data در داخل کانتینر به این volume اختصاص یافته است. هر چیزی که داخل /data در کانتینر ذخیره شود، به volume منتقل میشود و پایدار خواهد بود.
ویژگیهای Volume در Docker
کپی خودکار دادهها: اگر volume خالی باشد و به مسیری در کانتینر متصل شود که شامل فایلهای پیشفرض است، Docker این فایلها را به volume کپی میکند. این ویژگی برای ذخیرهسازی تنظیمات پیشفرض مفید است.
مدیریت مرکزی: Docker بهصورت مرکزی volumeها را مدیریت میکند و آنها را در یک مسیر خاص در سیستم میزبان ذخیره میکند. این مسیر معمولاً /var/lib/docker/volumes است.
استفادهی چندگانه: یک volume را میتوان به چندین کانتینر بهصورت همزمان متصل کرد، که امکان اشتراکگذاری دادهها بین کانتینرها را فراهم میسازد.
داکر volume چیست؟
در Docker، موضوع volume یا «حجم» یک فضای ذخیرهسازی پایدار است که Docker برای ذخیره دادههای کانتینرها ایجاد و مدیریت میکند. برخلاف فایلهای عادی که درون سیستم فایل کانتینر ذخیره میشوند و با حذف کانتینر از بین میروند،
دادههای ذخیرهشده در volume باقی میمانند حتی اگر کانتینر حذف شود. این ویژگی volume را به گزینهای عالی برای ذخیرهی دادههایی تبدیل میکند که لازم است بعد از حذف یا بروزرسانی کانتینرها همچنان در دسترس باشند.
چرا از Volume استفاده میکنیم؟
پایداری دادهها: دادههایی که در volume ذخیره میشوند با حذف یا بازسازی کانتینر پاک نمیشوند و برای کانتینرهای بعدی قابل استفاده هستند.
بهینهسازی عملکرد: Docker volumeها را بهینهسازی کرده است تا عملکرد بالایی در ذخیرهسازی دادهها ارائه دهند.
استقلال از سیستم فایل میزبان: برخلاف bind mount، volumeها به مسیرهای فایل خاصی در سیستم میزبان وابسته نیستند و Docker آنها را در دایرکتوری خاص خودش مدیریت میکند. این امر به امنیت و مدیریت آسانتر دادهها کمک میکند.
چگونه یک Volume ایجاد و استفاده کنیم؟
برای ایجاد و استفاده از volume، میتوان از دستورات زیر استفاده کرد:
ایجاد یک Volume
برای ایجاد volume، از دستور docker volume create استفاده میکنیم:
docker volume create my_volume
این دستور یک volume به نام my_volume ایجاد میکند. با استفاده از این نام میتوانیم volume را به هر کانتینری که نیاز داریم متصل کنیم.
متصل کردن Volume به کانتینر
برای استفاده از volume در یک کانتینر، از گزینه -v استفاده میکنیم:
docker run -itd --name my_container -v my_volume:/data ubuntu
در اینجا: my_volume به کانتینر متصل شده است.
مسیر /data در داخل کانتینر به این volume اختصاص یافته است. هر چیزی که داخل /data در کانتینر ذخیره شود، به volume منتقل میشود و پایدار خواهد بود.
ویژگیهای Volume در Docker
کپی خودکار دادهها: اگر volume خالی باشد و به مسیری در کانتینر متصل شود که شامل فایلهای پیشفرض است، Docker این فایلها را به volume کپی میکند. این ویژگی برای ذخیرهسازی تنظیمات پیشفرض مفید است.
مدیریت مرکزی: Docker بهصورت مرکزی volumeها را مدیریت میکند و آنها را در یک مسیر خاص در سیستم میزبان ذخیره میکند. این مسیر معمولاً /var/lib/docker/volumes است.
استفادهی چندگانه: یک volume را میتوان به چندین کانتینر بهصورت همزمان متصل کرد، که امکان اشتراکگذاری دادهها بین کانتینرها را فراهم میسازد.
YouTube
Docker Volumes explained in 6 minutes
Understand Docker Volumes in 6 minutes. Docker Volumes in Docker-Compose
► Subscribe To Me On Youtube: https://bit.ly/2z5rvTV
In this video you will learn:
0:00 - Intro
0:21 - When do we need Docker Volumes?
1:02 - What is Docker Volumes?
2:04 - 3 Docker…
► Subscribe To Me On Youtube: https://bit.ly/2z5rvTV
In this video you will learn:
0:00 - Intro
0:21 - When do we need Docker Volumes?
1:02 - What is Docker Volumes?
2:04 - 3 Docker…
❤3❤🔥1
تفاوت بین Bind Mount و Volume در Docker
بی اطلاعی از این موضوع میتونه باگ بزرگی بشه براتون و در نهایت کانتینر در هنگام اجرا با Exit code 127 بیوفته.
در داکر ، bind mount و volume دو روش مجزا برای مدیریت دادهها هستند و هر یک عملکرد خاص خود را دارند:
1.حالت اول Bind Mount
در Bind Mount، یک پوشه دلخواه از سیستم میزبان به کانتینر متصل میشود. هر تغییری که در این پوشه میزبان ایجاد شود، مستقیماً بر روی کانتینر تاثیر میگذارد. در این حالت:
اگر پوشهی میزبان خالی باشد، مسیر هدف در کانتینر نیز خالی خواهد بود. Docker هیچ فایل پیشفرضی را از کانتینر به این پوشه کپی نمیکند.
2.حالت دوم Volume
در این حالت Volume در Docker بهصورت خودکار یک فضای ذخیرهسازی مجزا ایجاد میکند که توسط خود Docker مدیریت میشود. وقتی یک مسیر از کانتینر را به volume متصل میکنید:
اگر volume خالی باشد، Docker بهطور خودکار فایلهای پیشفرض را از مسیر مورد نظر در کانتینر به volume کپی میکند.
بنابر این Volumeها بهطور مستقل از سیستم فایل میزبان عمل میکنند و از این رو، برای ذخیرهسازی دادهها و فایلهای پیکربندی پایدار بسیار مناسب هستند.
در این حالت، حتی اگر volume خالی باشد، Docker بهصورت خودکار فایلهای تنظیمات پیشفرض را از کانتینر به volume کپی میکند و Nginx بدون مشکل اجرا میشود.
پس به عنوان نتیجه :
هنگام کار با Docker، شناخت تفاوتهای bind mount و volume میتواند از بروز مشکلات زیادی جلوگیری کند. Bind mount به شما امکان میدهد تا از مسیرهای خاص سیستم میزبان استفاده کنید، اما اگر این مسیرها خالی باشند، ممکن است باعث بروز خطا در کانتینر شوند. در مقابل، volume یک فضای مستقل فراهم میکند که Docker بهطور خودکار فایلهای پیشفرض کانتینر را در آن قرار میدهد.
بی اطلاعی از این موضوع میتونه باگ بزرگی بشه براتون و در نهایت کانتینر در هنگام اجرا با Exit code 127 بیوفته.
در داکر ، bind mount و volume دو روش مجزا برای مدیریت دادهها هستند و هر یک عملکرد خاص خود را دارند:
1.حالت اول Bind Mount
در Bind Mount، یک پوشه دلخواه از سیستم میزبان به کانتینر متصل میشود. هر تغییری که در این پوشه میزبان ایجاد شود، مستقیماً بر روی کانتینر تاثیر میگذارد. در این حالت:
اگر پوشهی میزبان خالی باشد، مسیر هدف در کانتینر نیز خالی خواهد بود. Docker هیچ فایل پیشفرضی را از کانتینر به این پوشه کپی نمیکند.
2.حالت دوم Volume
در این حالت Volume در Docker بهصورت خودکار یک فضای ذخیرهسازی مجزا ایجاد میکند که توسط خود Docker مدیریت میشود. وقتی یک مسیر از کانتینر را به volume متصل میکنید:
اگر volume خالی باشد، Docker بهطور خودکار فایلهای پیشفرض را از مسیر مورد نظر در کانتینر به volume کپی میکند.
بنابر این Volumeها بهطور مستقل از سیستم فایل میزبان عمل میکنند و از این رو، برای ذخیرهسازی دادهها و فایلهای پیکربندی پایدار بسیار مناسب هستند.
در این حالت، حتی اگر volume خالی باشد، Docker بهصورت خودکار فایلهای تنظیمات پیشفرض را از کانتینر به volume کپی میکند و Nginx بدون مشکل اجرا میشود.
پس به عنوان نتیجه :
هنگام کار با Docker، شناخت تفاوتهای bind mount و volume میتواند از بروز مشکلات زیادی جلوگیری کند. Bind mount به شما امکان میدهد تا از مسیرهای خاص سیستم میزبان استفاده کنید، اما اگر این مسیرها خالی باشند، ممکن است باعث بروز خطا در کانتینر شوند. در مقابل، volume یک فضای مستقل فراهم میکند که Docker بهطور خودکار فایلهای پیشفرض کانتینر را در آن قرار میدهد.
👍5❤🔥2❤1
پکیج at چیست؟
گاهی پیش میاد که میخواین دستوری رو در زمان خاصی اجرا کنید ، مثلا دستور reboot رو در ساعت خاصی اجرا کنید که سرور ری استارت شود ، و این دستور قرار هست تنها یکبار اجرا شود .
ابزار Cronjob هم وجود دارد که این ابزار برای اجرای تسک ها به صورت تکراری در زمان های خاص تعریف میشود .
پکیج at ابزاری است که برای زمانبندی اجرای دستورات در یک زمان خاص در آینده استفاده میشود. این ابزار به شما امکان میدهد دستورات یا اسکریپتها را در زمانی مشخص بدون نیاز به اجرای دستی آنها اجرا کنید.
ویژگیهای اصلی پکیج at:
اجرای دستورات در آینده: میتوانید دستوری را برای اجرا در یک زمان خاص (مثل "11:00 AM امروز" یا "فردا ساعت 10:30") زمانبندی کنید.
یکبار اجرا شدن: برخلاف کرونجاب که دستورات را بهطور مکرر اجرا میکند، at فقط یکبار دستور را اجرا میکند.
سادگی: برای وظایف زمانبندیشده ساده که نیازی به تکرار ندارند، بسیار کاربردی است.
نیاز به سرویس atd: این ابزار برای کارکرد به سرویس atd وابسته است که باید در سیستم شما در حال اجرا باشد.
نصب و راهاندازی:
نصب:
روی CentOS یا RHEL، دستور زیر را اجرا کنید:
روی Ubuntu دستور زیر را اجرا کنید:
فعال کردن سرویس:
سرویس atd را فعال و شروع کنید:
زمانبندی یک دستور:
برای مثال:
این دستور سرور را در ساعت 11:00 ریاستارت میکند.
مشاهده دستورات زمانبندیشده:
لغو یک تسک:
برای لغو، شماره تسک را از atq پیدا کنید و از دستور زیر استفاده کنید:
چه زمانی از at استفاده کنیم؟
زمانی که نیاز به اجرای یک دستور در زمان مشخص بدون تکرار دارید.
برای وظایف سادهتر که نیازی به فایلهای پیچیده کرونجاب ندارند.
به طور کلی، at گزینهای مفید برای زمانبندی سریع و یکباره دستورات است.
گاهی پیش میاد که میخواین دستوری رو در زمان خاصی اجرا کنید ، مثلا دستور reboot رو در ساعت خاصی اجرا کنید که سرور ری استارت شود ، و این دستور قرار هست تنها یکبار اجرا شود .
ابزار Cronjob هم وجود دارد که این ابزار برای اجرای تسک ها به صورت تکراری در زمان های خاص تعریف میشود .
پکیج at ابزاری است که برای زمانبندی اجرای دستورات در یک زمان خاص در آینده استفاده میشود. این ابزار به شما امکان میدهد دستورات یا اسکریپتها را در زمانی مشخص بدون نیاز به اجرای دستی آنها اجرا کنید.
ویژگیهای اصلی پکیج at:
اجرای دستورات در آینده: میتوانید دستوری را برای اجرا در یک زمان خاص (مثل "11:00 AM امروز" یا "فردا ساعت 10:30") زمانبندی کنید.
یکبار اجرا شدن: برخلاف کرونجاب که دستورات را بهطور مکرر اجرا میکند، at فقط یکبار دستور را اجرا میکند.
سادگی: برای وظایف زمانبندیشده ساده که نیازی به تکرار ندارند، بسیار کاربردی است.
نیاز به سرویس atd: این ابزار برای کارکرد به سرویس atd وابسته است که باید در سیستم شما در حال اجرا باشد.
نصب و راهاندازی:
نصب:
روی CentOS یا RHEL، دستور زیر را اجرا کنید:
sudo yum install at -y
روی Ubuntu دستور زیر را اجرا کنید:
sudo apt install at -y
فعال کردن سرویس:
سرویس atd را فعال و شروع کنید:
sudo systemctl enable --now atd
زمانبندی یک دستور:
برای مثال:
echo "reboot" | at 11:00
این دستور سرور را در ساعت 11:00 ریاستارت میکند.
مشاهده دستورات زمانبندیشده:
atq
لغو یک تسک:
برای لغو، شماره تسک را از atq پیدا کنید و از دستور زیر استفاده کنید:
atrm <job_number>
چه زمانی از at استفاده کنیم؟
زمانی که نیاز به اجرای یک دستور در زمان مشخص بدون تکرار دارید.
برای وظایف سادهتر که نیازی به فایلهای پیچیده کرونجاب ندارند.
به طور کلی، at گزینهای مفید برای زمانبندی سریع و یکباره دستورات است.
🔥3❤🔥2👍2
ابزاری به نام Velero !
ابزار Velero یک ابزار متنباز برای پشتیبانگیری، بازیابی و انتقال کلسترهای Kubernetes است.
این ابزار به شما کمک میکند تا دادهها و تنظیمات محیط Kubernetes خود را بهطور ایمن ذخیره کنید و در
مواقع نیاز به راحتی بازیابی کنید.
ویژگیهای اصلی Velero شامل:
پشتیبانگیری (Backup): گرفتن بکاپ از منابع Kubernetes و دادههای مرتبط.
بازیابی (Restore): بازگرداندن کل یا بخشی از کلستر به وضعیت قبلی.
انتقال (Migration): انتقال دادهها و تنظیمات بین کلسترهای مختلف در Kubernetes
ابزار Velero از سرویسهای ابری مانند AWS S3، Azure Blob Storage و Google Cloud Storage برای
ذخیرهسازی بکاپها پشتیبانی میکند. همچنین، میتواند با Persistent Volumes کار کند تا دادههای پایدار را نیز در
فرآیند پشتیبانگیری پوشش دهد.
برای مدیران Kubernetes، Velero ابزار بسیار مفیدی است تا در مواقع خرابی یا مهاجرت کلستر،
از دست رفتن دادهها را به حداقل برسانند.
ابزار Velero یک ابزار متنباز برای پشتیبانگیری، بازیابی و انتقال کلسترهای Kubernetes است.
این ابزار به شما کمک میکند تا دادهها و تنظیمات محیط Kubernetes خود را بهطور ایمن ذخیره کنید و در
مواقع نیاز به راحتی بازیابی کنید.
ویژگیهای اصلی Velero شامل:
پشتیبانگیری (Backup): گرفتن بکاپ از منابع Kubernetes و دادههای مرتبط.
بازیابی (Restore): بازگرداندن کل یا بخشی از کلستر به وضعیت قبلی.
انتقال (Migration): انتقال دادهها و تنظیمات بین کلسترهای مختلف در Kubernetes
ابزار Velero از سرویسهای ابری مانند AWS S3، Azure Blob Storage و Google Cloud Storage برای
ذخیرهسازی بکاپها پشتیبانی میکند. همچنین، میتواند با Persistent Volumes کار کند تا دادههای پایدار را نیز در
فرآیند پشتیبانگیری پوشش دهد.
برای مدیران Kubernetes، Velero ابزار بسیار مفیدی است تا در مواقع خرابی یا مهاجرت کلستر،
از دست رفتن دادهها را به حداقل برسانند.
YouTube
Kubernetes Backups, Upgrades, Migrations - with Velero
Follow DevOps Roadmap 👉🏽 https://www.instagram.com/marceldempers
My DevOps Course 👉🏽 https://marceldempers.dev
Patreon 👉🏽http://patreon.com/marceldempers
In todays episode we will be taking a look at a tool that can help you migrate, backup and restore…
My DevOps Course 👉🏽 https://marceldempers.dev
Patreon 👉🏽http://patreon.com/marceldempers
In todays episode we will be taking a look at a tool that can help you migrate, backup and restore…
👍8❤🔥2