🔵 عنوان مقاله
Kubernetes Headaches: Unsticking StatefulSets from EBS ReadWriteMany Drama
🟢 خلاصه مقاله:
با اجرای سرویسهای دارای حالت روی Kubernetes، خیلی زود محدودیت اصلی نمایان میشود: EBS در AWS برای ReadWriteMany طراحی نشده و همین باعث گیرکردن StatefulSetها، Pending شدن پادها و مشکل در اتصال ولومها بین نودها میشود. راهحلها سه مسیر اصلی دارند: یا ماهیت ReadWriteOnce را بپذیرید و هر replica را در همان AZ و کنار EBS خودش نگه دارید (با تنظیمات topology و ReadWriteOncePod)، یا به یک RWX واقعی مهاجرت کنید (EFS با EFS CSI و Access Pointها، یا سیستمهای توزیعشده مانند Rook Ceph/Longhorn/OpenEBS)، یا معماری برنامه را طوری بازطراحی کنید که نیاز به RWX از بین برود (sharding، استفاده از S3 برای blobها، و stream کردن WAL/backup).
برای مهاجرت امن: از VolumeSnapshot یا Jobهای کپی داده (rsync) بین PVCهای قدیم (EBS) و جدید (EFS/RWX) استفاده کنید، StatefulSet را بهصورت ترتیبی scale down کنید، persistentVolumeClaimRetentionPolicy را برای حفظ PVCها تنظیم کنید، StorageClass را در volumeClaimTemplates عوض کنید و سپس بهتدریج scale up کنید. رعایت PDB، readiness، fsGroup، و IRSA برای درایورهای CSI حیاتی است و باید قبل از سوییچ نهایی، کارایی و برگشتپذیری را با fio و پشتیبانگیری (Velero/اسنپشاتها) تست کرد. بهطور خلاصه: یا با EBS و تکنویسنده کنار بیایید، یا به EFS/ذخیرهسازی توزیعشده بروید؛ تلاش برای RWX با EBS معمولاً فقط مشکل را عقب میاندازد.
#Kubernetes #StatefulSet #EBS #EFS #RWX #CSI #AWS #CloudStorage
🟣لینک مقاله:
https://ku.bz/Zg29dRHx4
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Kubernetes Headaches: Unsticking StatefulSets from EBS ReadWriteMany Drama
🟢 خلاصه مقاله:
با اجرای سرویسهای دارای حالت روی Kubernetes، خیلی زود محدودیت اصلی نمایان میشود: EBS در AWS برای ReadWriteMany طراحی نشده و همین باعث گیرکردن StatefulSetها، Pending شدن پادها و مشکل در اتصال ولومها بین نودها میشود. راهحلها سه مسیر اصلی دارند: یا ماهیت ReadWriteOnce را بپذیرید و هر replica را در همان AZ و کنار EBS خودش نگه دارید (با تنظیمات topology و ReadWriteOncePod)، یا به یک RWX واقعی مهاجرت کنید (EFS با EFS CSI و Access Pointها، یا سیستمهای توزیعشده مانند Rook Ceph/Longhorn/OpenEBS)، یا معماری برنامه را طوری بازطراحی کنید که نیاز به RWX از بین برود (sharding، استفاده از S3 برای blobها، و stream کردن WAL/backup).
برای مهاجرت امن: از VolumeSnapshot یا Jobهای کپی داده (rsync) بین PVCهای قدیم (EBS) و جدید (EFS/RWX) استفاده کنید، StatefulSet را بهصورت ترتیبی scale down کنید، persistentVolumeClaimRetentionPolicy را برای حفظ PVCها تنظیم کنید، StorageClass را در volumeClaimTemplates عوض کنید و سپس بهتدریج scale up کنید. رعایت PDB، readiness، fsGroup، و IRSA برای درایورهای CSI حیاتی است و باید قبل از سوییچ نهایی، کارایی و برگشتپذیری را با fio و پشتیبانگیری (Velero/اسنپشاتها) تست کرد. بهطور خلاصه: یا با EBS و تکنویسنده کنار بیایید، یا به EFS/ذخیرهسازی توزیعشده بروید؛ تلاش برای RWX با EBS معمولاً فقط مشکل را عقب میاندازد.
#Kubernetes #StatefulSet #EBS #EFS #RWX #CSI #AWS #CloudStorage
🟣لینک مقاله:
https://ku.bz/Zg29dRHx4
➖➖➖➖➖➖➖➖
👑 @DevOps_Labdon
Medium
Kubernetes Headaches: Unsticking StatefulSets from EBS ReadWriteMany Drama
Note: This post assumes some familiarity with AWS EKS, Kubernetes StatefulSets, and EBS volumes.