แกแขแแขแแแก แแแแแแแ แแแแแฎแแแแก แแแแชแแแก Kubernetes-แจแ แฅแกแแแแก แแแแแแจแแ แแแแกแ แแ แฅแกแแแแก แแแแแขแแแแก แแแ แแแแก แกแแคแฃแซแแแแแ, แแกแแแ แแแกแแแ แแฎแแ แแก Calico แแแแฃแแ, แ แแแแแแช แแแ แชแแแแแก แกแขแแแแแ แขแฃแ แจแแกแแซแแแแแแแแแก. แแแแ, แแแแคแแแฃแ แแชแแแก แกแแแแ แขแแแ แแ แแแแแแ แแ แแแฎแแกแแแแแแแแ แแแฉแแแแแแ แแฅแแแแ แ แแแแฃแ แ แแแแแแแแแแแก แแแแแงแแแแแแ แฉแแแแ แแแแ แแชแแฃแแ แแแแแชแแแแแแแแแ.
แกแฌแ แแคแ แจแแกแแแแแ Kubernetes แฅแกแแแฃแ แ แแแฌแงแแแแแแแแก แจแแกแแฎแแ
แแฃแแแ แแแขแแก แแแแกแขแแ แ แฅแกแแแแก แแแ แแจแ แจแแฃแซแแแแแแแ. แฉแแแ แฃแแแ แแแแแแแฅแแแงแแแ แแแกแแแแแ แแแ แกแแคแฃแซแแแแแแ: โ
แแ แกแขแแขแแแก แแแแขแแฅแกแขแจแ, แแแแจแแแแแแแแแแ แแฆแแแแจแแแก, แ แแ K8s แแ แแ แแก แแแกแฃแฎแแกแแแแแแแ แแแแขแแแแแ แแแกแ แแ แแแแแซแแแก แจแแ แแก แฅแกแแแแก แแแแแแจแแ แแแแแ: แแแแกแแแแแก แกแฎแแแแแกแฎแแ CNI แแแแแแแขแแแ (แแแแขแแแแแ แแก แฅแกแแแแก แแแขแแ แคแแแกแ). แแแขแ แแ แแแแชแแคแชแแแก แจแแกแแฎแแ แฉแแแ
แแแแแแแแแ, แแ แแแแแแแขแแแแแแ แงแแแแแแ แแแแ แชแแแแแฃแแแ
แแ แแฃแแแ แแแขแแก แแแแกแขแแ แจแ แฅแกแแแแก แแแแแขแแแแก แแแแแฏแแแแขแแก แแ แแแแแแแแแกแแแแก แแแฌแแแแแฃแแแ โแแแ แแแโ.
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 แขแแแ: แแแแจแ แจแแกแแแ (Ingress) แแ แแแกแแแ แแแแแกแแแ (Egress).
แคแแฅแขแแแ แแแแ, แแแแแขแแแ แแงแแคแ แแ 2 แแแขแแแแ แแแ แแแซแ แแแแแก แแแแแ แแฃแแแแแแแ แแแแแแแแแแ แ.
แจแแแแแแ แกแแญแแ แ แแขแ แแแฃแขแ แแ แแก แกแแแแฅแชแแแแแ แ; แแก, แแแกแแแแแช แแ แชแแแแแแ แฌแแกแ. แแก แจแแแซแแแแ แแงแแก แแแแ (แแ แแแแแแแแก แฏแแฃแคแ) แแ แแแ แแแ (แแแฃ แกแแฎแแแแ แกแแแ แชแ). แแแแจแแแแแแแแแ แแแขแแแ: แแ แแแแแฅแขแแแแก แแ แแแ แขแแแ แฃแแแ แจแแแชแแแแแก แแขแแแแขแก (แแขแแแแขแแแแก แแฃแแแ แแแขแแก แขแแ แแแแแแแแแแจแ) - แแก แแ แแก แแก, แ แแแแแแแช แแแฅแแแแแแแ แแแแแขแแแแกแแแ.
แกแแแแฅแขแแ แแแแก แกแแกแ แฃแแ แ แแแแแแแแแก แแแ แแ, แ แแแแแแแช แแแแ แแแแแแแฃแแแ แ แแแแ แกแแฎแแก แแขแแแแขแแ, แจแแกแแซแแแแแแแ แกแฎแแแแแกแฎแแ แแแ แแแชแแแแจแ แแแฌแแ แแ แแกแแแ แฌแแกแแแ, แ แแแแ แแชแแ โแแแฃแจแแ/แฃแแ แ แงแแแแแคแ แแก/แงแแแแแกโ. แแ แแแแแแ แแแแแแงแแแแแ แคแแ แแแก แแแแกแขแ แฃแฅแชแแแแ:
podSelector: {}
ingress: []
policyTypes:
- Ingress
- แแ แแแแแแแแจแ, แแแ แแแแจแ แแ แกแแแฃแแ แงแแแแ แแแแ แแแแแแแแแแ แจแแแแแแแแแ แขแ แแคแแแแกแแแ. แกแแแแ แแกแแแ แ แฅแชแแแแก แแแฆแฌแแแ แจแแกแแซแแแแแแแ แจแแแแแแ แแแแกแขแ แฃแฅแชแแแ:
podSelector: {}
ingress:
- {}
policyTypes:
- Ingress
แแแแแแแแฃแ แแ แแแแแแแแ:
podSelector: {}
policyTypes:
- Egress
- แ แแ แแแแแ แแ. แแ แแ, แ แ แฃแแแ แจแแแชแแแแแก:
podSelector: {}
egress:
- {}
policyTypes:
- Egress
แ แแช แจแแแฎแแแ CNI แแแแฃแแแก แแ แฉแแแแแก แแแแกแขแแ แแกแแแแก, แแฆแกแแแแจแแแแแ, แ แแ แงแแแแ แฅแกแแแแก แแแแฃแแ แแ แฃแญแแ แก แแฎแแ แก NetworkPolicy-แก. แแแแแแแแแ, แฃแแแ แแแฎแกแแแแแแ แคแแแแแแแ แแ แแชแแก แ แแแแ แแแแแแแคแแแฃแ แแ แแก แฅแกแแแแก แแแแแขแแแ, แ แแแแแแช
Calico-แก แแแชแแแแ: แแแแ แแ
Calico แแแแฃแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก Flannel-แแแ แแแขแแแ แแชแแแจแ (แฅแแแแ แแแฅแขแ
แ แ แจแแกแแซแแแแแแแแแก แแซแแแแ K8s "boxed" แแแแแฌแงแแแขแแก แแ Calico-แก API แแแแ แแแแก แแแแแงแแแแแ?
แแ, แ แ แแ แแก แฉแแจแแแแแฃแแ NetworkPolicy-แจแ:
- แแแแแขแแแแกแแแ แจแแแฆแฃแแฃแแแ แแแ แแแแแ;
- แแแแแขแแแแแ แแแแแแงแแแแแ แแขแแแแขแแแแ แแแแแจแแฃแ แแแแแแแ;
- แฌแแกแแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแแแแแแ, แแแ แแแแจแ แแ แฅแแแฅแกแแแแแแ;
- แฌแแกแแแ แจแแแซแแแแ แจแแแชแแแแแก แแ แแขแแแแแแแก, แแแกแแฎแแแแแฃแ แแ แกแแแแแแฃแ แแแ แขแแก แกแแแชแแคแแแแชแแแแก.
แแ, แ แแแแ แแคแแ แแแแแก Calico แแ แคแฃแแฅแชแแแแก:
- แแแแแขแแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแแแแกแแแแ แแแแแฅแขแแ: pod, แแแแขแแแแแ แ, แแแ แขแฃแแแฃแ แ แแแแฅแแแ แแ แแแขแแ แคแแแกแ;
- แฌแแกแแแ แจแแแซแแแแ แจแแแชแแแแแก แแแแแ แแขแฃแ แแแฅแแแแแแแก (แแแ แซแแแแ, แแแแแ แแแ, แฎแ-แขแงแแก แแฆแแแ);
- แฌแแกแแแแก แกแแแแแแ แแ แฌแงแแ แ แจแแแซแแแแ แแงแแก แแแ แขแ, แแแ แขแแแแก แแแแแแแแแ, แแ แแขแแแแแแแ, HTTP แแ ICMP แแขแ แแแฃแขแแแ, IP แแ แฅแแแฅแกแแแ (แแ-4 แแ แแ-6 แแแแแ), แแแแแกแแแแ แ แกแแแแฅแขแแ แ (แแแแแซแแแ, แฐแแกแขแแแ, แแแ แแแ);
- แแแ แแ แแแแกแ, แแฅแแแ แจแแแแซแแแแ แแแแ แแแฃแแแ แแ แขแ แแคแแแแก แแแแแ DNAT แแแ แแแแขแ แแแแก แแ แขแ แแคแแแแก แแแแแแแกแแแแ แแแแแก แแแแแขแแแแก แแแแแงแแแแแแ.
แแแ แแแแ แแแแแแแฃแแแแแแ GitHub-แแ Calico-แก แกแแชแแแจแ แแแ แแฆแแแแ 2016 แฌแแแก แแแแแกแแ, แฎแแแ แแ แแ แฌแแแก แจแแแแแ แแ แแแฅแขแแ แแแแแแแ แฌแแแงแแแแ แแแแแชแแ Kubernetes แฅแกแแแแก แแแแจแแ แแก แแ แแแแแแแแแจแ - แแแแก แแแฌแแแแก, แแแแแแแแแ, แแแแแแแก แจแแแแแแแ,
แแแแ แ แแกแฎแแแแ แแแ แแฃแแ แแแแแฌแงแแแขแ K8-แแแแ, แ แแแแ แแชแแ
แ แแช แจแแแฎแแแ แจแแกแ แฃแแแแแก, แแฅ แงแแแแแคแแ แ แแจแแแแแแ แแ. แแแแ แแ แแแฃแฅแขแแก แขแแกแขแแ แแแแกแแก, Calico-แก แแแแแแแแ แแแแก แฏแแฃแคแแ แแฉแแแแ แแกแขแ แแแแแแฃแแ แจแแกแ แฃแแแแ, แแแฃแจแแ 50000-แแ แแแขแ แแแแขแแแแแ แ 500 แคแแแแแฃแ แแแแแซแแ, แ แแแแแก แจแแฅแแแแก แกแแฉแฅแแ แ แฌแแแจแ 20 แแแแขแแแแแ แแ. แกแแแแแ แแแแกแแแ แแแแแแจแแ แแแแ แแ แแแแแ แ แแ แแแแแแ แแ แแแแแแแแแแแ. แแกแแแ แจแแแแแแแ
แแ แแแฅแขแ แซแแแแแ แกแฌแ แแคแแ แแแแแ แแแแ, แแก แแฎแแ แก แฃแญแแ แก แแฃแจแแแแแก แแแแฃแแแ แฃแ แแแแแฌแงแแแขแแแแแแแจแ, แแแ แแฃแแ K8s, OpenShift, OpenStack, แจแแกแแซแแแแแแแ Calico-แก แแแแแงแแแแแ แแแแกแขแแ แแก แแแแแงแแแแแแ.
แแแแ แฏแแจแ Calico-แกแแแ แแ แแแ
แแแแแแแก Kubernetes-แแก แแแแแงแแแแแแก แแแแแ แจแแแแฎแแแแแจแ, CNI-แแก แแแงแแแแแ แฎแแแแ แคแแแแแก แแแแแงแแแแแแแแ calico.yaml
, kubectl apply -f
.
แ แแแแ แช แฌแแกแ, แแแแฃแแแก แแแแแแแแแแแ แแแ แกแแ แแแแกแแแแแแ Kubernetes-แแก แฃแแฎแแแก 2-3 แแแ แกแแแกแแแ: แซแแแ แแแ แกแแแแจแ แแแแ แแชแแ แแ แแ แแก แแแแแชแแแแ แแ แแ แแ แแก แแแ แแแขแแ แแแฃแแ. แแแแแแแแแ แแแแก แแฅแแแ, Calico แแฃแจแแแแก Linux-แแก แแแ แแแแแแ 3.10-แแ แแแฆแแ, แแแจแแแแฃแแ CentOS 7, Ubuntu 16 แแ Debian 8, iptables แแ IPVS-แแก แแแแแ.
แแแแแแชแแ แแแ แแแแจแ
แแแแแแ แแแแแแแกแแแแก, แแแแแ แจแแแฎแแแแ แแแ แขแแ แจแแแแฎแแแแแก แแแแก แแแกแแแแแแ, แแฃ แ แแแแ แแแแกแฎแแแแแแแ แฅแกแแแแก แแแแแขแแแ Calico-แก แแแขแแชแแแจแ แกแขแแแแแ แขแฃแแแกแแแ แแ แ แแแแ แแแแ แขแแแแแก แฌแแกแแแแก แจแแฅแแแแก แแแแแแแ แแแ แฌแแแแแฎแแแกแ แแ แแแแคแแแฃแ แแชแแแก แแแฅแแแแแแแก:
แแแแกแขแแ แจแ แแแแแแแแแฃแแแ 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
แแ แกแแแแแแ, แฉแแแ แแแแฃแจแแแ แจแแแแแแแแแ แขแ แแคแแแ Redis แแแ แขแจแ Node.js-แแแ. แแ แกแฎแแแก แแจแแแ แแ แแ แแ แซแแแแแแแแ. แ แแแแ แช แแ NetworkPolicy แแแแแฉแแแแแ, แแแกแจแ แแแฎแกแแแแแ แงแแแแ แกแแแแฅแขแแ แ แแฌแงแแแก แแแแแแ แแแแก, แแฃ แกแฎแแ แ แแ แแ แแ แแก แแแแแแแแฃแแ. แแฃแแชแ, แแแแแแชแแแก แฌแแกแแแ แแ แแ แชแแแแแแ แกแฎแแ แแแแแฅแขแแแแ, แ แแแแแแแช แแ แแ แแก แแแคแแ แฃแแ แกแแแแฅแขแแ แแก แแแแ .
แแแแแแแแ แแงแแแแแก apiVersion
Kubernetes out of box, แแแแ แแ แแ แแคแแ แ แแแจแแแ แฎแแแก แแแก แแแแแงแแแแแแจแ
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-แแ แแแแแ แขแ แแคแแแแก แแแจแแแแแก แแ แฃแแ แงแแคแแกแแแแก แจแแแชแแแก แแแแกแขแ แฃแฅแขแแแก แคแ แฉแฎแแแแแแ, แ แแแแแแแช แซแแแแแ แแแกแแแแแ แแ แแแกแแแแฎแกแแแ แแแแแแ. Calico-แก แจแแแแฎแแแแแจแ, firewall-แแก แฌแแกแแก แแแแแแแก แกแแแแ แแกแแแ แแ แจแแกแแชแแแแแแ, แฃแแ แแแแ แจแแชแแแแแ action: Allow
on 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
แแ แแฃ แแงแแแแแ Calico แแแแแขแแแแก, แกแแแขแแฅแกแ แแกแแแ แแฅแแแแ:
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
แแแแแแแ, แแ แขแแแแก แแแแแขแแแแก แแแแแขแแแแ แกแแแชแแคแแแฃแ แกแแญแแ แแแแแแแ, แจแแแแซแแแแ แแแแชแแแ แแแแแ แแ แจแแแแฎแแแแแแ แฉแแ แแแแกแแแ แแแแแแแชแแแแแก แแฃแจแแแแแจแ แแแแกแขแแ แจแ.
แกแแฃแแแแแกแ แแ แแฅแขแแแ, Calico-แก แจแแแฅแแแแแแแแก แแแ แแ, แแ แแก แแแแแแแ โแแแแแแแ แงแแแแแคแแ แ แแ แแจแแแ แแ แแแฎแกแแแ แแก, แ แแช แแญแแ แแแแโ, แแแแฃแแแแขแแ แแแฃแแ
แแแแแขแแแแแ Calico แแแแแฅแขแแแแก แแแแแงแแแแแ
แจแแแแฎแกแแแแแ, แ แแ Calico API-แแแแก แแแคแแ แแแแแฃแแ แแแแ แแแแก แแแจแแแแแแ แแฅแแแ แจแแแแซแแแแ แแแแ แแแฃแแแ แแ แแแแแซแแแแก แฎแแแแแกแแฌแแแแแแแ, แแ แจแแแแแคแแ แแแแแ แแฎแแแแ แแแแแแแ. แจแแแแแ แแแแแแแแจแ แแแแแงแแแแแแ GlobalNetworkPolicy
ICMP แแแแฎแแแแแแแก แแแแกแขแแ แจแ แแแแแชแแแแก แจแแกแแซแแแแแแแ แแแฎแฃแ แฃแแแ (แแแแแแแแแ, แแแแแแแ แแแแแแแ แแแแแซแจแ, แแแแแแก แจแแ แแก แแ แแแแแซแแแแ IP แแแแจแ):
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 แกแแฅแแ
แแ แแแแแก, แแ แแแแแงแแแ Calico แคแฃแแฅแชแแแแแก แแแแแงแแแแแแก แซแแแแแ แ แแแแฃแ แแแแแแแแก แแแแกแขแแ แฃแแ แฃแ แแแแ แแฅแแแแแแแก แจแแแแฎแแแแแจแ, แ แแแแกแแช แแแแแขแแแแก แกแขแแแแแ แขแฃแแ แแแแ แแแ แแ แแ แแก แกแแแแแ แแกแ. แแแ แแแแแแแชแแแแ แฌแแแแแแกแแแแก แแแแแแขแแแ แแงแแแแแแ VPN แแแแ แแแก แแ แแก แฌแแแแแ แแแแชแ แแ แแแแขแ แแแแแแ แแ แจแแแแแคแแ แแแแแ แแแแแกแแงแแแแแแแ แแแจแแแแฃแแ แกแแ แแแกแแแแก แแแแแ แแขแฃแแ แกแแแ:
แแแแแแขแแแ แฃแแแแจแแ แแแแแแ VPN-แก แกแขแแแแแ แขแฃแแ UDP แแแ แขแแ 1194 แแ, แ แแแแกแแช แแแแแแจแแ แแแฃแแแ, แแฆแแแแ แแแ แจแ แฃแขแแแก แแแแแแแกแ แแ แกแแ แแแกแแแแก แแแแกแขแแ แฃแ แฅแแแฅแกแแแจแ. แแแแแ แฅแแแฅแกแแแแแ แแแแแขแแแ แแฃแแแ แแกแ, แ แแ แแ แแแแแ แแแ แกแแ แแแกแแแ แแแกแแแแ แแแแแก แแแแแขแแแ แแแแกแ แแ แจแแชแแแแกแแก.
แแแ แขแ แแแแคแแแฃแ แแชแแแจแ แกแขแแแแแ แขแฃแแแ, แ แแช แแแ แแแแฃแ แแแฃแแแกแแแก แแฌแแกแแแก แแแแแแแชแแแก แแแแคแแแฃแ แแชแแแกแ แแ Kubernetes แแแแกแขแแ แจแ แแแแแขแแแแก แแ แแชแแกแแ. แแแแแแแแแ, แแแแแ AWS-แจแ LoadBalancer for UDP แแแแแฉแแแ แคแแฅแขแแฃแ แแ แแแกแฃแแ แฌแแแก แแแแแก แ แแแแแแแแแก แจแแแฆแฃแแฃแ แกแแแจแ แแ NodePort แแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแแกแ แแแแแแแกแแแแ แแแแแก แแแแ แงแแแแ แแแแกแขแแ แฃแ แแแแแซแแ แแ แจแแฃแซแแแแแแแ แกแแ แแแ แแก แแแกแขแแแชแแแแแก แ แแแแแแแแแก แแแกแจแขแแแแ แแแ. แจแแชแแแแแก แขแแแแ แแแขแแแแก แแแแแแแ. แแแ แแ แแแแกแ, แแฅแแแ แแแแแฌแแแ แแแ แขแแแแก แแแแฃแแแกแฎแแแแ แแแแแแแแแแก แจแแชแแแ...
แจแแกแแซแแ แแแแแฌแงแแแขแแแแแแแแก แซแแแแแก แจแแแแแแ แแแ แฉแแแก แจแแแแแแ:
- แแแแแแ VPN-แแ แแแแแแแแแแ แแแแ แแแแแซแจแ
hostNetwork
, แแแฃ แ แแแแฃแ IP-แแแ. - แกแแ แแแกแ แแแแแแแกแแแฃแแแ แแแ แแ
ClusterIP
. แแแแแซแแ แคแแแแแฃแ แแ แแแแแแขแแแแแฃแแแ แแแ แขแ, แ แแแแแแช แฎแแแแแกแแฌแแแแแแ แแแ แแแแ แแชแแ แ แแแแฅแแแแแ (แแแแแแแแ IP แแแกแแแแ แแแก แแแ แแแแแ แแ แกแแแแแ). - แแ แแแแแซแแก แแแแแแแ, แ แแแแแแแแแช แฌแแแฌแ แแแแแแ แแ, แฉแแแแ แแกแขแแ แแแก แคแแ แแแแแก แกแชแแแแแแ. แแ แฃแแ แแแแ แแแขแงแแ, แ แแ แจแแแแซแแแแ แแญแแแ แแ โแแแแญแแแแโ แกแแ แแแกแ แแแแแซแแ แแ แแแฌแแ แแ แแแขแแ แ แแแแ แแแแ แกแแ แแแกแ, แ แแแแแแช แแแแแขแแ แแแแก แแแฃแฌแแแก VPN แกแแ แแแกแแก แแแแแแแแ แ IP แแแกแแแแ แแก แแ แแแแ แแแแฅแขแแ แแแก แแแแแแขแแแแแ แ แแแแกแขแ แแ แแแฃแ 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 แแแ แขแแแ แแแแแแจแแ แแแ แแแแชแ แแ แแแ แซแแแฃแแแ, แแแแ แแ แแแแแ แแ แแก แจแแแแ แฉแฃแแแแฃแแแ DNS แกแแ แแแกแแก แคแฃแแฅแชแแแแแ แแแ, แ แแแแแก แคแฃแแฅแชแแแแแ แแแ แกแแแแแแ แฎแจแแ แแ แแแแแชแแแก แฌแแกแแแแก แจแแแแแแแกแแก. แ แแแแแ, แ แแแแ แช แฃแแแ แแฆแแแแจแแแ, แ แแแแกแแช แกแแแแฅแขแแ แ แแแแแฉแแแแแ, แแแกแแ แแแแแแงแแแแแ แแแแฃแแแกแฎแแแแ แฃแแ แงแแคแแก แแแแแขแแแ, แแฃ แกแฎแแ แ แแ แแ แแ แแก แแแแแแแแฃแแ.
แจแแแแแแแ
แแแ แแแแ, Calico-แก แแแคแแ แแแแแฃแแ API-แก แแแแแงแแแแแแ, แจแแแแซแแแแ แแแฅแแแแแ แแแแแแแคแแแฃแ แแ แแ แแ แแแแแแแฃแ แแ แจแแชแแแแแ แแแ แจแ แฃแขแ แแแแกแขแแ แจแ แแ แแแก แแแ แจแแแ. แแแแแแแ, แแแกแ แแแแแงแแแแแ แจแแแซแแแแ แฐแแแแก แแแฆแฃแ แแแแก แกแ แแแแก แฅแแแแแฎแแ, แฎแแแ L3 แฅแกแแแแก แแแแแ แแแ BGP แแ IP-IP แแแแ แแแแแแ แแแแแแงแฃแ แแแ แแแแแ แแแแ แฃแแ แแแ Kubernetes-แแก แแแกแขแแแแชแแแจแ แแ แขแงแแ แฅแกแแแจแ... แแฃแแชแ, แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ แแแกแขแ แฃแแแแขแ แแแแแแงแฃแ แแแ แกแแแแแแ แกแแชแแชแฎแแแกแฃแแแ แแแแ แแ แกแแกแแ แแแแแ. .
แฃแกแแคแ แแฎแแแแแก แแแแฎแแแแแแแก แแแกแแแแแงแแคแแแแแแแ แแแแกแขแแ แแก แแแแแแ แแแ แจแแแซแแแแ แงแแแแแแแแก แแ แแงแแก แจแแกแแซแแแแแแ แแ แกแฌแแ แแ แแฅ แแแแแก Calico (แแ แแกแแแแกแ แแแแแกแแแแแ) แกแแแแจแแแแแจแ. แแ แกแขแแขแแแจแ แแแชแแแฃแแ แแแแแแแแแแ (แแชแแ แ แชแแแแแแแแแแ) แแแแแแงแแแแแ แฉแแแแ แแแแแแขแแแแก แ แแแแแแแแ แแแกแขแแแแชแแแจแ AWS-แจแ.
PS
แแกแแแ แฌแแแแแแฎแแ แฉแแแแก แแแแแแ:
- ยซ
แจแแกแแแแแ Kubernetes แฅแกแแแแก แแแแแขแแแแจแ แฃแกแแคแ แแฎแแแแแก แแ แแคแแกแแแแแแแแแกแแแแก "; - "แแแฃแกแขแ แแ แแแฃแแ แแแแแแแแแแ แฅแกแแแจแ Kubernetes-แจแ":
แแแฌแแแแแ 1 แแ 2 (แฅแกแแแแก แแแแแแ, แแแแแคแแ แแแก แฅแกแแแแแ) ,แแแฌแแแ 3 (แแแแกแแฎแฃแ แแแ แแ แขแ แแคแแแแก แแแแฃแจแแแแแ) ; - ยซ
Container Networking Interface (CNI) - แฅแกแแแแก แแแขแแ แคแแแกแ แแ แกแขแแแแแ แขแ Linux แแแแขแแแแแ แแแแกแแแแก ".
แฌแงแแ แ: www.habr.com