مقاله اول: Kubernetes چیست و چرا به آن نیاز داریم؟
برای شناخت CiliumHound ابتدا باید Kubernetes را بشناسیم. امروزه بسیاری از نرمافزارها بهجای یک برنامه بزرگ، از اجزای کوچکتری به نام Microservice ساخته میشوند. برای مثال، یک فروشگاه اینترنتی ممکن است سرویسهایی جداگانه برای ورود کاربران، محصولات، پرداخت و ارسال سفارش داشته باشد.
هر سرویس معمولاً داخل یک Container اجرا میشود. اما وقتی تعداد Containerها به صدها یا هزاران مورد برسد، مدیریت آنها دشوار خواهد شد. Kubernetes سامانهای است که استقرار، اجرا، مقیاسدهی و بازیابی خودکار این Containerها را مدیریت میکند.
کوچکترین واحد اجرایی در Kubernetes معمولاً Pod نام دارد. یک یا چند Pod میتوانند یک برنامه را ارائه کنند. Podها روی ماشینهایی به نام Node اجرا میشوند و مجموعه Nodeها یک Cluster را تشکیل میدهد. Service نیز یک آدرس نسبتاً ثابت برای دسترسی به گروهی از Podها فراهم میکند.
این Kubernetes میتواند در صورت ازکارافتادن یک Pod، نمونه دیگری ایجاد کند یا هنگام افزایش درخواستها تعداد Podها را بالا ببرد. این قابلیتها دسترسپذیری و مقیاسپذیری را افزایش میدهند.
بااینحال، Kubernetes فقط یک بستر اجرایی نیست؛ بلکه محیطی پویا با ارتباطات فراوان است. Podها دائماً ایجاد، حذف و جابهجا میشوند. بنابراین کنترل اینکه هر Pod با چه بخشهایی ارتباط دارد، به یکی از مهمترین مسائل امنیتی Kubernetes تبدیل میشود.