شبکه ی 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
(پارت چهارم)
پورت مپینگ در داکر چیست؟
پورت مپینگ در داکر یعنی اتصال پورت داخل کانتینر به یک پورت روی سیستم میزبان، تا کانتینر از بیرون قابل دسترسی باشد.
مثلاً وقتی میخواهید یک وبسایت داخل کانتینر را روی مرورگر باز کنید، با دستور زیر پورت ۸۰ داخل کانتینر را به پورت ۸۰۸۰ روی سیستم وصل میکنید:
اینجا:
۸۰۸۰ = پورت روی سیستم میزبان
۸۰ = پورت داخل کانتینر
حالا وقتی آدرس http://localhost:8080 را باز کنید، به سرویس داخل کانتینر متصل میشوید.
پورت مپینگ در داکر چیست؟
پورت مپینگ در داکر یعنی اتصال پورت داخل کانتینر به یک پورت روی سیستم میزبان، تا کانتینر از بیرون قابل دسترسی باشد.
مثلاً وقتی میخواهید یک وبسایت داخل کانتینر را روی مرورگر باز کنید، با دستور زیر پورت ۸۰ داخل کانتینر را به پورت ۸۰۸۰ روی سیستم وصل میکنید:
docker run -p 8080:80 my-container
اینجا:
۸۰۸۰ = پورت روی سیستم میزبان
۸۰ = پورت داخل کانتینر
حالا وقتی آدرس http://localhost:8080 را باز کنید، به سرویس داخل کانتینر متصل میشوید.
❤6❤🔥2👍1
شلو و دیپ کپی در پایتون مفاهیم کلیدی هستند که تفاوتهای اساسی در کپیبرداری از دادهها را توضیح میدهند.
📚 شلو کپی فقط یک سطح از دادهها را کپی میکند.
🔄 دیپ کپی تمام سطوح و زیر دادهها را به صورت مستقل کپی میکند.
⚠️ تغییرات در شلو کپی بر روی دادههای اصلی تأثیر میگذارد.
🛠️ متد copy برای ایجاد شلو کپی و deepcopy برای دیپ کپی استفاده میشود.
🔍 درک این مفاهیم برای جلوگیری از خطاهای غیرمنتظره در برنامهنویسی ضروری است.
📈 تفاوتهای شلو و دیپ کپی به برنامهنویسان کمک میکند تا کنترل بیشتری بر روی دادهها داشته باشند. درک این تفاوتها میتواند از بروز مشکلات جدی در آینده جلوگیری کند.
🔄 شلو کپی تنها اشارهگرها را کپی میکند، به این معنا که اگر دادههای اصلی تغییر کنند، دادههای کپی شده نیز تحت تأثیر قرار میگیرند. این میتواند به مشکلاتی در هنگام مدیریت دادهها منجر شود.
🌊 دیپ کپی تمام دادهها را به طور مستقل کپی میکند، به این ترتیب هرگونه تغییر در دادههای کپی شده بر روی دادههای اصلی تأثیری نخواهد گذاشت. این ویژگی برای کار با دادههای پیچیده بسیار مفید است.
🔍 استفاده از متد copy و deepcopy در پایتون به برنامهنویسان امکان میدهد تا به راحتی نوع کپیبرداری مورد نظر خود را انتخاب کنند. این انتخاب، بسته به نوع دادهها و نیازهای پروژه میتواند متفاوت باشد.
⚠️ در پروژههای بزرگ و پیچیده، عدم توجه به این مفاهیم میتواند منجر به بروز خطاهای غیرمنتظره و دشواری در عیبیابی شود.
https://youtu.be/_h4lgIcbBH0?si=E8eEDzQLe4n-1N7t
📚 شلو کپی فقط یک سطح از دادهها را کپی میکند.
🔄 دیپ کپی تمام سطوح و زیر دادهها را به صورت مستقل کپی میکند.
⚠️ تغییرات در شلو کپی بر روی دادههای اصلی تأثیر میگذارد.
🛠️ متد copy برای ایجاد شلو کپی و deepcopy برای دیپ کپی استفاده میشود.
🔍 درک این مفاهیم برای جلوگیری از خطاهای غیرمنتظره در برنامهنویسی ضروری است.
📈 تفاوتهای شلو و دیپ کپی به برنامهنویسان کمک میکند تا کنترل بیشتری بر روی دادهها داشته باشند. درک این تفاوتها میتواند از بروز مشکلات جدی در آینده جلوگیری کند.
🔄 شلو کپی تنها اشارهگرها را کپی میکند، به این معنا که اگر دادههای اصلی تغییر کنند، دادههای کپی شده نیز تحت تأثیر قرار میگیرند. این میتواند به مشکلاتی در هنگام مدیریت دادهها منجر شود.
🌊 دیپ کپی تمام دادهها را به طور مستقل کپی میکند، به این ترتیب هرگونه تغییر در دادههای کپی شده بر روی دادههای اصلی تأثیری نخواهد گذاشت. این ویژگی برای کار با دادههای پیچیده بسیار مفید است.
🔍 استفاده از متد copy و deepcopy در پایتون به برنامهنویسان امکان میدهد تا به راحتی نوع کپیبرداری مورد نظر خود را انتخاب کنند. این انتخاب، بسته به نوع دادهها و نیازهای پروژه میتواند متفاوت باشد.
⚠️ در پروژههای بزرگ و پیچیده، عدم توجه به این مفاهیم میتواند منجر به بروز خطاهای غیرمنتظره و دشواری در عیبیابی شود.
https://youtu.be/_h4lgIcbBH0?si=E8eEDzQLe4n-1N7t
YouTube
کپی سطحی و عمیق در پایتون | Shallow and Deep Copy in Python
ویدیو تفاوت is و == در پایتون
https://youtu.be/FNJ2NZxIhfs
من در شبکه های اجتماعی دیگه:
اینستاگرام
https://instagram.com/am.mthri
کانال تلگرام
https://news.1rj.ru/str/mthri_tips
توییتر
https://twitter.com/a_mthri
وبلاگ
https://iamamir.ir
https://youtu.be/FNJ2NZxIhfs
من در شبکه های اجتماعی دیگه:
اینستاگرام
https://instagram.com/am.mthri
کانال تلگرام
https://news.1rj.ru/str/mthri_tips
توییتر
https://twitter.com/a_mthri
وبلاگ
https://iamamir.ir
❤🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
The difference between distracted mind and focused mind!
❤🔥3👍1
چرا Kubernetes دیگه از داکر استفاده نمیکنه؟
در واقع Kubernetes از نسخه 1.20 به بعد، دیگر به طور رسمی از Docker به عنوان Container Runtime پشتیبانی نمیکند، چون Docker به عنوان یک runtime با استاندارد CRI (Container Runtime Interface) سازگار نیست. این تصمیم به دلایل زیر گرفته شده است:
1. عدم سازگاری با CRI
کوبر یا Kubernetes برای تعامل با container runtime از CRI استفاده میکند. Docker این استاندارد را به طور مستقیم پشتیبانی نمیکند، بلکه برای کار با Kubernetes نیاز به یک لایهی واسطه به نام dockershim دارد. حذف این واسطه، عملکرد Kubernetes را سادهتر و کارآمدتر میکند.
2. مصرف منابع اضافی
داکر یا Docker به عنوان یک ابزار کامل (شامل مدیریت ایمیج، logging و غیره) طراحی شده که برخی از این قابلیتها در Kubernetes غیرضروری هستند. استفاده از Docker باعث مصرف منابع بیشتری نسبت به runtimeهای سادهتر مثل containerd یا CRI-O میشود.
3. جایگزینهای سبکتر و استانداردتر
کوبر یا Kubernetes به runtimeهایی مثل containerd و CRI-O سوئیچ کرده است، که به طور بومی با CRI سازگارند و برای مدیریت کانتینرهای Kubernetes طراحی شدهاند. این ابزارها سادهتر، سبکتر و کارآمدتر هستند.
آیا Docker کاملاً حذف شده؟
خیر، اگر هنوز از Docker استفاده میکنید، Kubernetes به کمک dockershim همچنان کار میکند، اما این پشتیبانی deprecated است و بهتر است به containerd یا CRI-O مهاجرت کنید.
نکته: Docker همچنان برای ساخت و مدیریت ایمیجها استفاده میشود و ابزاری محبوب در توسعه و تست باقی مانده است.
در واقع Kubernetes از نسخه 1.20 به بعد، دیگر به طور رسمی از Docker به عنوان Container Runtime پشتیبانی نمیکند، چون Docker به عنوان یک runtime با استاندارد CRI (Container Runtime Interface) سازگار نیست. این تصمیم به دلایل زیر گرفته شده است:
1. عدم سازگاری با CRI
کوبر یا Kubernetes برای تعامل با container runtime از CRI استفاده میکند. Docker این استاندارد را به طور مستقیم پشتیبانی نمیکند، بلکه برای کار با Kubernetes نیاز به یک لایهی واسطه به نام dockershim دارد. حذف این واسطه، عملکرد Kubernetes را سادهتر و کارآمدتر میکند.
2. مصرف منابع اضافی
داکر یا Docker به عنوان یک ابزار کامل (شامل مدیریت ایمیج، logging و غیره) طراحی شده که برخی از این قابلیتها در Kubernetes غیرضروری هستند. استفاده از Docker باعث مصرف منابع بیشتری نسبت به runtimeهای سادهتر مثل containerd یا CRI-O میشود.
3. جایگزینهای سبکتر و استانداردتر
کوبر یا Kubernetes به runtimeهایی مثل containerd و CRI-O سوئیچ کرده است، که به طور بومی با CRI سازگارند و برای مدیریت کانتینرهای Kubernetes طراحی شدهاند. این ابزارها سادهتر، سبکتر و کارآمدتر هستند.
آیا Docker کاملاً حذف شده؟
خیر، اگر هنوز از Docker استفاده میکنید، Kubernetes به کمک dockershim همچنان کار میکند، اما این پشتیبانی deprecated است و بهتر است به containerd یا CRI-O مهاجرت کنید.
نکته: Docker همچنان برای ساخت و مدیریت ایمیجها استفاده میشود و ابزاری محبوب در توسعه و تست باقی مانده است.
❤🔥4
خطای "we can't sign in to your account" زمانی رخ میدهد که ویندوز قادر به بارگذاری پروفایل کاربر نیست. این مشکل بهخصوص در مورد پروفایلهای رومینگ شایع است.
حالا این خطا یا زمانی که میخواهید ریموت دسکتاپ بزنید نمایش داده میشه و یا زمانی که میخواهید به صورت لوکال به سیستم متصل بشید .
راه حلی که در حال حاضر من تونستم باهاش مشکل رو رفع کنم این بود که وارد مسیر زیر شدم :
Settings -> System -> About -> Advanced System Settings
در این جا وارد تب Advanced میشویم و در قسمت User profiles گزینه ی Settings رو انتخاب میکنیم.
در نهایت یوزری رو که این ایراد براش پیش اومده رو از توی لیست پیدا کرده ( برای من اینجور نمایش داده میشه که Status یوزر به حالت backup تغییر کرده ) و گزینه ی Delete رو میزنیم .
این کار اطلاعات پروفایل یوزر رو حذف میکنه و مجدد که یوزر بخواد لاگین کنه ، به احتمال خیلی زیاد همه چی به روال قبل برمیگرده
نکته ی مهم : حتما از پروفایل یوزر و اطلاعات مهم او بکاب بگیرید که تو انجام این کار داستانی پیشنیاد.
حالا این خطا یا زمانی که میخواهید ریموت دسکتاپ بزنید نمایش داده میشه و یا زمانی که میخواهید به صورت لوکال به سیستم متصل بشید .
راه حلی که در حال حاضر من تونستم باهاش مشکل رو رفع کنم این بود که وارد مسیر زیر شدم :
Settings -> System -> About -> Advanced System Settings
در این جا وارد تب Advanced میشویم و در قسمت User profiles گزینه ی Settings رو انتخاب میکنیم.
در نهایت یوزری رو که این ایراد براش پیش اومده رو از توی لیست پیدا کرده ( برای من اینجور نمایش داده میشه که Status یوزر به حالت backup تغییر کرده ) و گزینه ی Delete رو میزنیم .
این کار اطلاعات پروفایل یوزر رو حذف میکنه و مجدد که یوزر بخواد لاگین کنه ، به احتمال خیلی زیاد همه چی به روال قبل برمیگرده
نکته ی مهم : حتما از پروفایل یوزر و اطلاعات مهم او بکاب بگیرید که تو انجام این کار داستانی پیشنیاد.
❤🔥6
قطعا راه حل های دیگری هم وجود داره که من از اونا بی اطلاع هستم و حتی از چرایی این ایراد هم اطلاعات کافی ندارم .
راه هایی هم مثل ری استارت و خراج شدن از دامین و جوین شدن مجدد رو هم امتحان کردم اما جوابی نگرفتم .
لطفا اگر شما در این مورد راه حل مناسبی دارید خوشحال میشیم با ما درمیون بزارید :
آدرس ربات کانال :
https://news.1rj.ru/str/bootrampbot
راه هایی هم مثل ری استارت و خراج شدن از دامین و جوین شدن مجدد رو هم امتحان کردم اما جوابی نگرفتم .
لطفا اگر شما در این مورد راه حل مناسبی دارید خوشحال میشیم با ما درمیون بزارید :
آدرس ربات کانال :
https://news.1rj.ru/str/bootrampbot
❤🔥5
10 ابزار انقلابی هوش مصنوعی به انتخاب مجله تایم
مجله تایم فهرستی از 200 اختراع برتر سال 2024 که زندگی ما را تغییر میدهند، تهیه کرده است. ما 10 مورد جالب در زمینه هوش مصنوعی را از این فهرست انتخاب کردهایم.
. Wafer-Scale Engine 3:
بزرگترین پردازنده در تاریخ، طراحی شده برای آموزش شبکههای عصبی با تعداد پارامترهای تا 24 تریلیون (تقریباً 10 برابر بیشتر از ChatGPT-4 یا Gemini).
. AlphaFold 3:
ابزار Google DeepMind برای پیشبینی ساختار سهبعدی پروتئینها که به دمیس هاسابیس و جان جامپر کمک کرد تا جایزه نوبل شیمی را کسب کنند.
. Gen-3 Alpha:
مدلی برای تولید ویدئوهای با کیفیت بالا توسط Runway. شبکههای عصبی این شرکت در ساخت فیلم "همهجا، همهچیز، یکباره" (برنده اسکار بهترین فیلم سال 2023) استفاده شدند.
. Rizz:
اپلیکیشنی که مکالمات در سرویسهای دوستیابی را تحلیل میکند و پیشنهادات بهتری برای برقراری ارتباط ارائه میدهد.
. Cohere Command R+:
پلتفرمی برای بهینهسازی فرآیندهای کسبوکار. قابلیت تهیه اسناد، ارسال ایمیلها، پاسخگویی به چندین زبان و حل مسائل را دارد.
. X Bellwether:
سیستمی برای پیشبینی بلایای طبیعی و ارزیابی پیامدهای آنها که پنتاگون هم اکنون از آن استفاده میکند.
. Captions:
سرویسی که به صورت خودکار ویدئوها را به دهها زبان ترجمه میکند، زیرنویس اضافه میکند و حرکت لبها را با گفتار همزمان میکند. این اپلیکیشن بیش از 10 میلیون بار دانلود شده است.
. Google NotebookLM:
مستندات حجیم را خلاصه میکند و هر متنی را با یک کلیک به پادکست با دو مجری هوش مصنوعی تبدیل میکند.
. AI Seer Facticity.AI:
یک چککننده حقایق که به گفته سازندگان، با دقت تا 92٪ میتواند شایعات را شناسایی کند.
. Abridge:
دستیاری که کارهای دفتری پزشکان را انجام میدهد و بیش از 50,000 پزشک از آن استفاده میکنند.
مجله تایم فهرستی از 200 اختراع برتر سال 2024 که زندگی ما را تغییر میدهند، تهیه کرده است. ما 10 مورد جالب در زمینه هوش مصنوعی را از این فهرست انتخاب کردهایم.
. Wafer-Scale Engine 3:
بزرگترین پردازنده در تاریخ، طراحی شده برای آموزش شبکههای عصبی با تعداد پارامترهای تا 24 تریلیون (تقریباً 10 برابر بیشتر از ChatGPT-4 یا Gemini).
. AlphaFold 3:
ابزار Google DeepMind برای پیشبینی ساختار سهبعدی پروتئینها که به دمیس هاسابیس و جان جامپر کمک کرد تا جایزه نوبل شیمی را کسب کنند.
. Gen-3 Alpha:
مدلی برای تولید ویدئوهای با کیفیت بالا توسط Runway. شبکههای عصبی این شرکت در ساخت فیلم "همهجا، همهچیز، یکباره" (برنده اسکار بهترین فیلم سال 2023) استفاده شدند.
. Rizz:
اپلیکیشنی که مکالمات در سرویسهای دوستیابی را تحلیل میکند و پیشنهادات بهتری برای برقراری ارتباط ارائه میدهد.
. Cohere Command R+:
پلتفرمی برای بهینهسازی فرآیندهای کسبوکار. قابلیت تهیه اسناد، ارسال ایمیلها، پاسخگویی به چندین زبان و حل مسائل را دارد.
. X Bellwether:
سیستمی برای پیشبینی بلایای طبیعی و ارزیابی پیامدهای آنها که پنتاگون هم اکنون از آن استفاده میکند.
. Captions:
سرویسی که به صورت خودکار ویدئوها را به دهها زبان ترجمه میکند، زیرنویس اضافه میکند و حرکت لبها را با گفتار همزمان میکند. این اپلیکیشن بیش از 10 میلیون بار دانلود شده است.
. Google NotebookLM:
مستندات حجیم را خلاصه میکند و هر متنی را با یک کلیک به پادکست با دو مجری هوش مصنوعی تبدیل میکند.
. AI Seer Facticity.AI:
یک چککننده حقایق که به گفته سازندگان، با دقت تا 92٪ میتواند شایعات را شناسایی کند.
. Abridge:
دستیاری که کارهای دفتری پزشکان را انجام میدهد و بیش از 50,000 پزشک از آن استفاده میکنند.
TIME
200 Best Inventions of 2024
Groundbreaking innovations that are making the world better, smarter, and a little more fun
🔥3❤🔥1
The_Linux_Command_Line_A_Complete_Introduction_William_E_Shotts.pdf
7.1 MB
کتاب "The Linux Command Line" نوشتهی ویلیام شاتس، در نسخهی دوم خود، به عنوان یک راهنمای کامل برای کاربران لینوکس ارائه شده است. این کتاب با تمرکز بر خط فرمان لینوکس، ابزارها و دستورات اصلی این سیستمعامل را به تفصیل توضیح میدهد. تصویر روی جلد کتاب یک ربات را نشان میدهد که دستورات مختلف خط فرمان لینوکس را از دهان خود بیرون میدهد، که نمادی از استفاده گسترده و قدرت این ابزارها در دنیای لینوکس است.
🔥3❤🔥1