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
ebpf.pdf
837.4 KB
کتاب جدیدی که نوشتم تقدیم دوستان . این کتاب را بصورت آزاد منتشر کردم .

نویسنده : مهندس یاشار اسمعیل دخت

نکته : این کتاب نسخه : 0.1 میباشد .

#linux #kernel #yashar_esmaildokht #ebpf #bpf #cilium #network #security #k8s #kubernetes #openshift #openstack #hpc #sdn


https://t.iss.one/unixmens
👍1🙏1
ا Minishift یک ابزار مفید برای ایجاد یک محیط محلی OpenShift است که بر روی یک دستگاه قابل اجرا است. این ابزار از ویژگی‌های زیر برخوردار است:
نکته : minishift برای openshift 3x میباشد برای نسخه ۴ میتوانید از crc استفاده کنید .

ا 1. : Minishift امکان ایجاد یک کلاستر OpenShift محلی را فراهم می‌کند. OpenShift یک پلتفرم مدیریت کانتینرها بر پایه Kubernetes است و از ویژگی‌ها و امکانات به‌روزی برخوردار است.

2. محیط توسعه‌دهندگانی: Minishift به توسعه‌دهندگان امکان می‌دهد یک محیط توسعه محلی برای توسعه و تست برنامه‌ها بر روی پلتفرم OpenShift ایجاد کنند.

3. ویژگی‌های Minishift :
از ویژگی‌های OpenShift مانند راه‌اندازی مستقل از شبکه (disconnected setup)، مدیریت دسترسی‌ها، پیکربندی‌های خاص شبکه و امنیت استفاده می‌کند و به توسعه‌دهندگان این امکان را می‌دهد که برنامه‌های خود را در یک محیط محلی با استفاده از این ویژگی‌ها تست کنند.

4. متن باز: Minishift همچنین یک پروژه متن باز است که توسط جامعه OpenShift پشتیبانی می‌شود و امکانات و قابلیت‌های جدیدی برای توسعه‌دهندگان اضافه می‌شود.

به طور کلی، Minishift یک ابزار مفید برای توسعه و تست برنامه‌ها بر روی پلتفرم OpenShift است که به توسعه‌دهندگان امکان می‌دهد تا برنامه‌های خود را در یک محیط محلی اجرا و تست کنند قبل از انتقال آنها به محیط تولیدی میباشد


اMinishift

هدف: Minishift ابزاری است که به شما اجازه می‌دهد تا یک کلاستر OpenShift را به‌راحتی بر روی سیستم محلی خود راه‌اندازی کنید.

محیط: Minishift از یک ماشین مجازی برای اجرای OpenShift استفاده می‌کند. این ماشین مجازی می‌تواند بر روی سیستم‌عامل‌های مختلف نصب شود.

استفاده: Minishift برای توسعه‌دهندگانی مناسب است که می‌خواهند به سرعت یک محیط OpenShift را راه‌اندازی کنند و بر روی آن کار کنند.

مدیریت: این ابزار امکاناتی برای مدیریت منابع و پیکربندی کلاستر فراهم می‌آورد.

CodeReady Containers (CRC)

هدف: CRC نیز به‌طور خاص برای توسعه‌دهندگان OpenShift طراحی شده است، اما تمرکز بیشتری بر روی سادگی و کارایی دارد.

محیط: CRC یک کلاستر OpenShift را در یک ماشین مجازی اجرا می‌کند، اما با استفاده از فناوری‌های مدرن‌تر و بهینه‌تر نسبت به Minishift.

استفاده: CRC برای توسعه‌دهندگانی که نیاز به یک محیط OpenShift کم حجم و سریع دارند، بسیار مناسب است. این ابزار به‌خصوص برای کسانی که می‌خواهند سریعاً شروع به کار کنند و نیازی به پیکربندی پیچیده ندارند، مفید است.

مدیریت: CRC دارای رابط کاربری ساده‌تری است و به راحتی می‌توان آن را نصب و راه‌اندازی کرد.


#openshift #minishift #k8s #kubernetes #crc
https://t.iss.one/unixmens 🎓
ceph radosgw.pdf
2.4 MB
کتاب radosgw که از سالها پیش نوشته بودم . تقدیم عزیزان


نویسنده : مهندس یاشار اسمعیل دخت

#devops #book #yashar_esmaildokht #linux #k8s #kubernetes #cloud #technology
#ceph #storage #sds #rados #radosgw #s3 #swift
https://t.iss.one/unixmens
DevOps.pdf
6.5 MB
کتاب مرجع دواپس نسخه 0.5 را بصورت آزاد منتشر کردم . تقدیم عزیزان

کتاب مرجع Devops
نویسنده : مهندس یاشار اسمعیل دخت

#devops #book #yashar_esmaildokht #linux #k8s #kubernetes #cloud #team #technology

https://t.iss.one/unixmens
ceph radosgw.pdf
2.4 MB
کتاب radosgw که از سالها پیش نوشته بودم . تقدیم عزیزان


نویسنده : مهندس یاشار اسمعیل دخت

#devops #book #yashar_esmaildokht #linux #k8s #kubernetes #cloud #technology
#ceph #storage #sds #rados #radosgw #s3 #swift
https://t.iss.one/unixmens
sdn in [email protected]
1.5 MB
مقاله نحوه پیاده سازی sdn در proxmox تقدیم عزیزان

ا Software-Defined Networking (SDN) رویکردی نوین در مدیریت شبکه‌ها می‌باشد که با جداشدن لایه‌های کنترل و لایه‌های انتقال داده، امکان برنامه‌ریزی و کنترل مرکزی‌تر شبکه‌ها را فراهم می‌کند. در شبکه‌های سنتی، تصمیم‌گیری‌های مربوط به مسیریابی و تنظیمات شبکه بر روی دستگاه‌های سوییچ و مسیریاب انجام می‌شود. اما در SDN، این تصمیم‌گیری‌ها از طریق یک کنترلر نرم‌افزاری مرکزی صورت می‌گیرد.

یکی از موارد مهم در SDN، برنامه‌پذیری بالا است. این به معنای این است که مدیران شبکه می‌توانند از طریق استفاده از رابط‌های برنامه‌نویسی (APIs) تنظیمات و کنترل‌های شبکه را به صورت پویا و با تغییرات سریع انجام دهند. این ویژگی باعث افزایش انعطاف‌پذیری شبکه و سازگاری آن با نیازهای مختلف می‌شود.


#proxmox #linux #kvm #book #yashar_esmaildokht #sdn


https://t.iss.one/unixmens
🙏1
ceph csi.pdf
1 MB
مقاله ای که در مورد ceph csi در مقایسه با rook نوشتم و بصورت آزاد منتشر کردم تقدیم عزیزان
نسخه : ۰٫۱
نویسنده : یاشار اسمعیل دخت
در واقع Ceph CSI (Container Storage Interface) یک درایور ذخیره‌سازی برای Kubernetes است که به کاربران این امکان را می‌دهد تا از قابلیت‌های ذخیره‌سازی توزیع‌شده Ceph در کلاسترهای Kubernetes استفاده کنند. Ceph خود یک سیستم ذخیره‌سازی مقیاس‌پذیر و توزیع‌شده است که به طور خاص برای ارائه خدمات ذخیره‌سازی با عملکرد بالا، مقیاس‌پذیری و قابلیت اطمینان طراحی شده است.

ویژگی‌های Ceph CSI:

1. پشتیبانی از انواع ذخیره‌سازی:

2. مقیاس‌پذیری:

3. مدیریت خودکار:

4. قابلیت اطمینان و تحمل خطا:

5. یکپارچگی با Kubernetes:

در حقیقت ▎Ceph CSI یک گزینه قوی برای سازمان‌هایی است که به دنبال یک راهکار ذخیره‌سازی مقیاس‌پذیر و قابل اعتماد برای کلاسترهای Kubernetes هستند. این ابزار با ارائه امکانات متنوع ذخیره‌سازی و قابلیت اطمینان بالا، می‌تواند نیازهای مختلف بارهای کاری را برآورده کند.

#ceph #sds #k8s #storage #yashar_esmaildokht #book
#csi #kubernetes #rook
https://t.iss.one/unixmens
👍2
با مفاهیم کوبر آشنا شویم :

در واقع Kubernetes (که به اختصار K8s نیز نامیده می‌شود) یک سیستم متن‌باز برای اتوماسیون استقرار، مقیاس‌گذاری و مدیریت برنامه‌های کانتینری است. این سیستم به شما این امکان را می‌دهد که برنامه‌های خود را در یک محیط توزیع‌شده و مقیاس‌پذیر اجرا کنید. در زیر به اجزای اصلی Kubernetes و توضیحات مربوط به هر یک از آن‌ها می‌پردازیم:
1. Pod

تعریف: Pod کوچک‌ترین واحد اجرایی در Kubernetes است و می‌تواند شامل یک یا چند کانتینر باشد که به اشتراک‌گذاری منابع و شبکه می‌پردازند.
ویژگی‌ها: Pods معمولاً برای اجرای یک سرویس یا یک برنامه خاص طراحی می‌شوند و می‌توانند به صورت موقتی یا دائمی باشند.

2. Service

تعریف: Service یک انتزاع است که به شما این امکان را می‌دهد تا به مجموعه‌ای از Pods که یک کار خاص را انجام می‌دهند، دسترسی پیدا کنید.
ویژگی‌ها: Services می‌توانند به عنوان یک نقطه دسترسی ثابت برای Pods عمل کنند و می‌توانند بار ترافیک را بین Pods توزیع کنند. انواع مختلفی از Services وجود دارد، از جمله ClusterIP، NodePort و LoadBalancer.

3. Deployment

تعریف: Deployment یک منبع Kubernetes است که به شما این امکان را می‌دهد تا به راحتی Pods را مدیریت کنید و استقرارهای جدید را انجام دهید.
ویژگی‌ها: با استفاده از Deployment، می‌توانید تعداد Pods را مقیاس‌گذاری کنید، نسخه‌های جدید را به‌روزرسانی کنید و در صورت بروز خطا، به نسخه‌های قبلی برگردید.

4. ReplicaSet

تعریف: ReplicaSet یک منبع Kubernetes است که تضمین می‌کند که تعداد مشخصی از Pods در هر زمان در حال اجرا باشند.
ویژگی‌ها: ReplicaSet معمولاً به عنوان بخشی از Deployment استفاده می‌شود و به شما این امکان را می‌دهد که تعداد Pods را مقیاس‌گذاری کنید.

5. StatefulSet

تعریف: StatefulSet برای مدیریت برنامه‌های Stateful (با وضعیت) طراحی شده است.
ویژگی‌ها: این نوع منبع به شما این امکان را می‌دهد که Pods را با شناسه‌های ثابت و ذخیره‌سازی پایدار مدیریت کنید.

6. ConfigMap و Secret

ConfigMap:

برای ذخیره‌سازی تنظیمات غیر حساس به کار می‌رود و به Pods اجازه می‌دهد تا به این تنظیمات دسترسی پیدا کنند.
Secret:

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

7. Volume

تعریف: Volume یک منبع ذخیره‌سازی است که به Pods اجازه می‌دهد تا داده‌ها را به صورت پایدار ذخیره کنند.
ویژگی‌ها: Volumes می‌توانند از انواع مختلفی از منابع ذخیره‌سازی (مانند NFS، AWS EBS و ...) استفاده کنند.

8. Namespace

تعریف: Namespace یک روش برای تقسیم منابع در یک کلاستر Kubernetes است.
ویژگی‌ها: با استفاده از Namespace، می‌توانید منابع را به صورت منطقی جدا کنید و به تیم‌های مختلف اجازه دهید که به صورت مستقل کار کنند.


#k8s #kubernetes #container
https://t.iss.one/unixmens
👍3
KubeKey and K3s are both tools related to Kubernetes, but they serve different purposes and have different use cases. Here's a comparison of the two:
K3s

What it is: K3s is a lightweight, certified Kubernetes distribution designed for resource-constrained environments and edge computing. It is developed by Rancher Labs.
Key Features:
Lightweight: K3s is designed to be easy to install and run with minimal resource requirements.
Simplified: It removes some non-essential features of Kubernetes to streamline the installation and operation.
Single binary: K3s is packaged as a single binary, making it easy to deploy.
Built-in components: It includes components like a local storage provider and a service load balancer out of the box.
Use Cases: Ideal for IoT devices, edge computing, development environments, and scenarios where a full Kubernetes installation would be too heavy.

KubeKey

What it is: KubeKey is a tool for deploying and managing Kubernetes clusters. It is part of the KubeSphere ecosystem and is designed to simplify the installation and management of Kubernetes.
Key Features:
Multi-cluster management: KubeKey can manage multiple Kubernetes clusters and supports various installation methods.
Flexible: It can deploy different Kubernetes distributions, including K3s and standard Kubernetes.
User-friendly: KubeKey provides a simple command-line interface and configuration files to streamline the deployment process.
Use Cases: Suitable for users who want to deploy and manage Kubernetes clusters easily, whether for development, testing, or production environments.

Summary

K3s is a lightweight Kubernetes distribution, while KubeKey is a deployment tool that can install and manage Kubernetes clusters, including K3s.
If you need a lightweight Kubernetes solution, K3s is the way to go. If you want a tool to help you deploy and manage Kubernetes clusters, KubeKey is a good choice.


#k8s #kubernetes #k3s #kubekey

https://t.iss.one/unixmens
با مفهوم kubecni آشنا شویم :


در واقع kube-cni یا به طور دقیق‌تر Container Network Interface (CNI) در Kubernetes یکی از مهم‌ترین اجزای شبکه‌ای‌ست که اغلب کاربران تازه‌کار از آن غافل می‌مانند. در ادامه با زبان ساده برات توضیح می‌دم:
🔷ا kube-cni یا CNI چیست؟

CNI (Container Network Interface)
یک استاندارد شبکه‌ای است که مشخص می‌کند چگونه کانتینرها در Kubernetes با یکدیگر و با دنیای بیرون ارتباط برقرار کنند.

کلمه kube-cni معمولاً اشاره به:

پلاگین‌های شبکه‌ای CNI مورد استفاده در Kubernetes دارد


🧠 چرا Kubernetes به CNI نیاز دارد؟

برخلاف Docker که به‌صورت پیش‌فرض خودش شبکه می‌سازد، Kubernetes مستقل از یک پیاده‌سازی خاص شبکه است. بنابراین:

Kubernetes از پلاگین CNI برای اتصال پادها به یکدیگر استفاده می‌کند.

خود Kubernetes هیچ شبکه‌ای ارائه نمی‌دهد؛ فقط انتظارات را تعریف می‌کند.

🔌 برخی پلاگین‌های معروف CNI

Calico

سریع، با پشتیبانی از امنیت (network policies)، مناسب برای production

Flannel
ساده و سبک، مناسب برای تست و شروع کار

Cilium
مبتنی بر eBPF، بسیار پیشرفته، مناسب برای امنیت و observability بالا

Weave Net
پیکربندی آسان، با encryption داخلی
Canal ترکیب Calico و Flannel
📦 بسته kube-cni چیست؟

در بعضی توزیع‌ها مثل Ubuntu/Debian:

بسته‌ای به نام kubernetes-cni یا kube-cni نصب می‌شود.

این بسته شامل فایل‌های باینری CNI در مسیر /opt/cni/bin است.

kubelet برای کار با شبکه نیاز دارد که این فایل‌ها در آن مسیر وجود داشته باشند.

#k8s #kubernetes
#ebpf

https://t.iss.one/unixmens
DevOps.pdf
6.5 MB
کتاب مرجع دواپس نسخه 0.5 را بصورت آزاد منتشر کردم . تقدیم عزیزان

کتاب مرجع Devops
نویسنده : مهندس یاشار اسمعیل دخت

#devops #book #yashar_esmaildokht #linux #k8s #kubernetes #cloud #team #technology

https://t.iss.one/unixmens
ceph radosgw.pdf
2.4 MB
کتاب radosgw که از سالها پیش نوشته بودم . تقدیم عزیزان


نویسنده : مهندس یاشار اسمعیل دخت

#devops #book #yashar_esmaildokht #linux #k8s #kubernetes #cloud #technology
#ceph #storage #sds #rados #radosgw #s3 #swift
https://t.iss.one/unixmens
sdn in [email protected]
1.5 MB
مقاله نحوه پیاده سازی sdn در proxmox تقدیم عزیزان

ا Software-Defined Networking (SDN) رویکردی نوین در مدیریت شبکه‌ها می‌باشد که با جداشدن لایه‌های کنترل و لایه‌های انتقال داده، امکان برنامه‌ریزی و کنترل مرکزی‌تر شبکه‌ها را فراهم می‌کند. در شبکه‌های سنتی، تصمیم‌گیری‌های مربوط به مسیریابی و تنظیمات شبکه بر روی دستگاه‌های سوییچ و مسیریاب انجام می‌شود. اما در SDN، این تصمیم‌گیری‌ها از طریق یک کنترلر نرم‌افزاری مرکزی صورت می‌گیرد.

یکی از موارد مهم در SDN، برنامه‌پذیری بالا است. این به معنای این است که مدیران شبکه می‌توانند از طریق استفاده از رابط‌های برنامه‌نویسی (APIs) تنظیمات و کنترل‌های شبکه را به صورت پویا و با تغییرات سریع انجام دهند. این ویژگی باعث افزایش انعطاف‌پذیری شبکه و سازگاری آن با نیازهای مختلف می‌شود.


#proxmox #linux #kvm #book #yashar_esmaildokht #sdn


https://t.iss.one/unixmens
🙏1