āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ āĻšāĻ˛ āĻĒāĻžāĻ āĻāĻā§ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻā§āĻ¸ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻāĻŦāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻŽā§āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻāĻ¯āĻŧāĻž, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ āĻ¯āĻž āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻĒāĻĨ āĻŦāĻ°āĻžāĻŦāĻ°, āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻšāĻāĻ¤āĻž āĻāĻŦāĻ āĻāĻŋāĻā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻ
āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ
āĻāĻŋāĻā§āĻāĻ¤āĻž āĻĨā§āĻā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§āĨ¤
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ¸ā§āĻ° āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻā§āĻŽāĻŋāĻāĻž
āĻāĻāĻāĻŋ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻžāĻĄāĻŧāĻž āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž. āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽā§āĻ˛āĻŋāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§āĻāĻŋ: "
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻĒā§āĻ°āĻ¸āĻā§āĻā§, āĻāĻāĻž āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¯ā§ K8s āĻ¨āĻŋāĻā§āĻ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻŦāĻ āĻ¨ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§ āĻ¨āĻ¯āĻŧ: āĻāĻ° āĻāĻ¨ā§āĻ¯, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ CNI āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ (āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸)āĨ¤ āĻāĻ āĻ§āĻžāĻ°āĻŖāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŽāĻ°āĻž āĻāĻ°ā§
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ
āĻāĻŦāĻ āĻāĻāĻāĻŋ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ "āĻŦāĻžāĻā§āĻ¸ā§āĻ° āĻŦāĻžāĻāĻ°ā§" āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: test-network-policy
namespace: default
spec:
podSelector:
matchLabels:
role: 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
āĻāĻāĻŋ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻĻāĻŋāĻŽ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¨āĻ¯āĻŧ
āĻāĻāĻž āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ¯ā§ 2 āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻāĻā§: āĻĒāĻĄā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻž (āĻāĻ¨āĻā§āĻ°ā§āĻ¸) āĻāĻŦāĻ āĻāĻāĻŋ āĻĨā§āĻā§ āĻŦā§āĻ° āĻšāĻāĻ¯āĻŧāĻž (Egress)āĨ¤
āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻāĻ¨ā§āĻĻā§āĻ˛āĻ¨ā§āĻ° āĻĻāĻŋāĻāĻ¨āĻŋāĻ°ā§āĻĻā§āĻļā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻ°āĻžāĻāĻ¨ā§āĻ¤āĻŋ āĻāĻ 2 āĻļā§āĻ°ā§āĻŖā§āĻ¤ā§ āĻŦāĻŋāĻāĻā§āĻ¤āĨ¤
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ; āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻĄ (āĻŦāĻž āĻĒāĻĄā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻĒ) āĻŦāĻž āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦā§āĻļ (āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨) āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻļāĻĻ: āĻāĻ āĻāĻāĻ¯āĻŧ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ˛ā§āĻŦā§āĻ˛ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ (āĻ˛ā§āĻŦā§āĻ˛ Kubernetes āĻĒāĻ°āĻŋāĻāĻžāĻˇāĻžāĻ¯āĻŧ) - āĻāĻā§āĻ˛āĻŋāĻ āĻ°āĻžāĻāĻ¨ā§āĻ¤āĻŋāĻŦāĻŋāĻĻāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
āĻāĻŋāĻā§ āĻ§āĻ°āĻŖā§āĻ° āĻ˛ā§āĻŦā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ¸ā§āĻŽāĻŋāĻ¤ āĻ¸āĻāĻā§āĻ¯āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§ "āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ/āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨/āĻ¸āĻŦāĻžāĻ" āĻāĻ° āĻŽāĻ¤ā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻ˛ā§āĻāĻž āĻ¸āĻŽā§āĻāĻŦāĨ¤ āĻāĻ āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§, āĻĢāĻ°ā§āĻŽā§āĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
podSelector: {}
ingress: []
policyTypes:
- Ingress
â āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻāĻ¨āĻāĻžāĻŽāĻŋāĻ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĨā§āĻā§ āĻŦā§āĻ˛āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻāĻāĻ°āĻŖ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ¸āĻā§āĻā§ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
podSelector: {}
ingress:
- {}
policyTypes:
- Ingress
āĻāĻāĻāĻāĻžāĻŦā§ āĻŦāĻšāĻŋāĻ°ā§āĻāĻžāĻŽā§āĻ° āĻāĻ¨ā§āĻ¯:
podSelector: {}
policyTypes:
- Egress
- āĻāĻāĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻ¤ā§. āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻ¯āĻž āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
podSelector: {}
egress:
- {}
policyTypes:
- Egress
āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻāĻ¨āĻāĻ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ā§āĻ° āĻĒāĻāĻ¨ā§āĻĻā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻž, āĻāĻāĻŋ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨ NetworkPolicy āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¨āĻž. āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻ˛ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ā§ āĻ¨āĻž, āĻ¯āĻž
āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻāĻžāĻ¨āĻž: āĻ¤āĻ¤ā§āĻ¤ā§āĻŦ
āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻĒā§āĻ˛āĻžāĻāĻāĻ¨āĻāĻŋ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻāĻ°āĻŖā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻ¸āĻžāĻŦāĻĒā§āĻ°āĻā§āĻā§āĻ
K8s "āĻŦāĻā§āĻ¸āĻĄ" āĻ¸āĻ˛āĻŋāĻāĻļāĻ¨ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻĨā§āĻā§ API āĻ¸ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻ¨ āĻ¸ā§āĻ¯ā§āĻāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§?
NetworkPolicy-āĻ āĻ¯āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻāĻāĻžāĻ¨ā§:
- āĻ°āĻžāĻāĻ¨ā§āĻ¤āĻŋāĻŦāĻŋāĻĻāĻ°āĻž āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§;
- āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ˛ā§āĻŦā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻĒāĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ;
- āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻĒāĻĄ, āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻŦāĻž āĻ¸āĻžāĻŦāĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§;
- āĻ¨āĻŋāĻ¯āĻŧāĻŽā§ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛, āĻ¨āĻžāĻŽ āĻŦāĻž āĻĒā§āĻ°āĻ¤ā§āĻā§ āĻĒā§āĻ°ā§āĻ āĻ¸ā§āĻĒā§āĻ¸āĻŋāĻĢāĻŋāĻā§āĻļāĻ¨ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻā§āĻāĻžāĻŦā§ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°ā§ āĻ¤āĻž āĻāĻāĻžāĻ¨ā§:
- āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¯ā§ āĻā§āĻ¨āĻ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻĒāĻĄ, āĻ§āĻžāĻ°āĻ, āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻŦāĻž āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸;
- āĻ¨āĻŋāĻ¯āĻŧāĻŽā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻ¨āĻŋāĻˇā§āĻ§, āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ, āĻ˛āĻāĻŋāĻ);
- āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ˛āĻā§āĻˇā§āĻ¯ āĻŦāĻž āĻāĻ¤ā§āĻ¸ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻ, āĻĒā§āĻ°ā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸āĻ°, āĻĒā§āĻ°ā§āĻā§āĻāĻ˛, HTTP āĻŦāĻž ICMP āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯, āĻāĻāĻĒāĻŋ āĻŦāĻž āĻ¸āĻžāĻŦāĻ¨ā§āĻ (ā§ĒāĻ°ā§āĻĨ āĻŦāĻž ā§ŦāĻˇā§āĻ āĻĒā§āĻ°āĻāĻ¨ā§āĻŽ), āĻ¯ā§āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ (āĻ¨ā§āĻĄ, āĻšā§āĻ¸ā§āĻ, āĻĒāĻ°āĻŋāĻŦā§āĻļ);
- āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ DNAT āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻāĻŦāĻ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻ āĻĢāĻ°āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻŋāĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻāĻ¤ā§āĻ¤āĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻāĻŋāĻāĻšāĻžāĻŦā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻā§āĻ˛āĻžāĻ 2016 āĻ¤āĻžāĻ°āĻŋāĻā§, āĻāĻŦāĻ āĻāĻ āĻŦāĻāĻ° āĻĒāĻ°ā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸āĻāĻ¯ā§āĻ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻāĻŋ āĻ
āĻā§āĻ°āĻŖā§ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻāĻāĻŋ āĻĒā§āĻ°āĻŽāĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻŽā§āĻā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž,
K8 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ
āĻ¨ā§āĻ āĻŦāĻĄāĻŧ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻ¯ā§āĻŽāĻ¨
āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻžāĻ¨ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤āĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻŖā§āĻ¯ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻāĻŋāĻŽ āĻā§āĻ¯ā§āĻ¤āĻŋāĻ°ā§āĻŦāĻŋāĻĻā§āĻ¯āĻžāĻāĻ¤ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§āĻā§, āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§āĻā§āĻ¨ā§āĻĄā§ 50000 āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¤ā§āĻ°āĻŋāĻ° āĻšāĻžāĻ° āĻ¸āĻš 500āĻāĻŋ āĻĢāĻŋāĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻ¨ā§āĻĄā§ 20 āĻāĻŋāĻ°āĻ āĻŦā§āĻļāĻŋ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻžāĻ˛āĻžāĻā§āĻā§āĨ¤ āĻ¸ā§āĻā§āĻ˛āĻŋāĻ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤ āĻ¯ā§āĻŽāĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻŦāĻŋāĻāĻžāĻļ āĻāĻ°āĻā§, āĻāĻāĻŋ K8s, OpenShift, OpenStack āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻžāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦāĨ¤
āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨ āĻāĻ°ā§āĻ¨
āĻā§āĻ¯āĻžāĻ¨āĻŋāĻ˛āĻž āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, CNI āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻŽā§ āĻāĻ¸ā§ calico.yaml
, kubectl apply -f
.
āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻĒā§āĻ˛āĻžāĻāĻāĻ¨āĻāĻŋāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋ Kubernetes-āĻāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ 2-3 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ: āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻĻā§āĻ° āĻŽāĻ¤ā§, āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻžāĻ°ā§āĻ¨ā§āĻ˛ā§ 3.10 āĻāĻ° āĻāĻĒāĻ°ā§ āĻāĻ˛āĻŽāĻžāĻ¨ CentOS 7, Ubuntu 16 āĻŦāĻž Debian 8, iptables āĻŦāĻž IPVS-āĻāĻ° āĻāĻĒāĻ°ā§ āĻāĻ˛ā§āĨ¤
āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻž
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋāĻ¤ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻĨā§āĻā§ āĻā§āĻāĻžāĻŦā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻĒāĻžāĻ āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻ¤āĻžāĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤āĻž āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĻā§āĻāĻŋ:
āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ 2āĻāĻŋ āĻāĻ¯āĻŧā§āĻŦ āĻ
ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§: Node.js āĻāĻŦāĻ PHP-āĻ, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ Redis āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ PHP āĻĨā§āĻā§ Redis-āĻ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŦā§āĻ˛āĻ āĻāĻ°āĻ¤ā§, Node.js-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¨ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨:
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: allow-redis-nodejs
spec:
podSelector:
matchLabels:
service: redis
ingress:
- from:
- podSelector:
matchLabels:
service: nodejs
ports:
- protocol: TCP
port: 6379
āĻŽā§āĻ˛āĻ¤ āĻāĻŽāĻ°āĻž Node.js āĻĨā§āĻā§ Redis āĻĒā§āĻ°ā§āĻā§ āĻāĻāĻ¤ āĻā§āĻ°āĻžāĻĢāĻŋāĻā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻĒāĻˇā§āĻāĻ¤āĻ āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻ¨āĻŋāĻˇā§āĻ§ āĻāĻ°ā§āĻ¨āĻŋāĨ¤ NetworkPolicy āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§, āĻāĻ¤ā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻāĻ°āĻž āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§, āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻā§āĻāĻžāĻĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ apiVersion
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻŦāĻžāĻā§āĻ¸ā§āĻ° āĻŦāĻžāĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŋāĻā§āĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§āĻž āĻĻā§āĻ¯āĻŧ āĻ¨āĻž
apiVersion: crd.projectcalico.org/v1
kind: NetworkPolicy
metadata:
name: allow-redis-nodejs
spec:
selector: service == 'redis'
ingress:
- action: Allow
protocol: TCP
source:
selector: service == 'nodejs'
destination:
ports:
- 6379
āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ NetworkPolicy API-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ°ā§āĻ¯āĻžāĻĢāĻŋāĻā§āĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻŦāĻž āĻ
āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ°ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻā§ āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ¸āĻš āĻāĻŽāĻ¨ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻŦā§āĻāĻž āĻāĻŦāĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻž āĻāĻ āĻŋāĻ¨āĨ¤ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ¯ā§āĻā§āĻ¤āĻŋāĻā§ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§, āĻļā§āĻ§ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ action: Allow
āĻāĻĒāĻ° action: Deny
.
āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻ¤āĻž
āĻāĻāĻ¨ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻāĻ¸ā§ āĻ¸āĻāĻā§āĻ°āĻšā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻŽā§āĻā§āĻ°āĻŋāĻā§āĻ¸ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻāĻŦāĻ Grafana āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ°āĻ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ˛ā§āĻĄā§ āĻ¸āĻāĻŦā§āĻĻāĻ¨āĻļā§āĻ˛ āĻĄā§āĻāĻž āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻž āĻāĻŦāĻžāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻ˛ā§ āĻā§āĻ āĻĨā§āĻā§ āĻāĻ āĻ¤āĻĨā§āĻ¯ āĻāĻĄāĻŧāĻžāĻ˛ āĻāĻ°āĻž āĻ¯āĻžāĻ:
āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻāĻ¸, āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ - āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻšāĻŦā§:
apiVersion: v1
kind: Namespace
metadata:
labels:
module: prometheus
name: kube-prometheus
āĻā§āĻˇā§āĻ¤ā§āĻ° metadata.labels
āĻāĻāĻž āĻā§āĻ¨ āĻĻā§āĻ°ā§āĻāĻāĻ¨āĻž āĻšāĻ¤ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤. āĻāĻĒāĻ°ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤, namespaceSelector
(āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ podSelector
) āĻ˛ā§āĻŦā§āĻ˛ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻžāĻ āĻāĻ°ā§āĨ¤ āĻ
āĻ¤āĻāĻŦ, āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒā§āĻ°ā§āĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻĄ āĻĨā§āĻā§ āĻŽā§āĻā§āĻ°āĻŋāĻā§āĻ¸ āĻ¨ā§āĻāĻ¯āĻŧāĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻŋāĻā§ āĻ§āĻ°āĻŖā§āĻ° āĻ˛ā§āĻŦā§āĻ˛ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻŦāĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§), āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§āĻŽāĻ¨:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-metrics-prom
spec:
podSelector: {}
ingress:
- from:
- namespaceSelector:
matchLabels:
module: prometheus
ports:
- protocol: TCP
port: 9100
āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸āĻāĻŋ āĻāĻ°āĻāĻŽ āĻšāĻŦā§:
apiVersion: crd.projectcalico.org/v1
kind: NetworkPolicy
metadata:
name: allow-metrics-prom
spec:
ingress:
- action: Allow
protocol: TCP
source:
namespaceSelector: module == 'prometheus'
destination:
ports:
- 9100
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¨ā§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻ¯ā§āĻ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§ āĻĻā§āĻˇāĻŋāĻ¤ āĻŦāĻž āĻĻā§āĻ°ā§āĻāĻāĻ¨āĻžāĻāĻ¨āĻŋāĻ¤ āĻšāĻ¸ā§āĻ¤āĻā§āĻˇā§āĻĒ āĻĨā§āĻā§ āĻ°āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ā§ˇ
āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ¤ā§, āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻ
āĻ¨ā§āĻļā§āĻ˛āĻ¨ āĻšāĻ˛ "āĻ¸āĻŦāĻāĻŋāĻā§ āĻŦā§āĻ˛āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻā§āĻ˛ā§āĻ¨" āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻ¨āĻĨāĻŋāĻā§āĻā§āĻ¤
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻ āĻŦāĻā§āĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž
āĻāĻŽāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻ¨ā§ āĻāĻ°āĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ āĻ¯ā§ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ API-āĻāĻ° āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻ¸ā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻĄā§āĻ° āĻĒā§āĻ°āĻžāĻĒā§āĻ¯āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻĒāĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ GlobalNetworkPolicy
āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ ICMP āĻ
āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻŦāĻ¨ā§āĻ§ āĻ°āĻ¯āĻŧā§āĻā§ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻĒāĻĄ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻĄā§, āĻĒāĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻŦāĻž āĻāĻāĻāĻŋ āĻ¨ā§āĻĄ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻāĻĒāĻŋ āĻĒāĻĄā§ āĻĒāĻŋāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ):
apiVersion: crd.projectcalico.org/v1
kind: GlobalNetworkPolicy
metadata:
name: block-icmp
spec:
order: 200
selector: all()
types:
- Ingress
- Egress
ingress:
- action: Deny
protocol: ICMP
egress:
- action: Deny
protocol: ICMP
āĻāĻĒāĻ°ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¨ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻĒāĻā§āĻˇā§ ICMP āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻā§ āĻ
āĻĒāĻ°ā§āĻ° āĻāĻžāĻā§ "āĻĒā§āĻāĻžāĻ¤ā§" āĻāĻāĻ¨āĻ āĻ¸āĻŽā§āĻāĻŦāĨ¤ āĻāĻŦāĻ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻĒāĻžāĻ¯āĻŧ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ GlobalNetworkPolicy
, āĻāĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ HostEndpoint
:
apiVersion: crd.projectcalico.org/v1
kind: GlobalNetworkPolicy
metadata:
name: deny-icmp-kube-02
spec:
selector: "role == 'k8s-node'"
order: 0
ingress:
- action: Allow
protocol: ICMP
egress:
- action: Allow
protocol: ICMP
---
apiVersion: crd.projectcalico.org/v1
kind: HostEndpoint
metadata:
name: kube-02-eth0
labels:
role: k8s-node
spec:
interfaceName: eth0
node: kube-02
expectedIPs: ["192.168.2.2"]
āĻāĻŋāĻĒāĻŋāĻāĻ¨ āĻā§āĻ¸
āĻ āĻŦāĻļā§āĻˇā§, āĻāĻŽāĻŋ āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ-āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻā§āĻŦ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻŦ, āĻ¯āĻāĻ¨ āĻ¨ā§āĻ¤āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻ°ā§āĻļ āĻ¸ā§āĻ āĻ¯āĻĨā§āĻˇā§āĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ¯āĻŧā§āĻŦ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§, āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻ°āĻž āĻāĻāĻāĻŋ VPN āĻāĻžāĻ¨ā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻāĻŋ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§:
āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻ°āĻž āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ UDP āĻĒā§āĻ°ā§āĻ 1194 āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ VPN āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻ˛ā§, āĻĒāĻĄ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ° āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¸āĻžāĻŦāĻ¨ā§āĻā§āĻ° āĻ°ā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§ā§ˇ āĻĒā§āĻ°ā§ āĻ¸āĻžāĻŦāĻ¨ā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§ āĻ°āĻŋāĻ¸ā§āĻāĻžāĻ°ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋ āĻšāĻžāĻ°āĻžāĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ°ā§ā§ˇ
āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻĒā§āĻ°ā§āĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ, āĻ¯āĻž āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¤ā§ āĻāĻŋāĻā§ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž āĻāĻ°ā§āĻĒ āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻ AWS āĻ˛ā§āĻĄāĻŦā§āĻ¯āĻžāĻ˛ā§āĻ¨ā§āĻ¸āĻžāĻ°ā§ UDP-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¤ āĻŦāĻāĻ°ā§āĻ° āĻļā§āĻˇā§ āĻāĻā§āĻˇāĻ°āĻŋāĻāĻāĻžāĻŦā§ āĻ āĻā§āĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻŽāĻŋāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¨ā§āĻĄāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĢāĻ°āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻ¨ā§āĻĄāĻĒā§āĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻĻā§āĻˇā§āĻāĻžāĻ¨ā§āĻ¤ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¸ā§āĻā§āĻ˛ āĻāĻ°āĻž āĻ āĻ¸āĻŽā§āĻāĻŦāĨ¤ āĻĻā§āĻˇ āĻ¸āĻšāĻ¨āĻļā§āĻ˛āĻ¤āĻž āĻāĻĻā§āĻĻā§āĻļā§āĻ¯. āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°ā§āĻā§āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§...
āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻŦā§āĻā§ āĻ¨ā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛:
- āĻāĻŋāĻĒāĻŋāĻāĻ¨ āĻ¸āĻš āĻĒāĻĄ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¨ā§āĻĄ āĻāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
hostNetwork
, āĻ āĻ°ā§āĻĨāĻžā§ āĻĒā§āĻ°āĻā§āĻ¤ āĻāĻāĻĒāĻŋāĻ¤ā§āĨ¤ - āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦāĻžāĻāĻ°ā§ āĻĒā§āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
ClusterIP
. āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻ āĻļāĻžāĻ°ā§āĻ°āĻŋāĻāĻāĻžāĻŦā§ āĻ¨ā§āĻĄā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻā§, āĻ¯āĻž āĻŦāĻžāĻāĻ°ā§ āĻĨā§āĻā§ āĻā§āĻāĻāĻžāĻā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻā§āĻļāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯ (āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ¤ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ° āĻļāĻ°ā§āĻ¤āĻžāĻ§ā§āĻ¨ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ)āĨ¤ - āĻ¯ā§ āĻ¨ā§āĻĄā§āĻ° āĻāĻĒāĻ° āĻĒāĻĄ āĻā§āĻ˛āĻžāĻĒ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ˛ā§āĻĒā§āĻ° āĻ¸ā§āĻ¯ā§āĻā§āĻ° āĻŦāĻžāĻāĻ°ā§āĨ¤ āĻāĻŽāĻŋ āĻļā§āĻ§ā§ āĻŦāĻ˛āĻŦ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¨ā§āĻĄā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋāĻā§ āĻļāĻā§āĻ¤āĻāĻžāĻŦā§ "āĻ¨ā§āĻ˛" āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻŦāĻž āĻāĻāĻāĻŋ āĻā§āĻ āĻ¸āĻžāĻāĻĄāĻāĻžāĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯āĻž VPN āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖ āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ DNS āĻ°ā§āĻāĻ°ā§āĻĄāĻā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻŦā§ - āĻ¯āĻžāĻ° āĻ¯āĻĨā§āĻˇā§āĻ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻā§āĨ¤
āĻāĻāĻāĻŋ āĻ°āĻžāĻāĻāĻŋāĻ āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ VPN āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻā§ VPN āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻžāĻ°āĻŋ āĻāĻ°āĻž IP āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ āĻ¨āĻ¨ā§āĻ¯āĻāĻžāĻŦā§ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¨ā§āĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻŋāĻŽ āĻāĻĻāĻžāĻšāĻ°āĻŖ, āĻāĻĒāĻ°ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ Redis-āĻ āĻāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤:
apiVersion: crd.projectcalico.org/v1
kind: HostEndpoint
metadata:
name: vpnclient-eth0
labels:
role: vpnclient
environment: production
spec:
interfaceName: "*"
node: kube-02
expectedIPs: ["172.176.176.2"]
---
apiVersion: crd.projectcalico.org/v1
kind: GlobalNetworkPolicy
metadata:
name: vpn-rules
spec:
selector: "role == 'vpnclient'"
order: 0
applyOnForward: true
preDNAT: true
ingress:
- action: Deny
protocol: TCP
destination:
ports: [6379]
- action: Allow
protocol: UDP
destination:
ports: [53, 67]
āĻāĻāĻžāĻ¨ā§, āĻĒā§āĻ°ā§āĻ 6379 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻž āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§, āĻ¤āĻŦā§ āĻāĻāĻ āĻ¸āĻžāĻĨā§ āĻĄāĻŋāĻāĻ¨āĻāĻ¸ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻžāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻā§āĻˇāĻ¤āĻŋāĻā§āĻ°āĻ¸ā§āĻĨ āĻšāĻ¯āĻŧāĨ¤ āĻāĻžāĻ°āĻŖ, āĻĒā§āĻ°ā§āĻŦā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻ¯āĻāĻ¨ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻ¨ā§āĻ¤āĻŋ āĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻāĻāĻāĻžāĻŦā§, āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¨āĻ¤ API āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻāĻžāĻ°āĻĒāĻžāĻļā§ āĻ°āĻžāĻāĻāĻŋāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻāĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻāĻāĻŋ āĻāĻžāĻŽāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻĄāĻŧā§āĻ āĻā§āĻ˛āĻŋ āĻāĻ°āĻžāĻ° āĻŽāĻ¤ā§ āĻĻā§āĻāĻ¤ā§ āĻāĻŦāĻ BGP āĻāĻŦāĻ IP-IP āĻāĻžāĻ¨ā§āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ L3 āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ Kubernetes āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§ āĻāĻ¯āĻŧāĻā§āĻāĻ° āĻĻā§āĻāĻžāĻ¯āĻŧ... āĻ¯āĻžāĻāĻšā§āĻ, āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻā§āĻ˛āĻāĻŋ āĻŦā§āĻļ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻŦāĻ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻĻā§āĻāĻžāĻ¯āĻŧ .
āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻā§ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ°āĻž āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŽā§āĻāĻŦ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§āĻ āĻā§āĻ¯āĻžāĻ˛āĻŋāĻā§ (āĻŦāĻž āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨) āĻāĻĻā§āĻ§āĻžāĻ°ā§ āĻāĻ¸ā§āĨ¤ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋ (āĻā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻš) AWS-āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻāĻĻā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯
āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ˛āĻā§āĻ āĻĒāĻĄāĻŧā§āĻ¨:
- ÂĢ
āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻĒā§āĻļāĻžāĻĻāĻžāĻ°āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ Kubernetes āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¨ā§āĻ¤āĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž "; - "āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻāĻ° āĻāĻāĻāĻŋ āĻ¸āĻāĻŋāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž":
āĻ āĻāĻļ 1 āĻāĻŦāĻ 2 (āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻŽāĻĄā§āĻ˛, āĻāĻāĻžāĻ°āĻ˛ā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ) ,āĻ āĻāĻļ 3 (āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻŦāĻ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ) ; - ÂĢ
āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ (CNI) - āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻāĻŦāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ Âģ.
āĻāĻ¤ā§āĻ¸: www.habr.com