<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>اجزا و مفاهیم کوبرنتیز آرشیو - بلاگ هم‌روش</title>
	<atom:link href="https://hamravesh.com/blog/tag/kubernetes_concepts_components/feed/" rel="self" type="application/rss+xml" />
	<link>https://hamravesh.com/blog/tag/kubernetes_concepts_components/</link>
	<description>بلاگ رسمی هم‌روش</description>
	<lastBuildDate>Mon, 27 Oct 2025 07:36:21 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://hamravesh.com/blog/wp-content/uploads/2026/05/cropped-typeGeneral-32x32.png</url>
	<title>اجزا و مفاهیم کوبرنتیز آرشیو - بلاگ هم‌روش</title>
	<link>https://hamravesh.com/blog/tag/kubernetes_concepts_components/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>کوبرنتیز چیست؟ راهنمای کوبرنتیز به زبان ساده</title>
		<link>https://hamravesh.com/blog/what-is-kubernetes/</link>
					<comments>https://hamravesh.com/blog/what-is-kubernetes/#respond</comments>
		
		<dc:creator><![CDATA[هم‌روش]]></dc:creator>
		<pubDate>Tue, 13 Dec 2022 08:25:34 +0000</pubDate>
				<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کوبرنتیز]]></category>
		<category><![CDATA[اجزا و مفاهیم کوبرنتیز]]></category>
		<guid isPermaLink="false">https://blog.hamravesh.com/blog/?p=242</guid>

					<description><![CDATA[<p>کوبرنتیز (kubernetes یا K8s) یکی از پر کاربردترین ابزارهای مدیریت کانتینرها در حوزه زیرساخت است که مدیریت کانتینرهای داکری را به شیوه‌ای خودکار انجام می‌دهد. با استفاده از کوبزنتیز دیگر نیازی به مدیریت کانتینرها به‌صورت دستی نیست. </p>
<p>The post <a href="https://hamravesh.com/blog/what-is-kubernetes/">کوبرنتیز چیست؟ راهنمای کوبرنتیز به زبان ساده</a> appeared first on <a href="https://hamravesh.com/blog">بلاگ هم‌روش</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کوبرنتیز از آن دسته از ابزارها و پلتفرم‌هایی است که فرایند یادگیری‌اش با پیچیدگی‌هایی همراه است. ما در وبلاگ هم‌روش قصد داریم مجموعه‌‌ای از مطالب و ویدئو‌های <a href="https://hamravesh.com/blog/learning-kubernetes/">آموزشی کوبرنتیز</a> برای‌تان آماده کنیم. </span></p>
<p><span style="font-weight: 400;"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-252 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P2.jpg" alt="لوگو کوبرنتیز" width="800" height="214" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P2.jpg 800w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P2-300x80.jpg 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P2-768x205.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">برای شروع و پیش از ورود به جزئیات فنی باید درک کلی از این ابزار و اجزای مختلفش  داشته باشیم. در ادامه سعی می‌کنیم مروری کلی بر این ابزار داشته باشیم. </span></p>
<h2 class="global-rtl">کوبرنتیز چیست؟</h2>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">احتمالاً وقتی شما هم برای اولین بار به واژه کوبرنتیز برخوردید کمی این واژه برای‌تان عجیب بود. یکی از روش‌های معمول در نام‌گذاری‌های علمی و فنی استفاده از مفاهیمی است که ریشه‌های یونانی دارد. </span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کوبرنتیز هم از واژه یونانی </span><span class="global-rtl" style="font-weight: 400;">κυβερνήτης گرفته شده است و به معنای سکان‌دار یا ناخدای کشتی است.  حتماً شما هم موافقید که این واژه برای نامیدن  ابزاری که قرار است هر روز درباره‌اش حرف بزنید و یا راجع </span><span class="global-rtl" style="font-weight: 400;">به آن بنویسید واژه‌ای طولانی است. به همین‌خاطر  بسیاری آن را به صورت K8s می‌نویسند. K حرف اول کوبرنتیز و s حرف آخر آن است و 8 نشان دهنده تعداد حروف بین K و s.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"> البته این نام‌گذاری چندان هم بی‌ربط نیست و اشاره‌ای به کارکرد کوبرنتیز دارد؛ کار کوبرنتیز مدیریت و راهبری کانتینرهاست و تصویر سکانی که در لوگوی کوبرنتیز استفاده شده دقیقاً بیانگر همین ویژگی کوبرنتیز است. </span><span class="global-rtl" style="font-weight: 400;">کوبرنتیز مدیریت کانتینرها را به شیوه‌ای خودکار انجام می‌دهد. با استفاده از کوبرنتیز دیگر نیازی به مدیریت کانتینرها به‌صورت دستی نیست.</span></p>
<h2 class="global-rtl"><img decoding="async" class="aligncenter wp-image-261 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/x10.png" alt="کوبرنتیز در یونانی به معنای سکان کشتی است" width="624" height="416" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/x10.png 624w, https://hamravesh.com/blog/wp-content/uploads/2022/12/x10-300x200.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></h2>
<h2></h2>
<h2></h2>
<h2></h2>
<h2 class="global-rtl">چرا از کوبرنتیز استفاده می‌کنیم؟</h2>
<h3 class="global-rtl"><strong class="global-rtl">استفاده از سرور‌های فیزیکال و مشکلات آن</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">جمله‌ معروفی وجود دارد که می‌گوید: «در آغاز کلمه بود». اگر بخواهیم تاریخ رسیدن به استفاده از کوبرنتیز را از همان اول بررسی کنیم باید بگوییم: «در آغاز فلز بود»؛ منظورمان همان سرورهای فیزیکی است.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">سال‌ها قبل، معمولاً اپلیکیشن‌ها را مستقیماً بر روی سرور‌های فیزیکی مستقر می‌کردند. در این حالت بر روی سرور، یک سیستم عامل و کتابخانه‌های مورد نیاز نصب می‌شد و بعد اپلیکیشن روی سرور مستقر می‌شد.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">در اغلب موارد بر روی هر کدام از این سرورها فقط یک اپلیکیشن اجرا می‌شد. چرایی انجام این کار هم به این برمی‌گشت که اگر چند اپلیکیشن روی یک سرور بالا می‌آمد، این اپ‌ها در کار هم‌دیگر تداخل ایجاد می‌کردند.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"> مشکلی که این روش داشت این بود که هر چقدر که تعداد اپلیکیشن‌ها بیشتر می‌شد مجبور بودیم سرورهای بیشتری داشته باشیم و این به‌معنای صرف هزینه بیشتر بود. </span></p>
<h3><strong class="global-rtl">استفاده از ماشین مجازی</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">مشکلاتی که استفاده از سرور فیزیکال داشت راه را برای استفاده از فناوری جدیدتر ماشین‌های مجازی، و به‌طورکلی مجازی‌سازی، باز کرد. با استفاده از این فناوری می‌شد بر روی هر سرور محیط‌های ایزوله (ماشین‌های مجازی) ایجاد کرد و اپلیکیشن‌ها را بر روی آن اجرا کرد. فناوری مجازی‌سازی بسیار کارآمدتر از روش‌ قبلی بود؛ چرا که این امکان را می‌داد تا چندین اپلیکیشن را روی یک سرور اجرا کرد. </span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">اما در این روش نیز مشکلاتی وجود داشت. مثلاً هر <a class="global-rtl" href="https://hamravesh.com/blog/what-is-virtual-machine/">ماشین مجازی</a> به یک سیستم عامل جداگانه نیاز دارد. این یعنی پیش از اینکه اپلیکیشن خود را بالا بیاوریم بخش قابل توجهی از فضای ذخیره‌سازی و منابع محاسباتی سرور صرف نصب و بالا آوردن پیش‌نیازهای اجرای ماشین‌های مجازی می‌شود. </span></p>
<h3 class="global-rtl"><strong class="global-rtl">عصر اپلیکیشن‌های کانتینری‌شده</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">با همه‌گیر شدن معماری میکروسرویس و توسعه نرم‌افزار به‌صورت اپلیکیشن‌های متعدد، کاستی‌ها و کمبودهای استفاده از ماشین‌ مجازی بیشتر به چشم می‌آمد. عصر کانتینرها در چنین فضایی آغاز شد.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"> بدون صحبت درباره کانتینرها و فرایند ساختن اپلیکیشن‌های کانتنری‌شده نمی‌توان درباره کوبرنتیز صحبت کرد.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"><img decoding="async" class="aligncenter wp-image-253 size-large" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P4-1024x430.jpg" alt="تفاوت ماشین مجازی و کانتینر" width="1024" height="430" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P4-1024x430.jpg 1024w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P4-300x126.jpg 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P4-768x322.jpg 768w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P4-1536x645.jpg 1536w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P4-2048x860.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" />در کانتینرها از ویژگی‌های لینوکسی مانند namespace</span><span style="font-weight: 400;">ها</span> <span class="global-rtl" style="font-weight: 400;">و cgroupها برای ایجاد سطح مشخصی از جداسازی در ذخیره‌سازی، منابع محاسباتی و شبکه استفاده می‌شود.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">در کانتینرها دیگر مانند ماشین‌های مجازی لازم نیست برای هر اپلیکیشن یک سیستم عامل جداگانه داشته باشیم. همه کانتینرها می‌توانند از یک سیستم عامل مشترک استفاده کنند. به همین خاطر، اپلیکیشن‌های کانتینری‌شده بسیار سبک‌تر از ماشین‌های مجازی هستند. </span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">در حال حاضر، بیشتر از داکر برای ساختن اپلیکیشن‌های کانتینری استفاده می‌شود. </span></p>
<h3 class="global-rtl"><strong class="global-rtl">کوبرنتنیز؛ راه‌حلی برای مدیریت اپلیکیشن‌های کانتینری</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">فناوری کوبرنتیز بر روی شانه‌های پیشرفت‌های پیش از خود ایستاده است. استفاده از اپلیکیشن‌های کانتینری‌شده با اینکه مشکلات مربوط به فناوری‌های قبلی را حل کرد، اما مشکلات جدیدی نیز با خود به همراه آورد.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">در معماری میکروسریس که امروزه رایج‌ترین معماری در توسعه و استقرار اپلیکیشن‌هاست ما با تعداد زیادی اپلیکشن کانیتنری‌شده مواجه هستیم. این کانتینرها را چطور می‌شود مدیریت کرد؟</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">اینجا نیاز به داشتن پلتفرم‌هایی برای مدیریت اپ‌های کانتینری شده احساس شد. تلاش‌هایی برای ساختن پلتفرم‌های ارکستریشن کانیتنرها صورت گرفت و ابزارهایی توسعه داد شد. یکی از مشهورترین ابزارها همین کوبرنتیز بود.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کوبرنتیز پلتفرمی است که با خودکارسازی بسیاری از فرایندهای مربوط به اپلیکیشن‌های کانتینری کار را برای تیم‌های فنی آسان‌تر می‌سازد. </span></p>
<h2 class="global-rtl">کوبرنتیز و داکر؛ چطور این دو ابزار در کنار هم کار می‌کنند؟</h2>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">شاید رابطه میان کوبرنتیز و داکر برای‌تان کمی گیج‌کننده باشد. برای درک ساده‌تر تفاوت این ابزارها بهتر است این را در نظر داشته باشید که داکر ابزاری است که با آن اپلیکیشن‌های کانتینری را می‌سازیم. در حالی که کوبرنتیز کارش مدیریت این اپلیکیشن‌هاست.</span></p>
<h2><img loading="lazy" decoding="async" class="aligncenter wp-image-254 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P5.jpg" alt="تفاوت کوبرنتیز با داکر" width="800" height="600" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P5.jpg 800w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P5-300x225.jpg 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P5-768x576.jpg 768w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P5-86x64.jpg 86w" sizes="auto, (max-width: 800px) 100vw, 800px" />کلاستر کوبرنتیز چیست؟</h2>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">یک سیستم کوبرنتیز با تمام اجزای آن را یک کلاستر می‌گویند. کلاستر را هم می‌توان روی یک ماشین فیزیکال واقعی (مانند لپ‌تاپ یا پی سی ) و یا روی ماشین مجازی اجرا کرد. اگر شما فقط یک ماشین داشته باشید و یک سیستم کامل کوبرنتیز روی آن اجرا کرده باشید شما یک کلاستر کوبرنتیز خواهید داشت.</span></p>
<h2 class="global-rtl"><img loading="lazy" decoding="async" class="aligncenter wp-image-262 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/x11.png" alt="یک کلاستر کوبرنتیز" width="624" height="348" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/x11.png 624w, https://hamravesh.com/blog/wp-content/uploads/2022/12/x11-300x167.png 300w" sizes="auto, (max-width: 624px) 100vw, 624px" /></h2>
<h2></h2>
<h2></h2>
<h2 class="global-rtl">معماری و اجزای کوبرنتیز</h2>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">برای اینکه بدانیم کوبرنتیز چگونه می‌تواند کار ارکستریشن کانتینرها را انجام دهد، خوب است درکی کلی از معماری کوبرنتیز داشته باشیم. کلاستر کوبرنتیز لااقل از یک node مستر ( یا control plane) و تعدادی node ورکر (Worker node) ساخته شده است. بر روی هر کدام از این nodeها تعدادی پردازش در حال انجام است.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"><img loading="lazy" decoding="async" class="aligncenter wp-image-255 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P7-scaled.jpg" alt=" master node vs worker nodes" width="2560" height="1920" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P7-scaled.jpg 2560w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P7-300x225.jpg 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P7-1024x768.jpg 1024w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P7-768x576.jpg 768w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P7-1536x1152.jpg 1536w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P7-2048x1536.jpg 2048w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P7-86x64.jpg 86w" sizes="auto, (max-width: 2560px) 100vw, 2560px" />بر روی هر کدام از nodeهای ورکر کانتینرهایی وجود دارد که بر روی هر کدام اپلکیشنی قرار دارد. کار اصلی در کوبرنتیز در node ورکر انجام می‌شود و اپلیکیشن‌های شما در آنجا اجرا می‌شود. </span></p>
<h3><strong>Control plane</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">سوالی که اینجا پیش می‌آید این است که اگر کانتینرهای ما بر روی worker nodeها قرار دارند، پس control plane چه کاری انجام می‌دهد؟</span><span class="global-rtl" style="font-weight: 400;">به‌طورکلی، control plane تعدادی از پردازش‌های کوبرنتیزی را که برای اجرا و مدیریت کلاسترها لازم است انجام می‌دهد.</span></p>
<h3><strong>node</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کوبرنتیز ابزاری است که مفاهیم خاص خود را دارد.  Node یکی از مفاهیمی است که در ادبیات مربوط به کوبرنتیز زیاد استفاده می شود. در نگاه اول شاید مفهوم node برای شما مبهم باشد. اما نگران نباشید. برای درک مفهوم node کافی است به این فکر کنید که ما کلاستر کوبرنتیز را در خلاء نمی‌سازیم. بالاخره به یک سرور فیزیکی یا ماشین مجازی نیاز داریم تا کلاستر خود را روی آن بسازیم. Nodeها همین ماشین‌های فیزیکال یا مجازی هستند. بنابراین node را با کوبرنتیز نمی‌سازیم بلکه کوبرنتیز و کانتینرها را روی این نودها بالا می‌آوریم.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"><img loading="lazy" decoding="async" class="aligncenter wp-image-256 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P8.jpg" alt="node چیست؟" width="800" height="600" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P8.jpg 800w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P8-300x225.jpg 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P8-768x576.jpg 768w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P8-86x64.jpg 86w" sizes="auto, (max-width: 800px) 100vw, 800px" />معمولاً  در هر کلاستر چند node داریم؛ اما ممکن است در آموزش کوبرنتیز یا وقتی با کمبود منابع مواجه هستیم صرفاً از یک node استفاده شود.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">گفتیم که nodeها با استفاده از کوبرنتیز ساخته نمی‌شوند. پس چطور node می‌سازیم؟ nodeها را می‌توان به‌صورت دستی ساخت یا از سرویس‌های ابر عمومی استفاده کرد. </span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">بنابراین پیش از استفاده از کوبرنتیز، برای دیپلوی کردن اپلیشکن‌ها، نیاز داریم یک زیرساخت اساسی و پایه‌ای آماده کرده باشیم. بر روی هر node می‌تواند چند پاد  اجرا کرد.</span></p>
<h3><strong>API Server</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">یکی از این پردازش‌ها API Server است. ای‌پی‌آی سرور مدخل و دروازه ورود به کلاستر کوبرنتیز است. کلاینت‌های مختلف کوبرنتیز مثل UI دشبورد، api و ابزار کامندلاینی با API Server ارتباط برقرار می‌کنند.</span></p>
<h3><strong>controller manager</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">پردازش دیگری که بر روی control plane انجام می‌شود controller manager است. این پردازش کلیت و مختصری از اتفاقاتی را که بر روی کلاستر می‌افتد در خود نگه می‌دارد؛ مثلا اگر چیزی به تعمیر و ترمیم نیاز داشته باشد یا اگر کانتینری از بین رفته باشد و نیاز به شروع مجدد داشته باشد از طریق همین پردازش رصد می‌شود.</span></p>
<h3><strong>scheduler</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">Scheduler یکی دیگر از پردازش‌های مهمی است که بر روی نود مستر(control plane) انجام می‌شود.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">همانطور که از اسمش هم مشخص است، scheduler کانتینرهایی را که روی nodeهای مختلف قرار دارند، بر اساس حجم کاری و منابع موجود بر روی هر node زمان‌بندی می‌کنه. منظور از زمان‌بندی در اینجا این است که schedulerجای هر کانتینر را روی node پیدا می‌کند.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">در واقع scheduler فرایندی هوشمند است که تصمیم می‌گیرد بر اساس منابع آزادی که هر کدام از worker nodeها دارند کانتینر بعدی باید روی کدام یکی از آن‌ها بنشیند.</span></p>
<h3><img loading="lazy" decoding="async" class="aligncenter wp-image-263 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/x13.png" alt="معماری کوبرنتیز" width="800" height="454" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/x13.png 800w, https://hamravesh.com/blog/wp-content/uploads/2022/12/x13-300x170.png 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/x13-768x436.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" /><strong>etcd</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کار <a href="https://hamravesh.com/blog/what-is-etcd-in-kubernetes/" target="_blank" rel="noopener"><strong>etcd</strong></a> ذخیره‌ وضعیت کلاستر در هر لحظه است. به خاطر همین، تمام داده‌های مربوط به پیکربندی کلاستر در etcd قرار دارد. همچنین etcd تمام اطلاعات مربوط به هر node و کانتینرهای درون آن را نیز در خود ذخیره می‌کند.</span></p>
<h2 class="global-rtl"><img loading="lazy" decoding="async" class="aligncenter wp-image-257 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P10.jpg" alt="etcd در کوبرنتیز" width="800" height="600" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P10.jpg 800w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P10-300x225.jpg 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P10-768x576.jpg 768w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P10-86x64.jpg 86w" sizes="auto, (max-width: 800px) 100vw, 800px" /><strong class="global-rtl">آبجکت‌های کوبرنتیز</strong></h2>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">یکی از راه‌های آشنایی با کوبرنتیز شناخت مفاهیم و ابزارهای مربوط به آن است:</span></p>
<h3><strong class="global-rtl">پاد</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">داستان کوبرنتیز از <a href="https://hamravesh.com/blog/what-is-kubernetes-pod/" target="_blank" rel="noopener"><strong class="global-rtl">پاد</strong></a> شروع می‌شود. در واقع، بنیادی‌ترین و کوچک‌ترین واحد کوبرنتیز پاد است. پادها کار میزبانی از کانتینرها را انجام می‌دهند. داخل هر پاد می‌توان یک یا چند کانتینر مرتبط به هم قرار داد.</span><span style="font-weight: 400;">  </span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">همان‌طور که گفتیم، معمولاً به‌ازای هر اپلیکیشن یک پاد داریم. مسئله بعدی نحوه تعامل پادها با همدیگر است. هر پاد آدرس IP خود را دارد. پادها از طریق همین آی‌پی آدرس‌ها با هم تعامل می‌کنند. طبیعتاً این IP آدرس یک آی‌پی داخلی است نه عمومی.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">مثلاً در تصویر زیر، سمت چپ، ما یک node داریم با دو پاد؛ پاد اپ و پاد دیتابیس. این پادها می‌توانند از طریق IP با هم ارتباط بگیرند.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">یکی از مهم‌ترین ویژگی پادها Ephemeral بودنشان است. این یعنی پادها به‌راحتی از بین می‌روند. با از بین رفتن یک پاد، پاد دیگری جایش را می گیرد و آدرس IP جدیدی برایش ساخته می‌شود.</span></p>
<h3><img loading="lazy" decoding="async" class="aligncenter wp-image-258 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P11.jpg" alt="پاد در کوبرنتیز" width="548" height="480" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P11.jpg 548w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P11-300x263.jpg 300w" sizes="auto, (max-width: 548px) 100vw, 548px" /></h3>
<h3></h3>
<h3></h3>
<h3><strong class="global-rtl">سرویس</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">یکی دیگر از object‌های کوبرنتیز است. گفتیم که مسئله‌ای که در کار با پادها ممکن است پیش بیاید این است که با از بین رفتن یک پاد آدرس آی‌پی آن نیز از بین می‌رود و پاد جدیدی که ساخته می‌شود آدرس IP مختص به خود را دارد. سرویس مشکل تغییر آدرس IP پادها را حل می‌کند. سرویس‌ها مهم‌ترین ابزار تعامل پادها با هم‌دیگر هستند.  نکته مثبت سرویس‌ها این است که حیات سرویس‌ها به پادها وابسته نیست. بنابراین وقتی پادی از بین می‌رود و جایش را پاد جدیدی می گیرد، سرویس تغییری نمی‌کند.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"> سرویس‌ها به دو دسته تقسیم می‌شوند: سرویس‌ داخلی و سرویس خارجی. </span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">در واقعیت و کار روزمره، شما می‌خواهید اپلیکیشن‌تان از طریق مرورگر در دسترس باشد. برای این کار شما باید یک سرویس خارجی ایجاد کنید.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">نحوه تعیین سرویس داخلی و خارجی نیز به این شکل است که هنگام ایجاد سرویس ما مشخص می‌کنیم که می‌خواهیم سرویس‌مان خارجی باشد یا داخلی؛ مثلاً در تصویر بالا شما قصد ندارید که از مرورگر به دیتابیس‌تان دسترسی داشته باشید؛ بنابراین هنگام ایجاد سرویس، آن را روی سرویس داخلی قرار می‌دهید.</span></p>
<h3><strong>ingress</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">راه‌های مختلفی برای نمایش دادن و دسترسی داشتن به یک کلاستر از بیرون آن وجود دارد. شما باید بر اساس کاری که می‌کنید و بسته به نیازتان یکی از این روش‌ها را انتخاب کنید. Ingress هم یکی از همین روش‌های دسترسی و نمایش دادن جزئیات کلاستر است. اینگرس API آبجکتی است که دسترسی به سرویس‌های درون یک کلاستر را از بیرون، معمولاً با استفاده از HTTP، فراهم می‌کند. شما می‌توانید قواعدی برای هر دسترسی از طریق ingress  تعریف بکنید. </span></p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-243 size-full" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/INGRESS.png" alt="اینگرس یا ingress" width="851" height="289" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/INGRESS.png 851w, https://hamravesh.com/blog/wp-content/uploads/2022/12/INGRESS-300x102.png 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/INGRESS-768x261.png 768w" sizes="auto, (max-width: 851px) 100vw, 851px" /></p>
<h3><strong>configmap</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کانفیگ مپ API آبجکتی است که داده‌ها را به‌صورت دیکشنری درون خود نگه‌داری می‌کند. پادها می‌توانند از configmapها به‌عنوان فایل‌های پیکربندی یا متغیرهای محیطی استفاده کنند.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">با استفاده از configmap شما کد اپلیکیشنتان را از فایل پیکربندی جدا می‌کنید.  </span></p>
<h3><strong>secret</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">هر پاد اطلاعات محرمانه خاص خود را دارد. سوالی که پیش می‌آید این است که این اطلاعات چطور ذخیره می‌شود و چطور می‌شد آن‌ها را تغییر داد؟ این اطلاعات در کانفیگ مپ نیست. در کوبرنتیز بخش دیگری به نام secret برای این مدل اطلاعات داریم.</span></p>
<h3><strong>volume</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">مسئله مهم دیگر در کوبرنتیز به نحوه ذخیره‌سازی داده برمی‌گردد. </span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">همانطور که گفتیم پادها خیلی سریع از بین می‌روند. اگر پاد از بین برود اطلاعاتش نیز از بین می‌رود. این مسئله باعث ناکارآمدی ابزار می‌شود. راه‌حل کوبرنتیز استفاده از volume است. volume، اطلاعات پاد را ذخیره می‌کند. volume هم می‌تواند داخل کلاستر کوبرنتیز باشد هم بیرون از آن. </span></p>
<h3><strong>deployment</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">دیپلویمنت‌ها مجموعه‌ای از پادها هستند. دیپلویمنت تضمین می‌کند که برای سرویس‌دهی اپ، تعداد کافی از پادها به‌صورت همزمان در حال اجرا هستند.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">در واقع کار deployment این است که به کوبرنتیز می‌گوید چطور instanceهای از  اپ‌های کانتینری‌شده بسازد.  </span></p>
<h2 class="global-rtl"><strong>kubectl</strong> <strong class="global-rtl">چیست؟</strong></h2>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">تصور کنید که ما با استفاده از مینی‌کیوب یه کلاستر ساخته‌ایم. حالا چطور می‌توان با این کلاستر تعامل کرد؟</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">اینجا از <a href="https://hamravesh.com/blog/what-is-kubectl/" target="_blank" rel="noopener"><strong>kubectl</strong></a> استفاده می‌کنیم. <strong>Kubectl</strong> یک ابزار کامندلاینی برای تعامل با کلاستر کوبرنتیز است.</span></p>
<h2 class="global-rtl"><strong class="global-rtl">ویژگی‌های کوبرنتیز</strong></h2>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">اگر شما فقط به یک کانتینر برای اپلیکیشنتان نیاز دارید استفاده از کوبرنتیز برای شما مناسب نیست. برای مثال، اگر شما یک کارمند در یک شرکت دارید، دلیل ندارد شرکت داشته باشید. در این حالت شما یک نفر دارید که کار خودش را انجام می‌دهد. کوبرنتیز هم همین‌طور است.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">پس کی از کوبرنتیز استفاده می‌کنیم؟ بیایید با همین مثال شرکت جلو برویم. اگر شما یک شرکت داشته باشید که تیم‌های مختلفی از فروش، مارکتینگ تا فنی و منابع انسانی داشته باشید اینجا شما نیاز به استخدام و </span><b>مدیریت </b><span class="global-rtl" style="font-weight: 400;">کارمندان دارید.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کوبرنتیز هم قابلیت‌هایش را زمانی نشان می‌دهد که شما تعداد زیادی اپ کانتینری شده داشته باشید و مسئله مدیریت این اپ‌ها برایتان مهم می‌شود. کار کوبرنتیز مدیریت اپلیکیشن‌ها و تسهیل توسعه‌پذیری و استقرار کانتینرها به تعداد زیاد است.</span></p>
<h3><strong class="global-rtl">لود بالانسینگ</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">در مواقعی که ترافیک اپلیکیشن بالاست کوبرنتیز کار لود بالانسینگ را انجام می‌دهد.</span></p>
<h3 class="global-rtl"><strong class="global-rtl">هماهنگ‌سازی ذخیره‌سازی</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کوبرنتیز به شما کمک می‌کند تا برخی از کارهای مربوط به ذخیره‌سازی را از طریق دیسک‌ها مدیریت کنید.</span></p>
<h3 class="global-rtl"><span class="global-rtl" style="font-weight: 400;"><strong>Rollout</strong> <strong class="global-rtl">و</strong> <strong class="global-rtl">rollback خودکار</strong></span></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">کوبرنتیز بسیاری از فرایندهای دستی سنتی در فرایند استقرار و مقیاس پذیری اپلیکیشن های کانتینری را از بین می‌برد و فرایندها را استاندارد می‌کند.</span></p>
<h3><strong class="global-rtl">خودترمیمی</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">اگر یکی از اپلیکیشن‌های کانتینری‌شده شما به هر دلیلی به مشکل خورد، کوبرنتیز این قابلیت را به‌صورت پیش‌فرض دارد که اپ موردنظر را دوباره مستقر کند و به وضعیت مطلوب برساند.</span></p>
<h3 class="global-rtl">قابلیت‌های مانیتورینگ</h3>
<p class="global-rtl">در فرایند <a class="global-rtl" href="https://hamravesh.com/blog/what-is-kubernetes-monitoring/" target="_blank" rel="noopener">مانیتورینگ</a>، عمدتا یکسری متریک‌ها و لاگ‌ها از بخش‌های مختلف کلاستر کوبرنتیز جمع‌آوری می‌شود.  Nodeها، Podها و سرویس‌های اجرایی از جمله این بخش‌ها هستند.</p>
<h2 class="global-rtl"><strong class="global-rtl">مزایای استفاده از کوبرنتیز</strong></h2>
<h3 class="global-rtl"><strong class="global-rtl">دسترسی بالا یا بدون downtime</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">با استفاده از کوبرنتیز اپلیکیشن شما همیشه در دسترس کاربران‌تان خواهد بود.</span></p>
<h3><strong class="global-rtl">مقیاس‌پذیری</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">وقتی که لود اپلیکیشن ما بالاست با استفاده از کوبرنتیز می‌توان به‌راحتی مقیاس کار را بالا برد. با پایین آمدن حجم ترافیک ورودی به اپلیکیشن، کوبرنتیز نیز میزان مصرف منابع را پایین می‌آورد.</span></p>
<h3><strong>disaster recovery</strong></h3>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"> اگر هر اتفاقی برای دیتاسنتر بیفتد یا اگر به هر دلیلی ما داده‌ها را از دست دهیم، کوبرنتیز سازوکارهایی برای بازیابی داده‌ها و بک‌آپ گرفتن از داده‌ها در اختیار ما قرار می‌دهد. </span></p>
<h2 class="global-rtl">شرکت‌های بزرگی که از کوبرنتیز استفاده می‌کنند</h2>
<ul>
<li class="global-rtl"><span class="global-rtl" style="font-weight: 400;">نت‌فلیکس</span></li>
<li class="global-rtl"><span class="global-rtl" style="font-weight: 400;">اسپاتیفای</span></li>
<li><span style="font-weight: 400;">IBM</span></li>
<li><span style="font-weight: 400;">OpenAI</span></li>
<li><span style="font-weight: 400;">Google</span></li>
</ul>
<h2 class="global-rtl"><img loading="lazy" decoding="async" class="aligncenter wp-image-259 size-large" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P13-1024x768.jpg" alt="شرکت هایی که از کوبرنتیز استفاده می کنند" width="1024" height="768" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P13-1024x768.jpg 1024w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P13-300x225.jpg 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P13-768x576.jpg 768w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P13-1536x1152.jpg 1536w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P13-2048x1536.jpg 2048w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P13-86x64.jpg 86w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />شرکت‌های ایرانی که از کوبرنتیز استفاده می‌کنند</h2>
<ul>
<li class="global-rtl"><span class="global-rtl" style="font-weight: 400;">یکتانت</span></li>
<li><span class="global-rtl" style="font-weight: 400;">ترب</span></li>
<li class="global-rtl"><span class="global-rtl" style="font-weight: 400;">گروه اسنپ</span></li>
<li class="global-rtl">دیجی‌کالا</li>
</ul>
<h2 class="global-rtl"><img loading="lazy" decoding="async" class="aligncenter wp-image-260 size-large" src="https://blog.hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P14-1024x768.jpg" alt="شرکت های ایرانی که از کوبرنتیز استفاده می کنند" width="1024" height="768" srcset="https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P14-1024x768.jpg 1024w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P14-300x225.jpg 300w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P14-768x576.jpg 768w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P14-1536x1152.jpg 1536w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P14-2048x1536.jpg 2048w, https://hamravesh.com/blog/wp-content/uploads/2022/12/Kubernetes-P14-86x64.jpg 86w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />پلتفرم ابری دارکوب؛ تجربه زیرساختی پایدار و مطمئن</h2>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">ایجاد و مدیریت زیرساخت همواره یکی از مشکلات همیشگی کسب‌وکارها و استارتاپ‌های مختلف بوده است. معمولاً مدیریت زیرساخت‌ها نیاز به تیمی متخصص دارد که به‌صورت شبانه‌روزی بر روی نگه‌داری و توسعه زیرساخت وقت بگذارند. این امکان برای بسیاری از شرکت‌ها وجود ندارد. </span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;">به همین خاطر، یکی از راه‌حل‌هایی که همیشه در این حوزه مطرح می‌شود، برون‌سپاری مدیریت زیرساخت به شرکت‌هایی است که کار تخصصی‌شان کار با کوبرنتیز و مدیریت زیرساخت است.</span></p>
<p class="global-rtl"><span class="global-rtl" style="font-weight: 400;"><a class="global-rtl" href="https://hamravesh.com/darkube">پلتفرم ابری دارکوب</a>، یکی از معدود سرویس‌های PaaS ایرانی است که به‌قصد تسهیل انجام تسک‌های زیرساختی ایجاد شده است. با استفاده از دارکوب دیگر نیازی نیست کسب‌وکارها درگیر پیچیدگی‌های مربوط به کار با کوبرنتیز و دیگر ابزارهای زیرساختی شوند. </span></p>
<p>The post <a href="https://hamravesh.com/blog/what-is-kubernetes/">کوبرنتیز چیست؟ راهنمای کوبرنتیز به زبان ساده</a> appeared first on <a href="https://hamravesh.com/blog">بلاگ هم‌روش</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamravesh.com/blog/what-is-kubernetes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
