Academy and Foundation unixmens | Your skills, Your future
2.3K subscribers
6.68K photos
1.39K videos
1.24K files
6.17K links
@unixmens_support
@yashar_esm
[email protected]
یک کانال علمی تکنولوژی
فلسفه متن باز-گنو/لینوکس-امنیت - اقتصاد
دیجیتال
Technology-driven -بیزینس های مبتنی بر تکنولوژی
Enterprise open source
ارایه دهنده راهکارهای ارتقای سازمانی - فردی - تیمی
Download Telegram
با مفهوم kubelet در k8s آشنا شویم :

ا Kubelet یکی از اجزای اصلی سیستم Kubernetes است که بر روی هر یک از نودهای کلاستر اجرا می‌شود. وظیفه اصلی Kubelet در Kubernetes این است که مدیریت و کنترل کانتینرها را بر روی یک نود خاص انجام دهد.

ا Kubelet مسئولیت اجرای کانتینرها را به عنوان برنامه‌هایی که به شیوه‌ای مانند Docker یا containerd شناخته شده اند، بر عهده دارد. این منابع کانتینرها از طریق API سرور Kubernetes تعیین شده و Kubelet مسئول اجرای آن‌ها است. همچنین، Kubelet مسئول نظارت بر همه منابعی است که به کانتینر اختصاص داده شده و اطمینان حاصل می‌کند که هر کانتینر با استفاده از منابع مورد نیاز خود، اجرا می‌شود.

علاوه بر این، Kubelet وظیفه‌ی گزارش دادن از وضعیت هر نود به سرور اصلی Kubernetes را دارد. این گزارشات شامل اطلاعاتی از جمله تعداد کانتینرها، منابع مورد استفاده، وضعیت شبکه و غیره می‌باشد. از این اطلاعات برای ایجاد تصمیمات مربوط به مدیریت مقیاس، توزیع بار و استقرار استفاده می‌شود.

بنابراین، Kubelet یکی از عناصر اساسی کلاستر Kubernetes است که نصب و اجرای کانتینر‌ها را مدیریت می‌کند و وضعیت نود را به سرور اصلی Kubernetes گزارش می‌دهد.

#kubernetes #kuber #k8s #linux #container #kubelet
https://t.iss.one/unixmens
👍3
با مفهوم stateless و statefulset در k8s آشنا شویم :

در Kubernetes دو نوع اصلی از کنترلرهای ReplicaSet وجود دارند که بیشتر برای مدیریت کانتینرها استفاده می‌شوند: stateless (بی حالت) و statefulSet (با حالت). هر یک از این نوع‌ها ویژگی‌ها و کاربردهای خاص خود را دارند.

ا Stateless (بی حالت):
ا Stateless به معنای بی حالت بودن است و به کاربردهایی اشاره دارد که وضعیت (state) داخلی (مثلا داده‌های ذخیره شده) را برای کانتینرها نگه نمی‌دارند. این نوع از کانتینرها معمولاً وظایف محاسباتی یا پردازشی را انجام می‌دهند و به طور معمول از نحوه‌ای مبتنی بر سرویس‌های بیرونی برای دسترسی به وضعیت و داده‌های مورد نیاز استفاده می‌کنند. مثال‌هایی از کاربردهای stateless شامل وب سرورها و میکروسرویس‌هایی که فقط یک سرویس را ارائه می‌دهند، می‌باشد.

ا StatefulSet (با حالت):
ا StatefulSet از سمتی نشان دهنده کاربردهایی است که نیاز به نگه‌داری وضعیت داخلی دارند. به عبارت دیگر، این نوع کانتینرها دارای داده و وضعیت هستند که نیازمند محافظت و مدیریت مناسب هستند. StatefulSet معمولاً برای دیتابیس‌ها، موتورهای جستجو، نودهای کلاستر و هر نوع سرویسی که نیاز به ذخیره داده دائمی دارد، استفاده می‌شود. این نوع از کانتینرها به شکل دائمی و منظم اطلاعاتی مانند داده‌های پردازش شده، وضعیت و رفتار پیشین خود را نگه‌داری می‌کنند.

ویژگی‌های StatefulSet شامل پذیرش شناسه‌های پایدار (که از تغییر IP و شناسه‌ها در هنگام بازسازی یا مقیاس‌پذیری جلوگیری می‌کند) و دسترسی به ذخیره‌سازی پایدار (از جمله استفاده از واحد ذخیره‌سازی شبکه) می‌شود.

به طور خلاصه، در Kubernetes از stateless ها برای برنامه هایی استفاده می‌شود که وضعیت داخلی ندارند و از statefulSet ها برای برنامه هایی که نیاز به نگهداری وضعیت داخلی دارند استفاده میشود .

به طور کلی:
ا Stateless (بی حالت):

1. کاربردها: برنامه‌هایی که وضعیت داخلی را نگه نمی‌دارند، معمولاً برای پردازش‌های عام و محاسباتی که نیازمند استقلال کامل از وضعیت هستند مورد استفاده قرار می‌گیرند. به عنوان مثال، وب‌سرورها که به درخواست‌هایی که مستقل از هم هستند پاسخ می‌دهند یا میکروسرویس‌هایی که فقط یک خدمت را ارائه می‌دهند.

ا 2. Restart Policy: اگر یک کانتینر stateless متوقف شود، می‌تواند مجدداً راه‌اندازی شود بدون تأثیری بر روی وضعیت سیستم.

ا StatefulSet (با حالت):

1. کاربردها: برای برنامه‌هایی که نیاز به نگهداری وضعیت داخلی دائمی دارند مورد استفاده قرار می‌گیرد. مانند دیتابیس‌ها، کش‌ها، موتورهای جستجو و هر نوع سرویسی که نیاز به داده‌های پایدار و ذخیره سازی دارد.

ا 2. Identity: StatefulSet ها از شناسه‌های پایدار برای عناصر داخلی خود استفاده می‌کنند که از تغییرات در مقیاس‌پذیری و بازسازی جلوگیری می‌کند.

ا 3. Storage: این نوع از کانتینرها نیازمند دسترسی به ذخیره‌سازی پایدار (مانند استفاده از واحد ذخیره‌سازی شبکه) برای نگهداری داده‌های خود و رفتار پیشین هستند.

استفاده از statefulset برای اپلیکیشن‌هایی که نیاز به حفظ حالت یا state دارند، مزایایی را به همراه دارد. برخی از این مزایا عبارتند از:

امکان تعیین هویت ثابت و پایدار برای هر پاد (Pod)، که باعث می‌شود در صورت stop یا انتقال پاد، هویت و شناسه‌ی آن حفظ شود و بتوان به راحتی با آن ارتباط برقرار کرد.
امکان اعمال ترتیب و الگوی مشخص در ایجاد، حذف، توزیع مجدد و به‌روزرسانی پادها، که باعث می‌شود اپلیکیشن‌هایی که به ترتیب خاصی در اجرای پادها وابسته‌اند، به درستی کار کنند.
امکان استفاده از حجم ذخیره‌سازی (storage volume) پایدار و اختصاصی برای هر پاد، که باعث می‌شود داده‌های مربوط به هر پاد در صورت stop یا انتقال آن، از بین نروند و بتوان به آن‌ها دسترسی داشت.

نکته : Identity در statefulset به هویت ثابت و پایداری اشاره دارد که برای هر پاد (Pod) در یک StatefulSet تعیین می‌شود. این هویت شامل یک شماره‌ی ترتیبی (ordinal index)، یک نام شبکه‌ای (network name) و یک حجم ذخیره‌سازی (storage volume) است. این هویت باعث می‌شود که در صورت stop یا انتقال پاد، هویت و شناسه‌ی آن حفظ شود و بتوان به راحتی با آن ارتباط برقرار کرد. برای مثال، اگر یک StatefulSet به نام web داشته باشیم که دو پاد دارد، نام پادها به صورت web-0 و web-1 خواهد بود و این نام‌ها تغییر نمی‌کنند
برای کسب اطلاعات بیشتر در مورد identity در statefulset، می‌توانید به این منابع مراجعه کنید:

StatefulSets
2
3
#k8s #kuber #kubernetes

https://t.iss.one/unixmens
👍1
ا Ingress-as-a-service پیکربندی کلاستر شما را از محیطی که در آن اجرا می شود جدا می کند. نیازی به حفظ تنظیمات برای هر محیط نیست. شما می توانید با ingress as service به استقلال محیط و قابلیت حمل دست پیدا کنید.
برنامه های خود را با ingress as a service ارائه دهید - Deliver production-grade apps with ingress-as-a-service

با افزایش امنیت و کاهش پیچیدگی، ingress-as-a-service تجربه بهتری را برای توسعه دهندگان و مشتریان شما فراهم می کند. همه انواع فعالیت ها، از پخش ویدئو گرفته تا ... می توانند به عنوان یک سرویس استفاده شوند.
ا نتظار می رود در چند سال آینده شاهد گسترش خدمات Ingress-as-a-service باشیم.

#cloud #netops #linux #network #ingress #as_a_service #Ingress_as_a_service #kuber #kubernetes


https://t.iss.one/unixmens
کوبرنیتیس یک پروژه نیست بلکه مجموعه از پروژه ها است که قسمتی از قدرت گنو/لینوکس و متن باز تجاری را نشان میدهد .
در این بین شبکه و راهکارهای مبتنی بر شبکه یکی از ویژگی های این محصول هست . ما ابزار های زیادی برای ساختار شبکه در کوبر داریم . یکی از آنها کالیکو نام دارد .
در واقع Calico یک پروژه متن باز برای مدیریت شبکه‌ها و امنیت در محیط‌های Kubernetes است. این پروژه از تکنولوژی‌های مبتنی بر IP استفاده می‌کند و امکانات بسیاری برای مدیریت شبکه و امنیت در بستر Kubernetes فراهم می‌آورد.

از جمله از امکانات آن میتوان به موارد زیر اشاره کرد :


پشتیبانی از BGP (Border Gateway Protocol)-based Networking: Calico استفاده از BGP را برای برقراری ارتباط و تسهیل ارسال ترافیک بین پدیده‌های شبکه از طریق IP routing ارائه می‌دهد.

اجازه‌دهی بر اساس سیاست‌های امنیتی: Calico اجازه‌دهی بر اساس سیاست‌های لایه‌3 (L3) و لایه‌4 (L4) را ارائه می‌دهد. این به مدیران اجازه می‌دهد تا تصمیم بگیرند که کدام پدیده‌ها باید به یکدیگر دسترسی داشته باشند یا نداشته باشند.

امکانات بسیاری برای کنترل دسترسی: Calico دارای امکانات غنی برای کنترل دسترسی به منابع مختلف در Kubernetes است. این شامل محدود کردن دسترسی به سرویس‌ها،‌ برنامه‌ها و دیگر ساختارهای شبکه است.

امنیت ورودی-خروجی: Calico امکاناتی را برای کنترل و مدیریت ترافیک شبکه و حفاظت در برابر حملات مختلف ارائه می‌دهد.

استفاده از IP-in-IP و استفاده از VXLAN:
در حقیقت Calico برای ایجاد شبکه Overlay از این تکنولوژی‌ها استفاده می‌کند که این امکان را به کاربران می‌دهد تا شبکه‌های بزرگ و پیچیده‌تری را مدیریت
و مقیاس‌پذیر کنند.

امکانات پیشرفته‌ای که Calico ارائه می‌دهد عبارتند از:

اجازه‌دهی بر اساس لایه‌3 و لایه‌4: Calico قادر است ترافیک شبکه را بر اساس آدرس IP و پورت‌های L3 و L4 مدیریت کند. این به مدیران امکان می‌دهد تا به دقت کنترل کنند که چه داده‌هایی از کجا به کجا می‌توانند حرکت کنند. این سطح از کنترل به مدیران امکان می‌دهد تا سیاست‌های دقیق دسترسی و امنیتی را اعمال کنند.

اجازه‌دهی بر اساس برچسب و تگ: Calico اجازه می‌دهد تا سیاست‌های دسترسی بر اساس برچسب‌ها و تگ‌های Kubernetes اعمال شود. این نوع اجازه‌دهی امکانات بیشتری برای مدیریت و کنترل دسترسی به سرویس‌ها و برنامه‌ها فراهم می‌کند.

امکانات کنترل دسترسی و امنیت: Calico امکانات جامعی برای ایجاد و مدیریت سیاست‌های کنترل دسترسی و امنیتی فراهم می‌کند، از جمله قابلیت‌های بلادرنگ (Black and White-listing)، ویژگی‌های حفاظت در برابر حملات DDoS، توانایی ایجادVPN‌های site-to-site و مدیریت ترافیک‌های شبکه مختلف.

انعطاف‌پذیری و مقیاس‌پذیری: Calico طراحی شده است تا مقیاس‌پذیری فراهم کند و می‌تواند به راحتی با توجه به افزایش سطح استفاده و ترافیک شبکه گسترش یابد. این امر به مدیران امکان می‌دهد تا بر اساس نیازهای واقعی محیط خود، شبکه خود را تنظیم و گسترش دهند.

امکانات مانیتورینگ و رصد: Calico ابزارهایی برای مانیتورینگ و رصد ترافیک شبکه و ایجاد گزارش‌های جامع را فراهم می‌کند. این امر به مدیران امکان می‌دهد تا حالت شبکه را درک کرده و مشکلات پتانسیلی را جستجو کنند.




به طور کلی، Calico یک راهکار خوب و قدرتمند برای مدیریت شبکه و امنیت در Kubernetes است که امکانات متنوعی برای ایجاد و مدیریت شبکه‌های مبتنی بر IP و ایجاد سیاست‌های امنیتی پیشرفته را فراهم می‌کند.

ولی امکانات شبکه در openshift شامل امکانات دیگری از calico هست . در ادامه به بررسی ویژگی های آن خواهیم پرداخت
نکته : شما میتوانید calico را در okd یا openshift استفاده کنید .
همانطور که گفتیم کوبر ابزاری کارامد هست اما نه به تنهایی بلکه از ابزارهای cloud-native که این قابلیت را میدهد .برای نمونه rancher که یک ابزار مدیریتی برای کوبر هست .
در این مورد که آیا کوبر به تنهایی برای سازمان کارامد هست یا بهشت هست یا جهنم خواهم نوشت . خواهم گفت چرا بهتر هست از توزیع های مانند openshift استفاده کنیم تا امکانات ویژه ای به سازمان خود بخشیم خواهم نوشت



#k8s #okd #openshift #linux #kuber #security #kubernetes
https://t.iss.one/unixmens
Flannel is indeed a network fabric. In the context of container networking, a network fabric like Flannel is responsible for providing the underlying infrastructure that enables communication between containers running on different hosts within a cluster.

Flannel creates an overlay network that abstracts the physical network infrastructure, allowing containers to communicate with each other over a virtual network. This overlay network helps in simplifying networking for containerized applications by providing a seamless and scalable way for containers to interact with one another, regardless of the underlying host they are running on.

By establishing this network fabric, Flannel facilitates the connectivity and communication between containers, enabling them to function as part of a distributed system while abstracting the complexity of networking configurations and routing. This abstraction layer provided by Flannel simplifies the deployment and management of containerized applications across multiple nodes in a cluster.

#cni #flannel #net #k8s #kuber #kube #kubernetes #linux #minikube #k3s #k3d #container #kernel #overlay


https://t.iss.one/unixmens
با دوره CKA آشنا شویم :
دوره Certified Kubernetes Administrator (CKA) یک دوره گواهینامه رسمی است که توسط بنیاد لینوکس (Linux Foundation) ارائه می‌شود. هدف اصلی این دوره، تأیید دانش و توانایی شخص در اجرای، مدیریت و اشتغال به طور موفقیت‌آمیز با سیستم Kubernetes است. در زیر به سرفصل‌های اصلی این دوره اشاره خواهم کرد:

1. Core Concepts (13%)
- Cluster Architecture
- Kubernetes Components
- Pods

2. Configuration (18%)
- Environment Configuration
- Security
- Network Policies

3. Multi-Cluster Management (11%)
- Cluster Federation
- Data Replication

4. Installation, Configuration & Validation (10%)
- Designing HA Cluster Setup
- Installation
- Monitoring

5. Maintenance (15%)
- System Update Strategies
- Node Replacements
- Backup & Restore

6. Networking (12%)
- Service Networking
- Network Policies
- Troubleshooting

7. Security (12%)
- Cluster Hardening
- User & Role Management
- Security Best Practices

8. Storage (7%)
- Storage Classes
- Persistent Volumes
- Volume Access Modes

9. Troubleshooting (10%)
- Application Failures
- Control Plane Failures
- Worker Node Failures

این سرفصل‌ها نشان دهنده مهارت‌های موردنیاز برای گذراندن آزمون CKA هستند. طی این دوره، شرکت‌کنندگان با مفاهیم اساسی و پیچیده Kubernetes آشنا می‌شوند و توانایی اجرای، مدیریت و رفع اشکال در محیط‌های Kubernetes را پیشرفته کرده و در نهایت، مبتنی بر عملکرد، دانش و توانایی خود، گواهینامه CKA را کسب می‌کنند.

#kuber #k8s #kubernetes #k3s #cource #course

https://t.iss.one/unixmens
👍3
"برگ -borg" یک سیستم مدیریت کلاسترهای داده (Cluster Management System) است که توسط گوگل طراحی و توسعه داده شده است. این سیستم برای مدیریت و اجرای برنامه‌های بر روی مجموعه‌ای از سرورها به صورت متمرکز و انعطاف‌پذیر استفاده می‌شود. برگ به عنوان پیش‌نمونه سیستم Kubernetes شناخته شده و بسیاری از اصول و الگوهای مورد استفاده در Kubernetes از تجربیات برگ -borg الهام گرفته شده‌اند.

ویژگی‌های برگ - borg شامل موارد زیر می‌شود:

1. مدیریت منابع:
- برگ -borg امکان مدیریت منابع را از طریق یک واسط کاربری ساده فراهم می‌کند که امکان افزودن و حذف سرورها، تخصیص منابع و نظارت بر وضعیت عملکرد را فراهم می‌کند.

2. زمانبندی و اجرا:
- برگ - borg قابلیت زمانبندی اجرای برنامه‌ها را دارد تا منابع بهینه شده و کارایی سیستم به حداکثر برسد.

3. سیستم خودتشخیص:
- برگ -borg از یک سیستم خودتشخیص برخوردار است که در صورت بروز خطا، به صورت خودکار تلاش می‌کند مشکل را برطرف کند.

4. مقیاس‌پذیری:
- برگ به خوبی قابلیت مقیاس‌پذیری را دارد و می‌تواند به راحتی تعداد سرورها و منابع مورد نیاز را تنظیم کند.

5. ضبط و مانیتورینگ:
- برگ - borg قابلیت ضبط و مانیتورینگ عملکرد برنامه‌ها و سرورها را فراهم می‌کند تا از وضعیت سیستم آگاه باشیم.

6. امنیت:
- امنیت در برگ- borg یکی از نکات حیاتی است و سیستم امنیتی تازه و محکمی برای محافظت اطلاعات ارائه می‌دهد.

برگ -borg یک سیستم پیشرفته است که برای مدیریت توزیع‌شده برنامه‌ها و سرویس‌های بزرگ مورداستفاده قرار می‌گیرد و از اصول طراحی پیشرفته و انعطاف‌پذیری برخوردار است.

نکته : در ادامه گوگل omega را داد و سپس کوبرنتیس که امروزه اون را میبینیم .


در واقع اومگا (Omega) نیز یک سیستم مدیریت کلاسترهای داده و منابع است که توسط گوگل توسعه داده شده است. اومگا به عنوان جایگزینی برای برگ (Borg) در گوگل طراحی شد. این سیستم بهبودهای بسیاری نسبت به برگ ارائه داده است و از تازه‌ترین الگوریتم‌ها و تکنولوژی‌ها برای بهبود عملکرد و کارایی سامانه‌های محاسباتی گوگل استفاده می‌کند.

ویژگی‌های مهمِ اومگا عبارتند از:

1. معماری توزیعی پیشرفته:
- اومگا طراحی شده به‌طوری که از معماری توزیعی پیشرفته‌ای برخوردار باشد تا بتواند برنامه‌های بزرگ و پیچیده را به صورت همزمان و با کارایی بالا اجرا نماید.

2. مدیریت منابع هوشمند:
- این سیستم توانایی مدیریت منابع را بر اساس نیاز و اولویت‌هایی که توسط کاربران تعیین شده‌اند، فراهم می‌آورد.

3. امنیت شده:
- اومگا بر اساس پروتکل‌ها و استانداردهای امنیتی بسیار بالا طراحی شده است تا اطلاعات و منابع کاربران محافظت شده و امن باشد.

4. قابلیت مقیاس‌پذیری:
- سیستم اومگا به خوبی قابلیت مقیاس‌پذیری را ارائه می‌دهد و می‌تواند با افزایش ترافیک و کاربران، به صورت افقی و رو به بالا مقیاس شود.

5. قابلیت ضبط و نظارت:
- اومگا ابزارهای پیشرفته‌ای برای ضبط و نظارت بر عملکرد سیستم و برنامه‌ها ارائه می‌دهد تا وضعیت و عملکرد سیستم همواره قابل رصد باشد.

اومگا به عنوان یک پیشرانه اصلی در ایجاد و توسعه سیستم‌های بزرگ و پیچیده در گوگل به کار گرفته شده است و از تجربیات و اصول برگ بهبود یافته و به عنوان یکی از سیستم‌های پرکارایی و پیشرفته مدیریت کنترلی در محیط‌های توزیع‌شده شناخته می‌شود.
#borg #kuber #cluster


https://t.iss.one/unixmens
👍3