Sobes.tech
Middle

Ինչպե՞ս կարելի է սահմանափակել տարբեր անունների տարածքներում գտնվող ծրագրերի փոխազդեցությունը։

sobes.tech AI

Պատասխան AI-ից

Օգտագործեք ցանցային քաղաքականություններ:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-from-namespace
  namespace: default # Նեյմսփեյս, որտեղ գտնվում է ծառայությունը, որի հետ փոխազդեցությունը սահմանափակում ենք
spec:
  podSelector: {} # Կիրառվում է բոլոր պոդերի վրա այս նեյմսփեյսում
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          project: internal # Թույլատրել տրաֆիկ միայն այն նեյմսփեյսներից, որոնք ունեն label project: internal
    ports:
    - protocol: TCP
      port: 80 # Թույլատրել տրաֆիկ միայն 80 պորտի վրա

Այլ մոտեցումներ են ներառում.

  • Service Mesh (Istio, Linkerd): Ներկայացնում են ավելի մանրամասն վերահսկողություն տրաֆիկի վրա, ներառյալ mutual TLS (mTLS):
  • Firewall-ներ: Նոդի մակարդակով (iptables) կամ ամպային մատակարարի կողմից:
  • Ներքին մեխանիզմներ ծրագրերում: Օրինակ, API Gateway մակարդակով թույլտվություն։