جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • خدمات
  • دوره‌های آموزشی
    • Fundamental
    • DevOps
    • CI/CD
    • Kubernetes
    • Linux
    • Monitoring
  • مسیر یادگیری
  • تقویم آموزشی
  • بلاگ
  • تماس با ما
پکاپس - دواپس را به سادگی یاد بگیرید
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

یک رمز به نشانی ایمیل شما فرستاده خواهد شد.

ارسال مجدد کد یکبار مصرف (00:120)
  • 09104610074
  • packops.ir@
پکاپس - دواپس را به سادگی یاد بگیرید
  • صفحه اصلی
  • خدمات
  • دوره‌های آموزشی
    • Fundamental
    • DevOps
    • CI/CD
    • Kubernetes
    • Linux
    • Monitoring
  • مسیر یادگیری
  • تقویم آموزشی
  • بلاگ
  • تماس با ما
ورود/عضویت
0

وبلاگ

پکاپس - دواپس را به سادگی یاد بگیرید > بلاگ آموزشی > مقالات > اعمال پالیسی روی کوبرنتیز با کیورنو – kyverno

اعمال پالیسی روی کوبرنتیز با کیورنو – kyverno

23 بهمن 1403
ارسال شده توسط Farshad Nickfetrat
مقالات
پالیسی منیجمنت با کیورنو در کوبرنتیز

Policy Management در کوبرنتیزه دقیقا چیه ؟

 

مدیریت policy  در Kubernetes به معنای تنظیم قوانینی برای کنترل نحوه استفاده از منابع، سطح دسترسی کاربران و رفتار ورک‌لودها است. این کار باعث افزایش امنیت، انطباق با قوانین و پایداری کلاستر می‌شود.

چرا مدیریت Policy مهم است؟

  • امنیت: جلوگیری از دسترسی غیرمجاز و اجرای بهترین روش‌ها.
  • انطباق: اطمینان از رعایت قوانین شرکتی و مقررات قانونی.
  • پایداری: جلوگیری از سوءاستفاده از منابع و حفظ سلامت کلاستر.

ابزارهایی مانند Kyverno و OPA Gatekeeper به صورت خودکار این سیاست‌ها را اجرا می‌کنند.

 
 

 

 

بریم سراغ اجرا یک سناریو جذاب

 

سناریو چیست؟

می‌خواهیم اطمینان حاصل کنیم که هر Pod دارای label app باشد. اگر این برچسب وجود نداشته باشد، Kyverno باید آن را مسدود کند.

 
 

 

 

۱- نصب Kyverno

نصب از طریق helm

				
					helm repo add kyverno https://kyverno.github.io/kyverno/
helm repo update
helm install kyverno kyverno/kyverno -n kyverno --create-namespace
				
			

نصب از طریق Manifest:

				
					kubectl create -f https://github.com/kyverno/kyverno/releases/download/v1.11.1/install.yaml

				
			

۱-۱ نصب CLI مربوط به Kyverno

برای سیستم عامل لینوکس

				
					curl -LO https://github.com/kyverno/kyverno/releases/download/v1.12.0/kyverno-cli_v1.12.0_linux_x86_64.tar.gz
tar -xvf kyverno-cli_v1.12.0_linux_x86_64.tar.gz
sudo cp kyverno /usr/local/bin/

				
			

برای سیستم عامل مک

 
 

 

 

				
					brew install kyverno

				
			

برای سیستم عامل archlinux

 
 

 

 

				
					yay -S kyverno-git
				
			

2- تعریف یک سیاست (Policy)

 

 
 

 

 

پالیسی که مد نظر ما هست اینه که هیچ دیپلویمنی روی کوبرنتیز بدون داشتن لیبل app (هر مقداری میتونه داشته باشه ) دیپلوی نشه

				
					#policy.yml
apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: require-app-label
spec:
  validationFailureAction: Enforce
  rules:
  - name: check-for-app-label
    match:
      resources:
        kinds:
        - Pod
    validate:
      message: "تمام پادها باید برچسب 'app' داشته باشند."
      pattern:
        metadata:
          labels:
            app: "?*"

				
			

فیلد validationFailureAction در Kyverno مشخص می‌کند که در صورت نقض قوانین، چه رفتاری اتخاذ شود. دو حالت اصلی دارد:

  • Audit (پیش‌فرض): برای تست سیاست‌ها و نظارت بر تخلفات.
  • Enforce: برای اجرای قوانین سخت‌گیرانه امنیتی و انطباق.

 

 
 

 

 

پالیسی رو بسازید

				
					kubectl apply -f policy.yml
				
			

۳- ایجاد یک پاد بدون برچسب app و تست پالیسی

				
					#pod.yml
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
spec:
  containers:
  - name: nginx
    image: nginx

				
			

پاد رو بسازید

 
 

 

 

				
					kubectl apply -f pod.yml

				
			

                                                این پاد باید توسط Kyverno اجازه دیپلوی شدن نداشته باشه و رد بشه

۴- تست پالیسی

 
 

 

 

برای تست صحت اجرای سیاست می‌توانیم دستور زیر را اجرا کنیم:

				
					kyverno apply policy.yml --resource pod.yml

				
			
  • policy.yml → سیاست Kyverno (مثلاً الزام وجود برچسب).
  • pod.yml → منبع Kubernetes که می‌خواهیم تست کنیم.

سایر ابزارهای مدیریت Policy در کوبرنتیز

علاوه بر Kyverno، ابزار OPA Gatekeeper نیز برای مدیریت پالیسی در Kubernetes استفاده می‌شود. من قبلاً مقاله‌ای در این زمینه نوشتم که می‌توانید از لینک زیر مطالعه کنید:

اجرای سیاست‌های Kubernetes با Gatekeeper

 
 

 

 

درباره نویسنده

سلام 👋، من فرشاد نیک‌فطرت، مدرس و مشاور Devops هستم.

  • 📝 به‌طور منظم مقالاتی در packops.dev و packops.ir منتشر می‌کنم.
  • 💬 از من درباره DevOps، Cloud، Kubernetes، Linux بپرسید.
  • 📫 می‌توانید از طریق لینکدین با من در ارتباط باشید.
 
 

 

 

برچسب ها: CKAkuberneteskyvernoفرشادـنیکـقطرتکوبرنتیزـپالیسی
قبلی فرق پاد با کانتینر چیه ؟
بعدی devops چیست

دیدگاهتان را بنویسید لغو پاسخ

نوشته‌های تازه

  • ساخت اکانت رایگان aws با AWS Education
  • devops چیست
  • اعمال پالیسی روی کوبرنتیز با کیورنو – kyverno
  • فرق پاد با کانتینر چیه ؟
  • الکامپ استان گیلان

آخرین دیدگاه‌ها

دیدگاهی برای نمایش وجود ندارد.

دسته‌ها

  • اخبار
  • پادکست‌ها
  • چیت شیت
  • دانلود کتاب
  • دسته‌بندی نشده
  • مقالات
نمی‌دانید از کجا شروع کنید؟

نقشه راه یادگیری DevOps

شروع یادگیری

یادگیری Devops از جنس تجربه عملی

  • تهران، کارخانه نوآوری هفت و هشت
  • 09104610074
Instagram Telegram Youtube

پکاپس

  • خدمات دواپس
  • خدمات سازمانی
  • درباره ما
  • نقشه راه یادگیری
  • فروشگاه پکاپس
  • بلاگ آموزشی
  • سوالات متداول
  • تماس با ما

دسته‌بندی دوره‌ها

  • Fundamental
  • DevOps
  • CI/CD
  • Kubernetes
  • Linux
  • Monitoring
  • Fundamental
  • DevOps
  • CI/CD
  • Kubernetes
  • Linux
  • Monitoring

خبرنامه

از برگزاری دوره‌ها و رویدادهای پکاپس زودتر از همه با خبر شوید.

© 2024 کلیه حقوق برای پکاپس محفوظ می‌باشد.

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://packops.ir/?p=9216
ورود
با شماره موبایل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
بازنشانی رمزعبور
با شماره موبایل
ثبت نام
قبلا عضو شده اید؟ اکنون وارد شوید
مرورگر شما از HTML5 پشتیبانی نمی کند.