A Comparison Of Linux Container Images❗️
چند وقته پیش به نوشته جالبی از آقای Scott McCarty برخورد کردم گفتم بزارم شاید دوستان هم استفاده کردند. موضوع مورد بحث این هست که ایشون یک مقایسه بسیار جالب از تمام Container Image های Base انجام دادهاند و از جهاتی چون موارد زیر آنهارو مقایسه کردهاند:
Architecture
Security
Binary Hardening
Performance
نکته جالبی هم راجب بحث ایمیج های DistroLess ارائه دادند که خوندنش خالی از لطف نبوده و دید نسبتا خوب و کاملی در انتخاب یک Base ایمیج متناسب با کارتون به شما میدهد.
ضمنا ایشون Content های به شدت پرمحتوایی در زمینه Container Internals و Container Standards ها دارن که میتونید در چنل یوتیوبشون اونهارو هم مطالعه کنید و استفاده کنید.
Link:
◾️
◾️
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
چند وقته پیش به نوشته جالبی از آقای Scott McCarty برخورد کردم گفتم بزارم شاید دوستان هم استفاده کردند. موضوع مورد بحث این هست که ایشون یک مقایسه بسیار جالب از تمام Container Image های Base انجام دادهاند و از جهاتی چون موارد زیر آنهارو مقایسه کردهاند:
Architecture
Security
Binary Hardening
Performance
نکته جالبی هم راجب بحث ایمیج های DistroLess ارائه دادند که خوندنش خالی از لطف نبوده و دید نسبتا خوب و کاملی در انتخاب یک Base ایمیج متناسب با کارتون به شما میدهد.
ضمنا ایشون Content های به شدت پرمحتوایی در زمینه Container Internals و Container Standards ها دارن که میتونید در چنل یوتیوبشون اونهارو هم مطالعه کنید و استفاده کنید.
Link:
◾️
https://crunchtools.com/comparison-linux-container-images/
Youtube Channel:◾️
https://www.youtube.com/channel/UCkWQhDzOxooYHp5LrTqnkdg
#container #docker #opensource #devops 〰️〰️〰️〰️〰️〰️
© @DevOpsEx
✔️ دوآپس به زبان ساده چیست؟ و از کجا اومد؟
🔶 اگه به هر نحوی با حوزه IT و نرمافزار سروکار دارید، آشنایی با اصول و فرهنگ DevOps برای توسعه چابک محصولات نرمافزاری از نون شب واجب تر هست.
🔥 ویدئو دوآپس به زبان ساده چیست رو از دست ندید
🖥 مشاهده در یوتوب:
👉 Link: https://www.youtube.com/watch?v=8PRC_Ot_yUc
با لایک و کامنت یوتوب انرژیمون رو چند برابر میکنید 😍
#devops #دوآپس #agile #software #دواپس
〰️〰️〰️〰️〰️
©️ @DevOpsEx | @AI_Python
🔶 اگه به هر نحوی با حوزه IT و نرمافزار سروکار دارید، آشنایی با اصول و فرهنگ DevOps برای توسعه چابک محصولات نرمافزاری از نون شب واجب تر هست.
🔥 ویدئو دوآپس به زبان ساده چیست رو از دست ندید
🖥 مشاهده در یوتوب:
👉 Link: https://www.youtube.com/watch?v=8PRC_Ot_yUc
با لایک و کامنت یوتوب انرژیمون رو چند برابر میکنید 😍
#devops #دوآپس #agile #software #دواپس
〰️〰️〰️〰️〰️
©️ @DevOpsEx | @AI_Python
همیشه برام جالب بود که دلیل اصلی اینکه پلتفرم هایی مثل کوبرنتیز و یا داکر سرویس هایی رو تحت عنوان docker-proxy و kube-proxy نوشتن و هدف نهایی پشت این سرویس ها چی بوده و از چه مشکلاتی جلوگیری می کنن؟
کار مهمی که امروزه این سرویسها انجام میدن این هست که بقولی ما بتونیم حتی از طریق Local Network به اون پاد یا کانتینر مد نظرمون برسیم ( مشخصا این سرویس ها وظایف دیگهای رو هم بر عهده دارند! ) چیزی که به شکل دیفالت در لینوکس ممکن نیست چرا که کرنل با پکت هایی که از شبکه داخلی آمده باشن 127.0.0.1/8 به شکلی خاصی رفتار میکنه چیزی که به ظاهر از RFC 1122 مقرر شده اینگونه باشه. به زبانی ساده تر، یک نود در شبکه هیچوقت پکتی که آدرس Destination اون 127.0.0.1 رو نمیتونه Transmit بکنه و به اصطلاح اون رو Drop میکنه.
ولی خب چیزی که همیشه مد نظرم بود ما بجای اینکه سرویسهایی بنویسیم مثل همون Proxy ها میتونیم به راحتی با ست کردن یک متغیر sysctl به نام route_localnet و یکمی بازی با IPTables مشکل رو حل کنیم یا دور بزنیم و به کانتینر مد نظرمون از طریق Localhost برسیم.
و خب بعد از حدود یک هفته تحقیق فهمیدم که در سال 2020 یک CVE-2020-8558 تحت همین سناریو بیرون آمد که اگر داکر یا کوبر با این متغیر کار بکنن چه مشکلی پیش میاد.
A flaw was found in Kubernetes that allows attackers on adjacent networks to reach services exposed on localhost ports, previously thought to be unreachable. This flaw allows an attacker to gain privileges or access confidential information for any services listening on localhost ports that are not protected by authentication.
و چقدر اون موقع به شکل راحتی سرویسهایی که به 127.0.0.1 به اصطلاح Bind شدن بدون هیچگونه Authentication و یا Encryption ای میتونن Expose بشن به خودی خود! که خب همین عامل باعث شد که داکر و یا کوبر سرویس هایی رو برای مدیریت بهتر این مشکلات بنویسن چرا که لینوکس به شکل دیفالت حتی Rule های IPTables رو برای پکت های Local Network در نظر نمیگیره !!
CVE-2020-8558:
◾️Link 1 Link 2
For More Info:
◾️Link 3
#container #docker #opensource #devops #devsecops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
کار مهمی که امروزه این سرویسها انجام میدن این هست که بقولی ما بتونیم حتی از طریق Local Network به اون پاد یا کانتینر مد نظرمون برسیم ( مشخصا این سرویس ها وظایف دیگهای رو هم بر عهده دارند! ) چیزی که به شکل دیفالت در لینوکس ممکن نیست چرا که کرنل با پکت هایی که از شبکه داخلی آمده باشن 127.0.0.1/8 به شکلی خاصی رفتار میکنه چیزی که به ظاهر از RFC 1122 مقرر شده اینگونه باشه. به زبانی ساده تر، یک نود در شبکه هیچوقت پکتی که آدرس Destination اون 127.0.0.1 رو نمیتونه Transmit بکنه و به اصطلاح اون رو Drop میکنه.
ولی خب چیزی که همیشه مد نظرم بود ما بجای اینکه سرویسهایی بنویسیم مثل همون Proxy ها میتونیم به راحتی با ست کردن یک متغیر sysctl به نام route_localnet و یکمی بازی با IPTables مشکل رو حل کنیم یا دور بزنیم و به کانتینر مد نظرمون از طریق Localhost برسیم.
و خب بعد از حدود یک هفته تحقیق فهمیدم که در سال 2020 یک CVE-2020-8558 تحت همین سناریو بیرون آمد که اگر داکر یا کوبر با این متغیر کار بکنن چه مشکلی پیش میاد.
A flaw was found in Kubernetes that allows attackers on adjacent networks to reach services exposed on localhost ports, previously thought to be unreachable. This flaw allows an attacker to gain privileges or access confidential information for any services listening on localhost ports that are not protected by authentication.
و چقدر اون موقع به شکل راحتی سرویسهایی که به 127.0.0.1 به اصطلاح Bind شدن بدون هیچگونه Authentication و یا Encryption ای میتونن Expose بشن به خودی خود! که خب همین عامل باعث شد که داکر و یا کوبر سرویس هایی رو برای مدیریت بهتر این مشکلات بنویسن چرا که لینوکس به شکل دیفالت حتی Rule های IPTables رو برای پکت های Local Network در نظر نمیگیره !!
CVE-2020-8558:
◾️Link 1 Link 2
For More Info:
◾️Link 3
#container #docker #opensource #devops #devsecops
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
Dustin Specker
iptables: How Docker Publishes Ports
The next question to answer after writing How do Kubernetes and Docker create IP Addresses?! is “How does Docker handle publishing ports?”
In the previous post, we created our own network namespaces, virtual interfaces, and assigned IP addresses to these…
In the previous post, we created our own network namespaces, virtual interfaces, and assigned IP addresses to these…
DevOps Expert
خب همه مطمئنا با انواع تایپ و مدل های پروکسی در اکوسیستم کوبرنتیز مثل kubectl proxy و apiserver proxy و از همه مهم تر ماژولی تحت عنوان kube-proxy آشنا هستیم و خب این موضوع رو هم میدونیم که بخش های عمده و مهمی از جادوی پشت بحث networking کوبر مثل بحث ریسورس…
Proxies in Kubernetes
◾️
◾️
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
◾️
https://kubernetes.io/docs/concepts/cluster-administration/proxies/
Cracking Kubernetes Node Proxy (aka kube-proxy)◾️https://arthurchiao.art/blog/cracking-k8s-node-proxy/Connection Tracking (conntrack)
◾️https://arthurchiao.art/blog/conntrack-design-and-implementation/
A Deep Dive into Iptables and Netfilter Architecture◾️https://www.digitalocean.com/community/tutorials/a-deep-dive-into-iptables-and-netfilter-architecture
Awesome BPF Resources◾️
https://arthurchiao.art/blog/awesome-bpf/
#container #kubernetes #opensource #devops #devsecops #networking〰️〰️〰️〰️〰️〰️
© @DevOpsEx
⚡️What is DevSecOps?⚡️
DevSecOps stands for development, security, and operations. It's an approach to culture, automation, and platform design that integrates security as a shared responsibility throughout the entire IT lifecycle.
DevSecOps means thinking about application and infrastructure security from the start. It also means automating some security gates to keep the DevOps workflow from slowing down. Selecting the right tools to continuously integrate security, like agreeing on an integrated development environment (IDE) with security features, can help meet these goals. However, effective DevOps security requires more than new tools—it builds on the cultural changes of DevOps to integrate the work of security teams sooner rather than later.
Refs:
◾️DevSecOps Redhat
◾️GitHub Repo Resources
◾️OWASP DevSecOps
◾️DevSecOps Culture
◾️DevSecOps GitHub
#DevOps #DevSecOps #Security #Development #Operation #IT #Lifecycle #ITLifecycle #Hardening
〰️〰️〰️〰️〰️
©️ @DevOpsEx
DevSecOps stands for development, security, and operations. It's an approach to culture, automation, and platform design that integrates security as a shared responsibility throughout the entire IT lifecycle.
DevSecOps means thinking about application and infrastructure security from the start. It also means automating some security gates to keep the DevOps workflow from slowing down. Selecting the right tools to continuously integrate security, like agreeing on an integrated development environment (IDE) with security features, can help meet these goals. However, effective DevOps security requires more than new tools—it builds on the cultural changes of DevOps to integrate the work of security teams sooner rather than later.
Refs:
◾️DevSecOps Redhat
◾️GitHub Repo Resources
◾️OWASP DevSecOps
◾️DevSecOps Culture
◾️DevSecOps GitHub
#DevOps #DevSecOps #Security #Development #Operation #IT #Lifecycle #ITLifecycle #Hardening
〰️〰️〰️〰️〰️
©️ @DevOpsEx
⚡️A Linux SysAdmin's Introduction To Cgroups⚡️
Control groups (cgroups) are a Linux kernel mechanism for fine-grained control of resources. Originally put forward by Google engineers in 2006, cgroups were eventually merged into the Linux kernel around 2007.
While there are currently two versions of cgroups, most distributions and mechanisms use version 1, as it has been in the kernel since 2.6.24. Like with most things added into the mainline kernel, there was not a huge adoption rate at first.
Version 2 continues this trend, having been around for almost half a decade but still not widely deployed.
Links:
〰️〰️〰️〰️〰️
©️ @DevOpsEx
Control groups (cgroups) are a Linux kernel mechanism for fine-grained control of resources. Originally put forward by Google engineers in 2006, cgroups were eventually merged into the Linux kernel around 2007.
While there are currently two versions of cgroups, most distributions and mechanisms use version 1, as it has been in the kernel since 2.6.24. Like with most things added into the mainline kernel, there was not a huge adoption rate at first.
Version 2 continues this trend, having been around for almost half a decade but still not widely deployed.
Links:
◾️https://www.redhat.com/sysadmin/cgroups-part-one
◾️https://www.redhat.com/sysadmin/cgroups-part-two
◾️https://www.redhat.com/sysadmin/cgroups-part-three
◾️https://www.redhat.com/sysadmin/cgroups-part-four
Pic Source:◻️https://twitter.com/b0rk#DevOps #DevSecOps #Security #Development #Operation #IT #Linux #Kernel
〰️〰️〰️〰️〰️
©️ @DevOpsEx
✔️ آموزش CI/CD به زبان ساده
دوره جدید و آپدیت شده CI/CD رو توی یوتوب شروع کردم ✌️
در اولین ویدئو به سراغ آموزش مفاهیم بنیادین CI/CD میریم
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/pBpadEF5x9A
#devops #CICD #دوآپس
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
دوره جدید و آپدیت شده CI/CD رو توی یوتوب شروع کردم ✌️
در اولین ویدئو به سراغ آموزش مفاهیم بنیادین CI/CD میریم
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/pBpadEF5x9A
#devops #CICD #دوآپس
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍17❤5🔥1
✔️ تفاوت استقرار مداوم و تحویل مداوم نرمافزار در CI/CD
در این ویدئو به سراغ یکی از مهمترین بخشهای CI/CD میریم
و راجع به نحوه آپدیت محصولات شرکت گوگل نظیر Gmail و YouTube صحبت میکنیم
و تفاوت بین Continuous Deployment و Continuous Delivery رو از جنبه های تکنیکال و بیزینس بررسی میکنیم.
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/IXIYXZC0FJU
#devops #CICD #دوآپس
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
در این ویدئو به سراغ یکی از مهمترین بخشهای CI/CD میریم
و راجع به نحوه آپدیت محصولات شرکت گوگل نظیر Gmail و YouTube صحبت میکنیم
و تفاوت بین Continuous Deployment و Continuous Delivery رو از جنبه های تکنیکال و بیزینس بررسی میکنیم.
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/IXIYXZC0FJU
#devops #CICD #دوآپس
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍5🔥2🤩1
✔️ پایپ لاین ایدهآل CI/CD
در این ویدئو به بررسی یک پایپلاین ایدهآل CI/CD میپردازیم و راجع به انواع تستهای پرکاربرد نرمافزار نظیر:
1. Unit Test
2. Integration Test
3. End-to-End Test
4. Smoke Test
5. Security Test
6. White-box & Black-box Test
7. Performance Test
8. Scalibility Test
9. Load Test
10. Stress Test
11. etc.
صحبت میکنیم.
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/Zrtdon8XH4M
#devops #CICD #دوآپس
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
در این ویدئو به بررسی یک پایپلاین ایدهآل CI/CD میپردازیم و راجع به انواع تستهای پرکاربرد نرمافزار نظیر:
1. Unit Test
2. Integration Test
3. End-to-End Test
4. Smoke Test
5. Security Test
6. White-box & Black-box Test
7. Performance Test
8. Scalibility Test
9. Load Test
10. Stress Test
11. etc.
صحبت میکنیم.
🖥 مشاهده در یوتوب
👉 Link: https://youtu.be/Zrtdon8XH4M
#devops #CICD #دوآپس
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
🔥10👍3❤2
خب بعد از چند وقت بریم سراغ ادامه تاپیک جذاب همیشگی یعنی Container Networking ولی اینبار یکمی دقیقتر راجب طرز پیادهسازیش تو Kubernetes و نگاهی به بخشی از بقولی Under The Hood مکانیزمهای استفادهشده برای تحقق این موضوع، چیزهایی مثل طرز پیادهسازی سرویس Kube-Proxy تو دو مد iptables و IPVS و تفاوتهاشون به شکل دقیق و همینطور روشهایی که CNI هایی مثل Calico برای Advertise کردن CIDR پاد استفاده میکنن یعنی دو تکنولوژی BGP و BIRD و درنهایت پیادهسازی OverLay Network به کمک مفاهیمی چون VXLAN و IPinIP.
◽️این پست ادامه بحث این پسته.
◽️عمده ریسورسهای معرفیشده در لینکهای زیر توسط آقای Dustin Specker نوشته شده است یکی از بهترینهای این حوزه!
⚡️Links⚡️
Container Networking Series:
◾️
◾️
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
◽️این پست ادامه بحث این پسته.
◽️عمده ریسورسهای معرفیشده در لینکهای زیر توسط آقای Dustin Specker نوشته شده است یکی از بهترینهای این حوزه!
⚡️Links⚡️
Container Networking Series:
...◾️
iptables: How Kubernetes Services Direct Traffic to Pods
IPVS: How Kubernetes Services Direct Traffic to Pods
Kubernetes Networking from Scratch: Using BGP and BIRD to Advertise Pod Routes
...
https://dustinspecker.com/series/container-networking/
Deep Dive Kube-Proxy With iptables Mode:◾️
https://serenafeng.github.io/2020/03/26/kube-proxy-in-iptables-mode/
Container Networking From Scratch - Kristen Jacobs:◾️
https://www.youtube.com/watch?v=6v_BDHIgOY8
#container #kubernetes #opensource #devops #devsecops #networking〰️〰️〰️〰️〰️〰️
© @DevOpsEx
Telegram
DevOps Expert in DevOps Expert General Group
خب همه مطمئنا با انواع تایپ و مدل های پروکسی در اکوسیستم کوبرنتیز مثل kubectl proxy و apiserver proxy و از همه مهم تر ماژولی تحت عنوان kube-proxy آشنا هستیم و خب این موضوع رو هم میدونیم که بخش های عمده و مهمی از جادوی پشت بحث networking کوبر مثل بحث ریسورس…
🔥10👍4👏1
⚡️PrometheusIO⚡️
خب اینبار یکمی تو مباحث Monitoring عمیق بشیم به شکل خاص ابزار Prometheus و ببینیم Under The Hood به چه شکلی داره کار میکنه و TSDB که خودشون بصورت Native پیادهسازی کردن به چه شکل هست؟ یا اصلا TSDB هست یا نه؟! یکمی تاریخچه توسعه Prometheus رو مرور کنیم باهم! در نهایت هم یکمی بهتر و عمیق تر مدل Data & Query پیادهسازی شده تو Prometheus (با استفاده از PromQL) رو درک کنیم و یه منبع خوب هم از Trick ها و Insight های باارزش در پیادهسازی و کار با Prometheus رو داشته باشیم باهم!
◾️Brief Illustrated History Of Prometheus by Martin Chodúr
◾️Prometheus TSDB Under The Hood 7 Parts by Ganesh Vernekar
◾️Learning Series Of Prometheus and PromQL by Ivan Velichko
◾️Prometheus Data & Query Model Twitter Thread by Ivan Velichko
◾️Get The Most Out Of Your Prometheus by Brian Brazil
پ.ن: تمامی افراد ذکر شده یا از Core Developer های خوده پروژه Prometheus و یا شرکت Grafana هستند یا از Contributor های پروژه Prometheus 🌹🤘
#linux #monitoring #tsdb #devops #prometheus
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
خب اینبار یکمی تو مباحث Monitoring عمیق بشیم به شکل خاص ابزار Prometheus و ببینیم Under The Hood به چه شکلی داره کار میکنه و TSDB که خودشون بصورت Native پیادهسازی کردن به چه شکل هست؟ یا اصلا TSDB هست یا نه؟! یکمی تاریخچه توسعه Prometheus رو مرور کنیم باهم! در نهایت هم یکمی بهتر و عمیق تر مدل Data & Query پیادهسازی شده تو Prometheus (با استفاده از PromQL) رو درک کنیم و یه منبع خوب هم از Trick ها و Insight های باارزش در پیادهسازی و کار با Prometheus رو داشته باشیم باهم!
◾️Brief Illustrated History Of Prometheus by Martin Chodúr
◾️Prometheus TSDB Under The Hood 7 Parts by Ganesh Vernekar
◾️Learning Series Of Prometheus and PromQL by Ivan Velichko
◾️Prometheus Data & Query Model Twitter Thread by Ivan Velichko
◾️Get The Most Out Of Your Prometheus by Brian Brazil
پ.ن: تمامی افراد ذکر شده یا از Core Developer های خوده پروژه Prometheus و یا شرکت Grafana هستند یا از Contributor های پروژه Prometheus 🌹🤘
#linux #monitoring #tsdb #devops #prometheus
〰️〰️〰️〰️〰️〰️
© @DevOpsEx
👍8🐳8❤1👏1