āĻŦāĻŋāĻāĻĻā§āĻ°āĻ. āĻ
āĻ¨ā§āĻŦāĻžāĻĻ: āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋāĻ° āĻ˛ā§āĻāĻ - āĻ°āĻŋāĻāĻā§āĻ¨ āĻšā§āĻ¯āĻžāĻ°āĻŋāĻ¸āĻ¨ - āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻā§ 20 āĻŦāĻāĻ°ā§āĻ° āĻŦā§āĻļāĻŋ āĻ
āĻāĻŋāĻā§āĻāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ āĻāĻ āĻ¤āĻŋāĻ¨āĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¨ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋ Tufin-āĻāĻ° CTO āĻāĻŦāĻ āĻ¸āĻš-āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻžāĻ¤āĻžā§ˇ āĻ¯āĻĻāĻŋāĻ āĻ¤āĻŋāĻ¨āĻŋ Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻāĻ°ā§āĻ¨, āĻ¤āĻŋāĻ¨āĻŋ āĻāĻāĻžāĻ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻāĻ¤ āĻ¸āĻšāĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋ (āĻŦāĻ°āĻ āĻĒā§āĻ°āĻā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§) āĻāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻŦāĻŋāĻļā§āĻˇāĻā§āĻāĻĻā§āĻ° āĻ¸āĻā§āĻ¤āĻ¨āĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋāĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻāĻ°āĻžāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§āĨ¤
āĻāĻ, āĻ āĻ¨ā§āĻ āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋ āĻā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨āĻāĻžāĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ Kubernetes āĻŦā§āĻā§ āĻ¨āĻŋāĻā§āĻā§āĨ¤ āĻāĻ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻāĻŋāĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻā§āĻ°āĻš āĻāĻ¤ āĻŦā§āĻļāĻŋ āĻ¯ā§ āĻā§āĻ āĻā§āĻ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸āĻā§ "āĻĄā§āĻāĻž āĻ¸ā§āĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻ¤ā§āĻ¨ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ" āĻŦāĻ˛ā§ āĻ āĻāĻŋāĻšāĻŋāĻ¤ āĻāĻ°ā§āĻ¨āĨ¤ āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§, Kubernetes (āĻŦāĻž k8s) āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ° āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ āĻāĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻā§ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¸āĻš āĻĒāĻ°āĻŋāĻĒāĻā§āĻ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻāĻāĻ āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻĒā§āĻļāĻžāĻĻāĻžāĻ°āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻžāĻ°āĻž āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĻ¨, āĻāĻ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻāĻŦāĻŋāĻˇā§āĻāĻžāĻ° āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻ¸āĻŦāĻāĻŋāĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨āĨ¤
āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ° āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻžāĻāĻā§āĻ˛āĻŋ āĻŦā§āĻāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§; āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ā§āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĨā§āĻā§ āĻ¤āĻžāĻ°āĻž āĻā§āĻāĻžāĻŦā§ āĻāĻ˛āĻžāĻĻāĻž āĻ¤āĻž āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻāĻŋāĻā§ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§āĻ āĻāĻĨāĻž āĻŦāĻ˛āĻŦā§ āĻāĻŦāĻ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻĻā§āĻŦā§ āĻ¯āĻž āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§ā§ˇ
Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ
Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸ā§āĻ¤āĻ°ā§ (OSI āĻŽāĻĄā§āĻ˛ā§āĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ) āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻ§ā§āĻ¨āĻŋāĻ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ā§āĻ° āĻāĻŋāĻā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻ āĻāĻžāĻŦ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯ā§āĻŽāĻ¨ OSI āĻ¸ā§āĻ¤āĻ° 7 āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻŦāĻ āĻšā§āĻŽāĻāĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤āĻāĻ°āĻŖ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻŽā§āĻ˛āĻŋāĻ āĻ¸ā§āĻ¤āĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻž āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ¸ā§āĻāĻ¨āĻž āĻŦāĻŋāĻ¨ā§āĻĻā§āĨ¤
āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒāĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°ā§
Kubernetes-āĻ āĻāĻžāĻā§āĻ° āĻāĻžāĻĒāĻā§āĻ˛āĻŋ āĻĒāĻĄ āĻā§āĻĄāĻŧā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻĒāĻžāĻ¤ā§āĻ°ā§ āĻāĻāĻ¤ā§āĻ°ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻĄāĻā§ āĻ āĻ¨ā§āĻ¯ āĻĒāĻĄ āĻĨā§āĻā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§āĨ¤ Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒāĻĄā§āĻ° āĻā§āĻˇā§āĻ ā§āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ āĻŋāĻ āĻāĻ°ā§ āĻ¯ā§āĻāĻžāĻŦā§ āĻā§āĻ˛āĻžāĻāĻĄā§āĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻā§āĻˇā§āĻ ā§āĻā§āĻ˛āĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻĻā§āĻˇā§āĻāĻžāĻ¨ā§āĻ¤āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž
āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ Kubernetes āĻ¸āĻŽā§āĻĒāĻĻā§āĻ° āĻŽāĻ¤, āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ YAML-āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻāĻā§āĨ¤ āĻ¨ā§āĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ balance
āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻā§āĻ˛ā§ postgres
:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.postgres
namespace: default
spec:
podSelector:
matchLabels:
app: postgres
ingress:
- from:
- podSelector:
matchLabels:
app: balance
policyTypes:
- Ingress
(āĻŦāĻŋāĻāĻĻā§āĻ°āĻ. āĻ
āĻ¨ā§āĻŦāĻžāĻĻ: āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻļāĻāĻāĻŋ, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻļāĻāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§, āĻ¨ā§āĻāĻŋāĻ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ¤āĻŦā§ Tufin Orca āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻŽā§āĻ˛ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻ˛ā§āĻāĻā§āĻ° āĻā§āĻŽā§āĻĒāĻžāĻ¨āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ¯āĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻļā§āĻˇā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤)
āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ YAML āĻāĻ° āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ āĻā§āĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻ āĻāĻžāĻˇāĻžāĻāĻŋ āĻāĻ¨ā§āĻĄā§āĻ¨ā§āĻā§āĻļāĻ¨ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ (āĻ¸ā§āĻĒā§āĻ¸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ, āĻā§āĻ¯āĻžāĻŦ āĻ¨āĻ¯āĻŧ)āĨ¤ āĻāĻ¨ā§āĻĄā§āĻ¨ā§āĻ āĻāĻ°āĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋ āĻ¤āĻžāĻ° āĻāĻĒāĻ°ā§ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¨āĻŋāĻāĻāĻ¤āĻŽ āĻāĻ¨ā§āĻĄā§āĻ¨ā§āĻ āĻāĻ°āĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻāĻ¤āĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻšāĻžāĻāĻĢā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ, āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĢāĻ°ā§āĻŽā§āĻ° āĻĒā§āĻ°āĻā§āĻ¤ āĻŽā§āĻ˛ā§āĻ¯.
YAML-āĻ āĻ¨ā§āĻ¤āĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨
kubectl create -f policy.yaml
āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻ¸ā§āĻĒā§āĻ¸āĻŋāĻĢāĻŋāĻā§āĻļāĻ¨
Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻ¸ā§āĻĒā§āĻ¸āĻŋāĻĢāĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ°āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§:
-
podSelector
: āĻāĻ āĻ¨ā§āĻ¤āĻŋ (āĻ˛āĻā§āĻˇā§āĻ¯) āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻĒāĻĄ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ - āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ; -
policyTypes
: āĻāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¨ā§āĻ¤āĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§: āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻŦāĻ/āĻ āĻĨāĻŦāĻž āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ - āĻāĻā§āĻāĻŋāĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻ¸āĻŦ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋāĻā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ; -
ingress
: āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻāĻžāĻ°ā§āĻā§āĻ āĻĒāĻĄā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ - āĻāĻā§āĻāĻŋāĻ; -
egress
: āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§ āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻĒāĻĄ āĻĨā§āĻā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻāĻā§āĻāĻŋāĻ.
Kubernetes āĻ¸āĻžāĻāĻ āĻĨā§āĻā§ āĻ§āĻžāĻ° āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ (āĻāĻŽāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻāĻŋ role
āĻāĻĒāĻ° app
), āĻĻā§āĻāĻžāĻ¯āĻŧ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ°āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector: # <<<
matchLabels:
app: db
policyTypes: # <<<
- Ingress
- Egress
ingress: # <<<
- from:
- ipBlock:
cidr: 172.17.0.0/16
except:
- 172.17.1.0/24
- namespaceSelector:
matchLabels:
project: myproject
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 6379
egress: # <<<
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5978
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻžāĻ°āĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤ āĻāĻāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ podSelector
, āĻŦāĻžāĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĒāĻāĻ¨ā§āĻĻāĻ¸āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§.
āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻŦāĻžāĻĻ āĻĻā§āĻ policyTypes
, āĻ¨ā§āĻ¤āĻŋāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻŦā§:
- āĻĒā§āĻ°āĻŦā§āĻļā§āĻ° āĻĻāĻŋāĻāĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ§āĻ°ā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻ¨ā§āĻ¤āĻŋ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻ¨āĻž āĻāĻ°ā§, āĻ¤āĻŦā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋ āĻ§āĻ°ā§ āĻ¨ā§āĻŦā§ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§ā§ˇ
- āĻŦāĻšāĻŋāĻ°ā§āĻāĻŽāĻ¨ āĻĻāĻŋāĻā§āĻ° āĻāĻāĻ°āĻŖ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻŦāĻšāĻŋāĻ°ā§āĻāĻŽāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻŦāĻž āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻŦā§āĨ¤
āĻā§āĻ˛ āĻāĻĄāĻŧāĻžāĻ¤ā§, āĻāĻŽāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¤ā§ policyTypes
.
āĻāĻĒāĻ°ā§āĻ° āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§, āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° ingress
āĻāĻŦāĻ / āĻ
āĻĨāĻŦāĻž egress
āĻŦāĻžāĻĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°āĻžāĻĢāĻŋāĻāĻā§ āĻ
āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻŦā§ (āĻ¨ā§āĻā§ "āĻ¸ā§āĻāĻĒ āĻ°ā§āĻ˛" āĻĻā§āĻā§āĻ¨)āĨ¤
āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¨ā§āĻ¤āĻŋ - āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ
āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ, Kubernetes āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°āĻžāĻĢāĻŋāĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻ āĻŦāĻžāĻ§ā§ āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻĨā§āĻ¯ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻāĻāĻŋ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤āĻŽā§āĻā§ āĻŽāĻ¨ā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ Kubernetes āĻŽā§āĻ˛āĻ¤ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ āĻĒāĻžāĻ°ā§āĻŦāĻ˛ āĻāĻ°āĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻĒāĻ°ā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§.
āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨
āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻšāĻ˛ Kubernetes āĻ¸āĻšāĻ¯ā§āĻāĻŋāĻ¤āĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¸ā§āĻĒā§āĻ¸āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤āĻžāĻ°āĻž āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻĨā§āĻā§ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻā§ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ Kubernetes āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§, āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻŦāĻžāĻ¸ āĻāĻ°ā§āĨ¤ āĻŦā§āĻ˛āĻā§ metadata
āĻ¨ā§āĻ¤āĻŋāĻāĻŋ āĻā§āĻ¨ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻāĻ¤ āĻ¤āĻž āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: my-namespace # <<<
spec:
...
āĻ¯āĻĻāĻŋ āĻŽā§āĻāĻžāĻĄā§āĻāĻžāĻ¤ā§ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸āĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻ¨āĻž āĻāĻ°āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻāĻŋ kubectl-āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§ (āĻĄāĻŋāĻĢāĻ˛ā§āĻ namespace=default
):
kubectl apply -n my-namespace -f namespace.yaml
āĻāĻŽāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨, āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¨ā§āĻ¤āĻŋ āĻ˛āĻŋāĻāĻā§āĻ¨ āĻ¯āĻž āĻāĻāĻŦāĻžāĻ°ā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨āĻā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĨ¤
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨ podSelector
āĻĒāĻ˛āĻŋāĻ¸āĻŋāĻ¤ā§ āĻĒāĻ˛āĻŋāĻ¸āĻŋāĻāĻŋ āĻ¯ā§ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻŦā§ (āĻāĻāĻŋāĻ° āĻ
āĻ¨ā§āĻ¯ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¨ā§āĻ)āĨ¤
āĻāĻāĻāĻāĻžāĻŦā§, podSelectors āĻāĻ¨āĻā§āĻ°ā§āĻ¸ āĻāĻŦāĻ āĻāĻā§āĻ°ā§āĻ¸ āĻŦā§āĻ˛āĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻžāĻĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻĻāĻŋ āĻ¨āĻž, āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻ¨ namespaceSelector
(āĻāĻāĻŋ "āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ āĻāĻŦāĻ āĻĒāĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°" āĻŦāĻŋāĻāĻžāĻā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻŦā§)āĨ¤
āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻ¨āĻžāĻŽāĻāĻ°āĻŖā§āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ
āĻ¨ā§āĻ¤āĻŋāĻ° āĻ¨āĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻāĻ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻ¨āĻ¨ā§āĻ¯āĨ¤ āĻāĻāĻ āĻ¸ā§āĻĒā§āĻ¸ā§ āĻāĻāĻ āĻ¨āĻžāĻŽā§āĻ° āĻĻā§āĻāĻŋ āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻĒā§āĻ¸ā§ āĻāĻāĻ āĻ¨āĻžāĻŽā§āĻ° āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻāĻžāĻ§āĻŋāĻ āĻ¸ā§āĻĒā§āĻ¸ āĻā§āĻĄāĻŧā§ āĻāĻāĻ āĻ¨ā§āĻ¤āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻāĻ¨ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°āĨ¤
āĻāĻŽāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ āĻ¨āĻžāĻŽāĻāĻ°āĻŖā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŋāĨ¤ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ āĻĒāĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ āĻ¨āĻžāĻŽ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.postgres # <<<
namespace: default
spec:
podSelector:
matchLabels:
app: postgres
ingress:
- from:
- podSelector:
matchLabels:
app: admin
policyTypes:
- Ingress
āĻ˛ā§āĻŦā§āĻ˛
āĻāĻžāĻ¸ā§āĻāĻŽ āĻ˛ā§āĻŦā§āĻ˛āĻā§āĻ˛āĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§āĻŽāĻ¨ āĻĒāĻĄ āĻāĻŦāĻ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸āĨ¤ āĻ˛ā§āĻŦā§āĻ˛ (āĻ˛ā§āĻŦā§āĻ˛ āĻā§āĻ¯āĻžāĻ) āĻšāĻ˛ āĻā§āĻ˛āĻžāĻāĻĄā§āĻ° āĻā§āĻ¯āĻžāĻā§āĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯āĨ¤ Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻ˛ā§āĻŦā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻļā§āĻāĻāĻŋāĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯:
podSelector:
matchLabels:
role: db
âĻ āĻŦāĻž āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ°āĻž āĻāĻŦā§āĻĻāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻ˛ā§āĻŦā§āĻ˛ āĻ¸āĻš āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§:
namespaceSelector:
matchLabels:
project: myproject
āĻāĻāĻāĻŋ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž: āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ namespaceSelector
āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸āĻ āĻŋāĻ āĻ˛ā§āĻŦā§āĻ˛ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨. āĻ¸āĻā§āĻ¤āĻ¨ āĻĨāĻžāĻā§āĻ¨ āĻ¯ā§ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¯ā§āĻŽāĻ¨ default
и kube-system
, āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ˛ā§āĻŦā§āĻ˛ āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻŽāĻ¤ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻāĻāĻŋ āĻ˛ā§āĻŦā§āĻ˛ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
kubectl label namespace default namespace=default
āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻŦāĻŋāĻāĻžāĻā§ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ metadata
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻā§āĻ¤ āĻ¨āĻžāĻŽ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤, āĻ˛ā§āĻŦā§āĻ˛ āĻ¨āĻ¯āĻŧ:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default # <<<
spec:
...
āĻā§āĻ¸ āĻāĻŦāĻ āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯
āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻ¤ā§āĻ¸ āĻāĻŦāĻ āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤ā§ˇ Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯ āĻĒāĻĄā§āĻ° āĻ¸ā§āĻ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻŦāĻ/āĻ
āĻĨāĻŦāĻž āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¸ā§āĻ āĻāĻ°ā§āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻāĻžāĻ°ā§āĻā§āĻ āĻšāĻŦā§ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ default
āĻā§ āĻ˛ā§āĻŦā§āĻ˛ āĻ¸āĻš app
āĻāĻŦāĻ āĻ
āĻ°ā§āĻĨ db
:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector:
matchLabels:
app: db # <<<
policyTypes:
- Ingress
- Egress
ingress:
- from:
- ipBlock:
cidr: 172.17.0.0/16
except:
- 172.17.1.0/24
- namespaceSelector:
matchLabels:
project: myproject
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 6379
egress:
- to:
- ipBlock:
cidr: 10.0.0.0/24
ports:
- protocol: TCP
port: 5978
āĻāĻĒāĻ§āĻžāĻ°āĻž ingress
āĻāĻ āĻ¨ā§āĻ¤āĻŋāĻ¤ā§ āĻāĻžāĻ°ā§āĻā§āĻ āĻĒāĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻā§āĻ˛ā§āĨ¤ āĻ
āĻ¨ā§āĻ¯ āĻāĻĨāĻžāĻ¯āĻŧ, āĻĒā§āĻ°āĻŦā§āĻļ āĻšāĻ˛ āĻā§āĻ¸ āĻāĻŦāĻ āĻ˛āĻā§āĻˇā§āĻ¯ āĻšāĻ˛ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯āĨ¤ āĻāĻāĻāĻāĻžāĻŦā§, āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻšāĻ˛ āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯, āĻāĻŦāĻ āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¤āĻžāĻ° āĻā§āĻ¸āĨ¤
āĻāĻāĻŋ āĻĻā§āĻāĻŋ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯: āĻāĻ¨āĻā§āĻ°ā§āĻ¸ â āĻāĻžāĻ°ā§āĻā§āĻ; āĻ˛āĻā§āĻˇā§āĻ¯ â āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨āĨ¤
āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻŦāĻ DNS (āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ!)
āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻ¸ā§āĻŽāĻŋāĻ¤ DNS-āĻ āĻŦāĻŋāĻļā§āĻˇ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻāĻŋāĻ¨ - Kubernetes āĻāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋ āĻŽā§āĻ¯āĻžāĻĒ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨ā§āĻ¤āĻŋ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻž āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻāĻŦā§āĻĻāĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¨āĻ¨āĻŋā§ˇ balance
DNS āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°ā§āĻ¨:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.balance
namespace: default
spec:
podSelector:
matchLabels:
app: balance
egress:
- to:
- podSelector:
matchLabels:
app: postgres
policyTypes:
- Egress
āĻāĻĒāĻ¨āĻŋ DNS āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻā§āĻ˛ā§ āĻāĻāĻŋ āĻ āĻŋāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.balance
namespace: default
spec:
podSelector:
matchLabels:
app: balance
egress:
- to:
- podSelector:
matchLabels:
app: postgres
- to: # <<<
ports: # <<<
- protocol: UDP # <<<
port: 53 # <<<
policyTypes:
- Egress
āĻļā§āĻˇ āĻāĻĒāĻžāĻĻāĻžāĻ¨ to
āĻāĻžāĻ˛āĻŋ, āĻāĻŦāĻ āĻ¤āĻžāĻ āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ, āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ balance
āĻāĻĒāĻ¯ā§āĻā§āĻ¤ Kubernetes āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ DNS āĻĒā§āĻ°āĻļā§āĻ¨ āĻĒāĻžāĻ āĻžāĻ¨ (āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻŋ āĻŽāĻšāĻžāĻāĻžāĻļā§ āĻāĻ˛ā§ kube-system
).
āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻ āĻ¤ā§āĻ¯āĻ§āĻŋāĻ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋāĻŽā§āĻ˛āĻ āĻāĻŦāĻ āĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻŦāĻžāĻāĻ°ā§ DNS āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻĒāĻ°āĻĒāĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ§āĻžāĻĒā§ āĻāĻāĻŋ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
1. āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° DNS āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨ āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§āĻ āĻāĻ°ā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° namespaceSelector
:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.balance
namespace: default
spec:
podSelector:
matchLabels:
app: balance
egress:
- to:
- podSelector:
matchLabels:
app: postgres
- to:
- namespaceSelector: {} # <<<
ports:
- protocol: UDP
port: 53
policyTypes:
- Egress
2. āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ DNS āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨ kube-system
.
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ˛ā§āĻŦā§āĻ˛ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ kube-system
: kubectl label namespace kube-system namespace=kube-system
- āĻāĻŦāĻ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒāĻ˛āĻŋāĻ¸āĻŋāĻ¤ā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°ā§āĻ¨ namespaceSelector
:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.balance
namespace: default
spec:
podSelector:
matchLabels:
app: balance
egress:
- to:
- podSelector:
matchLabels:
app: postgres
- to:
- namespaceSelector: # <<<
matchLabels: # <<<
namespace: kube-system # <<<
ports:
- protocol: UDP
port: 53
policyTypes:
- Egress
3. āĻĒā§āĻ¯āĻžāĻ°āĻžāĻ¨āĻ¯āĻŧā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻ°āĻ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻĄāĻŋāĻāĻ¨āĻāĻ¸ āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĄāĻŋāĻāĻ¨āĻāĻ¸ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ā§ˇ kube-system
. "āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ āĻāĻŦāĻ āĻĒāĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨" āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻžāĻŦā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻ
āĻ°ā§āĻāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻāĻ°ā§āĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻ˛ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸ā§āĻ¤āĻ°ā§ DNS āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§ āĻ¨āĻž:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.dns
namespace: default
spec:
podSelector: {} # <<<
egress:
- to:
- namespaceSelector: {}
ports:
- protocol: UDP
port: 53
policyTypes:
- Egress
āĻāĻžāĻ˛āĻŋ podSelector
āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĨ¤
āĻĒā§āĻ°āĻĨāĻŽ āĻŽā§āĻ¯āĻžāĻ āĻāĻŦāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻā§āĻ°āĻŽ
āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ā§, āĻāĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻā§ āĻāĻ°ā§āĻŽ (āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻŦāĻž āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ°) āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻāĻŋ āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻ āĻāĻ°ā§āĨ¤ Kubernetes-āĻ, āĻ¨ā§āĻ¤āĻŋāĻ° āĻā§āĻ°āĻŽ āĻā§āĻ¨ āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ° āĻ¨āĻ¯āĻŧāĨ¤
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻ¯āĻāĻ¨ āĻā§āĻ¨ā§ āĻ¨ā§āĻ¤āĻŋ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻāĻ¨ āĻĒāĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻž āĻ āĻŦāĻžāĻ§ā§ āĻ¤āĻĨā§āĻ¯ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻŖāĻ¯āĻŧāĻ¨ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻ¨ā§āĻ¤āĻ¤ āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻĄ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§āĻ¤āĻŋāĻ° āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻž (āĻ¯ā§āĻā§āĻ¤āĻŋāĻ OR) āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻā§āĻ¨ā§ āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻ¨āĻž āĻļā§āĻāĻāĻŋ āĻā§āĻ˛āĻž āĻĨāĻžāĻā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻĒ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ āĻāĻāĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻĒāĻ°āĻŋāĻā§āĻāĻ¨ā§āĻ¨āĻ¤āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ ("āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§")
āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻā§āĻ¨āĻ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻāĻā§ āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°ā§ āĻ¯āĻž āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
Kubernetes āĻāĻāĻāĻŋ "āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ°" āĻāĻ°ā§āĻŽ āĻ¨ā§āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ āĻĒā§āĻ°āĻāĻžāĻŦ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ (āĻ āĻ¨ā§āĻŽāĻ¤āĻŋāĻŽā§āĻ˛āĻ) āĻ¨ā§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻā§āĻ¸ āĻĒāĻĄā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻā§āĻˇā§āĻ ā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§ (āĻ āĻ¨ā§āĻĒā§āĻ°āĻŦā§āĻļ):
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all
namespace: default
spec:
podSelector: {}
policyTypes:
- Ingress
āĻāĻ āĻ¨ā§āĻ¤āĻŋ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻ¤ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻāĻā§ āĻ
āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°ā§ āĻ
āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĨ¤
āĻāĻāĻāĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all-egress
namespace: default
spec:
podSelector: {}
policyTypes:
- Egress
āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ā§ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻā§āĻ¨āĻ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¨ā§āĻ¤āĻŋ āĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻāĻĒāĻ° āĻ
āĻā§āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ° āĻĒāĻžāĻŦā§ (āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻ
āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻāĻā§ āĻāĻāĻāĻŋ āĻ
āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻ°ā§āĻĒ)āĨ¤
āĻ¸āĻāĻ˛āĻā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨ (āĻ¯ā§ āĻā§āĻ¨ā§-āĻ¯ā§ āĻā§āĻ¨ā§-āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨)
āĻāĻāĻāĻŋ "āĻ¸āĻŽāĻ¸ā§āĻ¤āĻā§ āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨" āĻ¨ā§āĻ¤āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻāĻžāĻ˛āĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻš āĻāĻĒāĻ°ā§āĻ° āĻ
āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻ¨ā§āĻ¤āĻŋāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ ingress
:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-all
namespace: default
spec:
podSelector: {}
ingress: # <<<
- {} # <<<
policyTypes:
- Ingress
āĻāĻāĻŋ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ (āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻĒāĻŋ) āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ā§ āĻ¯ā§āĻā§āĻ¨ āĻĒāĻĄā§ default
. āĻāĻ āĻāĻāĻ°āĻŖāĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĨāĻžāĻā§, āĻ¤āĻžāĻ āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ°āĻ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŖāĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¸āĻžāĻŽāĻ¯āĻŧāĻŋāĻāĻāĻžāĻŦā§ āĻ
āĻā§āĻˇāĻŽ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻāĻŋ āĻ¸āĻāĻā§āĻ°ā§āĻŖ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻļā§āĻāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸ā§āĻ (app:balance
) āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ default
:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-all-to-balance
namespace: default
spec:
podSelector:
matchLabels:
app: balance
ingress:
- {}
policyTypes:
- Ingress
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨ā§āĻ¤āĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻ¯ā§āĻā§āĻ¨ āĻāĻāĻĒāĻŋ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ (āĻāĻ¨āĻā§āĻ°ā§āĻ¸) āĻāĻŦāĻ āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ (āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨) āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-all
spec:
podSelector: {}
ingress:
- {}
egress:
- {}
policyTypes:
- Ingress
- Egress
āĻāĻāĻžāĻ§āĻŋāĻ āĻ¨ā§āĻ¤āĻŋāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ
āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻāĻžāĻŦā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ¸ā§āĻ¤āĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ; āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻĄā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻāĻŋāĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§āĻ¤āĻŋāĻ° āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
1. āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ from
и to
āĻ¤āĻŋāĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻ¸āĻŽāĻ¸ā§āĻ¤ OR āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŋāĻ¤):
-
namespaceSelector
- āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§; -
podSelector
- āĻļā§āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§; -
ipBlock
- āĻāĻāĻāĻŋ āĻ¸āĻžāĻŦāĻ¨ā§āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĨ¤
āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§, āĻāĻĒāĻ§āĻžāĻ°āĻžāĻ¯āĻŧ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž (āĻāĻŽāĻ¨āĻāĻŋ āĻāĻāĻāĻā§āĻ˛āĻŋ) from
/to
āĻ¸ā§āĻŽāĻžāĻ¨āĻž āĻ¨ā§āĻ. āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻāĻ˛āĻā§ āĻāĻāĻāĻŋ āĻ˛āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ OR āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.postgres
namespace: default
spec:
ingress:
- from:
- podSelector:
matchLabels:
app: indexer
- podSelector:
matchLabels:
app: admin
podSelector:
matchLabels:
app: postgres
policyTypes:
- Ingress
2. āĻāĻ¨āĻ¸āĻžāĻāĻĄ āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻ¸ā§āĻāĻļāĻ¨ ingress
āĻ
āĻ¨ā§āĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ from
(āĻ¯ā§āĻā§āĻ¤āĻŋāĻ OR āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽāĻŋāĻ˛āĻŋāĻ¤)āĨ¤ āĻāĻāĻāĻāĻžāĻŦā§, āĻŦāĻŋāĻāĻžāĻ egress
āĻ
āĻ¨ā§āĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ to
(āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻŦāĻŋāĻāĻā§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽāĻŋāĻ˛āĻŋāĻ¤):
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.postgres
namespace: default
spec:
ingress:
- from:
- podSelector:
matchLabels:
app: indexer
- from:
- podSelector:
matchLabels:
app: admin
podSelector:
matchLabels:
app: postgres
policyTypes:
- Ingress
3. āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻāĻāĻāĻŋ āĻ˛āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ OR āĻāĻ° āĻ¸āĻžāĻĨā§āĻ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻāĻ¨ āĻ¤āĻžāĻ°āĻž āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻĨāĻžāĻā§ āĻ¯āĻžāĻ° āĻāĻĒāĻ° policyTypes
(Ingress
āĻŦāĻž Egress
) āĻĒā§āĻ°āĻŦā§āĻļ (āĻŦāĻž āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨) āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻā§ āĻ
āĻĒāĻ°āĻā§ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻ āĻāĻ°āĻŦā§āĨ¤
āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ
āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¤āĻĨā§āĻ¯ āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ¨ā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ āĻāĻŦāĻ/āĻ āĻĨāĻŦāĻž āĻāĻāĻ¤ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻāĻā§ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°ā§ (āĻāĻĒāĻ°ā§ "āĻ¸ā§āĻāĻĒ āĻ¨āĻŋāĻ¯āĻŧāĻŽ" āĻĻā§āĻā§āĻ¨)āĨ¤
āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŦā§āĻ˛āĻ āĻāĻ°ā§ (āĻāĻĒāĻ°ā§ "āĻ¸ā§āĻāĻĒ āĻ°ā§āĻ˛" āĻĻā§āĻā§āĻ¨), āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§ āĻ
āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻ¨ā§āĻ¤āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ namespaceSelector
:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: database.postgres
namespace: database
spec:
podSelector:
matchLabels:
app: postgres
ingress:
- from:
- namespaceSelector: # <<<
matchLabels:
namespace: default
policyTypes:
- Ingress
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻļā§āĻāĻāĻŋ default
āĻĒāĻĄ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĒā§āĻ¤ā§ postgres
āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ database
. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻā§āĻ˛āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŋ postgres
āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒāĻĄ default
?
āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻŦāĻ āĻĒāĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨
Kubernetes āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 1.11 āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻāĻĒāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻ
āĻĒāĻžāĻ°ā§āĻāĻ°āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ namespaceSelector
и podSelector
āĻ¯ā§āĻā§āĻ¤āĻŋāĻ AND āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻžāĻ¯āĻŧ:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: database.postgres
namespace: database
spec:
podSelector:
matchLabels:
app: postgres
ingress:
- from:
- namespaceSelector:
matchLabels:
namespace: default
podSelector: # <<<
matchLabels:
app: admin
policyTypes:
- Ingress
āĻā§āĻ¨ āĻāĻāĻŋ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ OR āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ AND āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ?
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ podSelector
āĻšāĻžāĻāĻĢā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ YAML-āĻ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ podSelector
āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻ¸āĻžāĻŽāĻ¨ā§ āĻĻāĻžāĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ namespaceSelector
āĻāĻāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĒāĻĄāĻŧā§āĻ¨āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻ¤āĻžāĻ°āĻž āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ AND āĻ¸āĻā§āĻā§ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ.
āĻāĻā§ āĻāĻāĻāĻŋ āĻĄā§āĻ¯āĻžāĻļ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§ podSelector
āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯āĻž āĻāĻā§āĻ°āĻāĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻšāĻŦā§ namespaceSelector
āĻ¯ā§āĻā§āĻ¤āĻŋāĻ OR āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤
āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ˛ā§āĻŦā§āĻ˛ āĻ¸āĻš āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§, āĻāĻžāĻ˛āĻŋ āĻ˛āĻŋāĻā§āĻ¨ namespaceSelector
:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: database.postgres
namespace: database
spec:
podSelector:
matchLabels:
app: postgres
ingress:
- from:
- namespaceSelector: {}
podSelector:
matchLabels:
app: admin
policyTypes:
- Ingress
āĻāĻāĻžāĻ§āĻŋāĻ āĻ˛ā§āĻŦā§āĻ˛ AND āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻāĻāĻžāĻ§āĻŋāĻ āĻ¸āĻ¤ā§āĻ¤āĻž (āĻšā§āĻ¸ā§āĻ, āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ, āĻā§āĻ°ā§āĻĒ) āĻ¸āĻš āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻ˛āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ OR āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻā§āĻ¸ āĻŽā§āĻ˛ā§ āĻ¨āĻŋāĻā§āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻāĻŋ āĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻšāĻŦā§ Host_1
āĻ
āĻĨāĻŦāĻž Host_2
:
| Source | Destination | Service | Action |
| ----------------------------------------|
| Host_1 | Subnet_A | HTTPS | Allow |
| Host_2 | | | |
| ----------------------------------------|
āĻŦāĻŋāĻĒāĻ°ā§āĻ¤āĻāĻžāĻŦā§, Kubernetes āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ˛ā§āĻŦā§āĻ˛ podSelector
āĻŦāĻž namespaceSelector
āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ AND āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻāĻŋ āĻāĻŽāĻ¨ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻŦā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻ¯āĻŧ āĻ˛ā§āĻŦā§āĻ˛ āĻāĻā§, role=db
Đ version=v2
:
podSelector:
matchLabels:
role: db
version: v2
āĻāĻāĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¸āĻŦ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦāĻŋāĻŦā§āĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯: āĻ¨ā§āĻ¤āĻŋ āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ, āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻāĻŦāĻ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻāĨ¤
āĻ¸āĻžāĻŦāĻ¨ā§āĻ āĻāĻŦāĻ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž (IPBlocks)
āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ VLAN, IP āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻŦāĻ āĻ¸āĻžāĻŦāĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤
Kubernetes-āĻ, IP āĻ āĻŋāĻāĻžāĻ¨āĻžāĻā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ¨ āĻāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¤āĻžāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒāĻĄ āĻāĻŦāĻ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻ˛ā§āĻŦā§āĻ˛āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻ¸āĻžāĻŦāĻ¨ā§āĻ (ipBlocks
) āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ (āĻ
āĻ¨ā§āĻĒā§āĻ°āĻŦā§āĻļ) āĻŦāĻž āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ (āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨) āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ (āĻāĻ¤ā§āĻ¤āĻ°-āĻĻāĻā§āĻˇāĻŋāĻŖ) āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ āĻ¨ā§āĻ¤āĻŋ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ āĻĨā§āĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻā§āĻ˛ā§ default
Google DNS āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: egress-dns
namespace: default
spec:
podSelector: {}
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 8.8.8.8/32
ports:
- protocol: UDP
port: 53
āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻāĻžāĻ˛āĻŋ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻŽāĻžāĻ¨ā§ "āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨"āĨ¤
āĻāĻ āĻ¨ā§āĻ¤āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 8.8.8.8 āĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ; āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻāĻāĻĒāĻŋ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§. āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻ¸āĻāĻā§āĻˇā§āĻĒā§, āĻāĻĒāĻ¨āĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻĄāĻŋāĻāĻ¨āĻāĻ¸ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ āĻŦāĻ°ā§āĻĻā§āĻ§ āĻāĻ°ā§āĻā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻ¨āĻ āĻāĻāĻŋ āĻā§āĻ˛āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ ipBlocks
и podSelectors
āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ āĻāĻāĻā§āĻāĻŋāĻ¯āĻŧāĻž, āĻ¯ā§āĻšā§āĻ¤ā§ āĻĒāĻĄā§āĻ° āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž ipBlocks
. āĻāĻļāĻžāĻ°āĻž āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻāĻĒāĻŋ āĻĒāĻĄ, āĻāĻĒāĻ¨āĻŋ āĻāĻ¸āĻ˛ā§ āĻ¸ā§āĻ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻĄ āĻĨā§āĻā§/āĻĨā§āĻā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§āĻ¨āĨ¤ āĻ
āĻ¨ā§āĻļā§āĻ˛āĻ¨ā§, āĻā§āĻ¨ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻž, āĻ¤āĻžāĻ āĻĒāĻĄ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻāĻāĻŋ āĻĒāĻžāĻ˛ā§āĻāĻž āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨ā§āĻ¤āĻŋāĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻĒāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ¤āĻžāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: egress-any
namespace: default
spec:
podSelector: {}
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
āĻāĻĒāĻ¨āĻŋ āĻĒāĻĄā§āĻ° āĻ
āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻāĻāĻĒāĻŋāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻĄā§āĻ° āĻ¸āĻžāĻŦāĻ¨ā§āĻ 10.16.0.0/14 āĻšāĻ¯āĻŧ:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: egress-any
namespace: default
spec:
podSelector: {}
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
except:
- 10.16.0.0/14
āĻĒā§āĻ°ā§āĻ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§ āĻĒāĻĄ āĻļā§āĻ¨ā§āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨ā§āĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ°ā§āĻ āĻ¨āĻŽā§āĻŦāĻ°āĻā§āĻ˛āĻŋ āĻā§āĻĄāĻŧā§ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻā§āĻĄāĻŧā§ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ā§ˇ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ āĻāĻŋāĻā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨āĻ āĻĒā§āĻ°ā§āĻāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.postgres
namespace: default
spec:
ingress:
- from:
- podSelector:
matchLabels:
app: indexer
- podSelector:
matchLabels:
app: admin
ports: # <<<
- port: 443 # <<<
protocol: TCP # <<<
- port: 80 # <<<
protocol: TCP # <<<
podSelector:
matchLabels:
app: postgres
policyTypes:
- Ingress
āĻāĻ˛ā§āĻ˛ā§āĻā§āĻ¯, āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻĄ ports
āĻŦā§āĻ˛āĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯ to
āĻŦāĻž from
, āĻ¯ā§āĻāĻž āĻŦāĻšāĻ¨ āĻāĻ°ā§. āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻāĻā§āĻŽ āĻ¸ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§āĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§, āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻĻāĻŋāĻ¨ ingress
āĻŦāĻž egress
āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻĒ-āĻŦāĻŋāĻāĻžāĻā§ to
āĻŦāĻž from
āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻāĻā§āĻ˛āĻŋ āĻ˛āĻŋāĻā§āĻ¨:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default.postgres
namespace: default
spec:
ingress:
- from:
- podSelector:
matchLabels:
app: indexer
ports: # <<<
- port: 443 # <<<
protocol: TCP # <<<
- from:
- podSelector:
matchLabels:
app: admin
ports: # <<<
- port: 80 # <<<
protocol: TCP # <<<
podSelector:
matchLabels:
app: postgres
policyTypes:
- Ingress
āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻĒā§āĻ°ā§āĻ āĻāĻžāĻ:
- āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°ā§āĻā§āĻ° āĻ¸āĻāĻā§āĻāĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻāĻžāĻŦā§ āĻŦāĻžāĻĻ āĻĻā§āĻ¨ (
ports
), āĻ¯āĻžāĻ° āĻ āĻ°ā§āĻĨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°ā§āĻ; - āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻ¸āĻāĻā§āĻāĻž āĻŦāĻžāĻĻ āĻĻā§āĻ¨ (
protocol
), āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§ TCP; - āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°ā§āĻ āĻ¸āĻāĻā§āĻāĻž āĻŦāĻžāĻĻ āĻĻā§āĻ¨ (
port
), āĻ¯āĻžāĻ° āĻ āĻ°ā§āĻĨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°ā§āĻāĨ¤
āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨: āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž, āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻĄ āĻĒā§āĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋ āĻ¨āĻ¯āĻŧ (āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ āĻ¨ā§āĻā§āĻā§āĻĻā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ)āĨ¤
āĻĒāĻĄ āĻŦāĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤?
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§āĻ° āĻĒāĻĄāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻā§ āĻ āĻĒāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°ā§ - āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻ˛ā§āĻĄ āĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻžāĻ° āĻ¯āĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻāĻžāĻ°ā§ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻāĻā§ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ā§ˇ āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻŦāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻŽāĻ¨ āĻ¨āĻ¯āĻŧā§ˇ Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒāĻĄ āĻĒā§āĻ°ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§, āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻĒā§āĻ°ā§āĻ 80-āĻ āĻļā§āĻ¨ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻāĻā§ āĻ¤āĻžāĻ° āĻĒāĻĄā§āĻ° āĻĒā§āĻ°ā§āĻ 8080-āĻ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻ¤ā§ 8080 āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻā§ āĻ¸āĻžāĻŦāĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸ā§āĻŦā§āĻā§āĻ¤ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤: āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋāĻ° āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻĄāĻŋāĻāĻžāĻāĻ¸ (āĻ¯āĻžāĻ° āĻĒā§āĻ°ā§āĻāĻā§āĻ˛āĻŋ āĻĒāĻĄ āĻļā§āĻ¨ā§) āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻŽā§āĻļ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨ā§āĻā§ Istio āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĻā§āĻā§āĻ¨ - āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ āĻ¨ā§āĻŦāĻžāĻĻāĨ¤) āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨.
Ingress āĻāĻŦāĻ Egress āĻāĻāĻ¯āĻŧāĻ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§?
āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻāĻ¤ā§āĻ¤āĻ° āĻšāĻ˛ āĻšā§āĻ¯āĻžāĻ, āĻĒāĻĄ āĻ āĻĒāĻĄ āĻŦāĻŋ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ āĻ¸āĻāĻ¯ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ (āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨ā§āĻ¤āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§), āĻāĻŦāĻ āĻĒāĻĄ āĻŦāĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻāĻŋ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻ¸āĻāĻ¯ā§āĻ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĨ¤ (āĻāĻ° āĻāĻ¨ā§āĻ¯, āĻ¸ā§āĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§, āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻŦā§āĻļ-āĻ¨ā§āĻ¤āĻŋ āĻĻāĻ°āĻāĻžāĻ°)āĨ¤
āĻ¯āĻžāĻāĻšā§āĻ, āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻŦāĻž āĻāĻāĻ¯āĻŧ āĻĻāĻŋāĻā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§ āĻĒā§āĻĻ-āĻā§āĻ¸ āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻšāĻŦā§ āĻŦāĻšāĻŋāĻ°ā§āĻāĻŽāĻ¨-āĻ°āĻžāĻāĻ¨ā§āĻ¤āĻŋāĻŦāĻŋāĻĻ, āĻāĻ° āĻāĻĒāĻ° āĻāĻ°ā§āĻĒāĻŋāĻ¤ āĻŦāĻŋāĻ§āĻŋāĻ¨āĻŋāĻˇā§āĻ§ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻĻā§āĻŦāĻžāĻ°āĻžāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻĒāĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§āĻ āĻŋāĻāĻžāĻ¨āĻž. āĻ¯āĻĻāĻŋ āĻā§āĻ¨ā§ āĻĒāĻĄ āĻā§āĻ¨ā§ āĻ¨ā§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻāĻ° āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§ (āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨) āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻāĻāĻžāĻŦā§, āĻĒā§āĻĻā§āĻ° āĻāĻžāĻā§āĻ¯-āĻ āĻŋāĻāĻžāĻ¨āĻžāĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻŦā§āĻļ-āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻŋāĻā§ āĻ¸ā§āĻ°ā§āĻ¸ āĻĒāĻĄ āĻĨā§āĻā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¯āĻĻāĻŋ āĻā§āĻ¨ā§ āĻĒāĻĄ āĻā§āĻ¨ā§ āĻ¨ā§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻāĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻŦā§āĻļ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻ¨ā§āĻā§ "āĻ°āĻžāĻˇā§āĻā§āĻ°ā§āĻ¯āĻŧ āĻŦāĻž āĻ°āĻžāĻˇā§āĻā§āĻ°āĻšā§āĻ¨" āĻĻā§āĻā§āĻ¨āĨ¤
āĻ˛āĻ
Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻā§āĻāĻžāĻŦā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻ˛āĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻāĻžāĻ¨ā§ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§ āĻāĻŦāĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖāĻā§ āĻā§āĻŦ āĻāĻ āĻŋāĻ¨ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤
āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ
Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦāĻšāĻŋāĻ°ā§āĻāĻŽāĻ¨ āĻŦāĻŋāĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¯ā§āĻā§āĻ¯ āĻĄā§āĻŽā§āĻ¨ āĻ¨āĻžāĻŽ (DNS) āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻ āĻ¤āĻĨā§āĻ¯āĻāĻŋ āĻāĻāĻāĻŋ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻā§āĻ°āĻžāĻĢāĻŋāĻāĻā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§ āĻŦāĻžāĻāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ¨ā§āĻ (āĻ¯ā§āĻŽāĻ¨ aws.com)āĨ¤
āĻĒāĻ˛āĻŋāĻ¸āĻŋ āĻā§āĻ
āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻ¤āĻ°ā§āĻ āĻāĻ°āĻŦā§ āĻŦāĻž āĻāĻŽāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ˛ āĻ¨ā§āĻ¤āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻŦā§āĨ¤ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻāĻŋāĻā§ āĻ¯āĻžāĻāĻžāĻāĻāĻ°āĻŖāĻ āĻāĻ°ā§āĨ¤ kubectl āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, Kubernetes āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻ¨ā§āĻ¤āĻŋāĻāĻŋ āĻā§āĻ˛ āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻ¤ā§ āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, Kubernetes āĻ¨ā§āĻ¤āĻŋāĻāĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤āĻžāĻĻā§āĻ° āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
kubernetes get networkpolicy <policy-name> -o yaml
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ Kubernetes āĻŦā§āĻ§āĻāĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻā§āĻ˛ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻŋāĻā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŽāĻŋāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻĢāĻžāĻāĻ¸āĻŋ
Kubernetes āĻ¨āĻŋāĻā§ āĻĨā§āĻā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ API āĻā§āĻāĻāĻ¯āĻŧā§ āĻ¯āĻž āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ (CNI) āĻ¨āĻžāĻŽāĻ āĻāĻāĻāĻŋ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§āĻ° āĻŦā§āĻāĻž āĻ°āĻžāĻā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ CNI āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ¨āĻž āĻāĻ°ā§ āĻāĻāĻāĻŋ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ¨ā§āĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻŽā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ā§ āĻ¸ā§āĻ āĻ¨āĻž āĻāĻ°ā§ āĻ¨ā§āĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖā§āĻ° āĻ
āĻ¨ā§āĻ°ā§āĻĒāĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻļāĻžāĻ˛ā§āĻ¨ āĻ¸āĻŋāĻāĻ¨āĻāĻ āĻāĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻŦāĻž āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻā§āĻ˛āĻžāĻāĻĄā§ āĻšā§āĻ¸ā§āĻ āĻāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ (āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻā§āĻā§āĻ¨
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯āĻāĻžāĻ°ā§ CNI āĻāĻžāĻĄāĻŧāĻž āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻ¸ā§āĻ āĻāĻ°āĻ˛ā§ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻ¤āĻ°ā§āĻ āĻāĻ°āĻŦā§ āĻ¨āĻžāĨ¤
āĻ°āĻžāĻˇā§āĻā§āĻ°ā§āĻ¯āĻŧ āĻ¨āĻž āĻ°āĻžāĻˇā§āĻā§āĻ°āĻšā§āĻ¨?
āĻāĻŽāĻŋ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¸āĻŋāĻāĻ¨āĻāĻāĻā§āĻ˛āĻŋ āĻĻā§āĻā§āĻāĻŋ āĻ¤āĻž āĻ°āĻžāĻˇā§āĻā§āĻ°ā§āĻ¯āĻŧ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻ¨āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§)āĨ¤ āĻāĻāĻŋ āĻĒā§āĻ¨āĻāĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻž āĻ¨āĻž āĻāĻ°ā§āĻ āĻļā§āĻ°ā§ āĻāĻ°āĻž TCP āĻ¸āĻāĻ¯ā§āĻā§ āĻĒāĻĄāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻŽāĻŋ āĻāĻāĻāĻŋ Kubernetes āĻŽāĻžāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻā§āĻ¤āĻ¨ āĻ¨āĻ āĻ¯āĻž āĻ°āĻžāĻˇā§āĻā§āĻ°ā§āĻ¯āĻŧāĻ¤āĻžāĻ° āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻāĻŋ āĻĻā§āĻŦā§āĨ¤
āĻāĻ¨ā§āĻ¨āĻ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¨ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¨ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻā§āĻ° āĻĻāĻā§āĻˇāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻŋāĻā§ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻāĻžāĻ¨ā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ˛:
- āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻŽā§āĻļ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°āĻžāĻ˛ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻ˛ā§āĻā§āĻ˛ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻā§āĻ˛āĻŋāĻŽā§āĻā§āĻ°āĻŋ āĻāĻŦāĻ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻāĻĄāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻā§āĻ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻ¸āĻ¤āĻŋāĻ . - āĻāĻŋāĻā§ CNI āĻŦāĻŋāĻā§āĻ°ā§āĻ¤āĻž āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻ° āĻŦāĻžāĻāĻ°ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻā§āĨ¤
-
āĻ¤ā§āĻĢāĻŋāĻ¨ āĻāĻ°āĻāĻž Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻ° āĻ¸ā§āĻŦāĻā§āĻāĻ¤āĻž āĻāĻŦāĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
Tufin Orca āĻĒā§āĻ¯āĻžāĻā§āĻ Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§ (āĻāĻŦāĻ āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻ¨āĻļāĻā§āĻ° āĻā§āĻ¸)āĨ¤
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¤āĻĨā§āĻ¯
-
GKE-āĻāĻ° āĻāĻšāĻŽā§āĻ¤ āĻāĻ˛ā§āĻĒ āĻŦāĻ˛āĻāĻžāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻž āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ ; -
āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ Kubernetes āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻ āĻĨā§āĻā§ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ ; -
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻŽāĻĄā§āĻ˛ āĻāĻžāĻāĻĄ ; -
āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ .
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ¸ā§āĻ āĻ āĻĢāĻžāĻ° āĻāĻ°ā§, āĻ¤āĻŦā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻā§āĻāĻžāĻ¤ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ā§ˇ āĻāĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°āĻŋ āĻ¯ā§ āĻāĻ āĻāĻāĻŋāĻ˛āĻ¤āĻžāĻ° āĻāĻžāĻ°āĻŖā§, āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŦāĻāĻŋāĨ¤ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻāĻā§āĻāĻž āĻŦāĻž āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻžāĻāĻ¨ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĨ¤
āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻžāĻāĻŋ āĻāĻŋāĻā§ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻŽā§āĻā§āĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§āĨ¤
āĻ āĻ¨ā§āĻŦāĻžāĻĻāĻ āĻĨā§āĻā§ PS
āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ˛āĻā§āĻ āĻĒāĻĄāĻŧā§āĻ¨:
- "āĻāĻ¸āĻāĻŋāĻ āĻ¸āĻš āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨":
āĻ āĻāĻļ 1 (āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻā§āĻŽāĻŋāĻāĻž) ,āĻĒāĻžāĻ°ā§āĻ 2 (āĻ°āĻžāĻāĻāĻŋāĻ, āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ) ,āĻ āĻāĻļ 3 (āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž) ; - "āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻāĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻŋāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž":
āĻ āĻāĻļ 1 āĻāĻŦāĻ 2 (āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻŽāĻĄā§āĻ˛, āĻāĻāĻžāĻ°āĻ˛ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ) ,āĻ āĻāĻļ 3 (āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻŦāĻ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ) ; - ÂĢ
āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž-āĻāĻžāĻšāĻŋāĻĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻĄāĻāĻžāĻ° āĻāĻŦāĻ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ "; - ÂĢ
9 Kubernetes āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ āĻā§āĻ¯āĻžāĻ¸ "; - ÂĢ
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§ āĻšā§āĻ¯āĻžāĻ āĻšāĻāĻ¯āĻŧāĻžāĻ° 11āĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ (āĻ¨āĻž) Âģ.
āĻāĻ¤ā§āĻ¸: www.habr.com