87 lines
2.3 KiB
YAML
87 lines
2.3 KiB
YAML
# Isolation réseau du namespace velero — deny-by-default + allowlist, adaptée
|
|
# aux flux réels de Velero :
|
|
# - Ingress : AUCUN. Personne n'a besoin d'ouvrir une connexion vers les
|
|
# pods Velero (le CLI "velero backup/restore" parle à l'API server, pas
|
|
# directement aux pods) ; le node-agent (File System Backup) lit les
|
|
# données des volumes via hostPath sur le nœud, pas par le réseau.
|
|
# - Egress : API server (CRD Backup/Restore/Schedule + lecture des Secrets
|
|
# à sauvegarder), DNS, et le endpoint S3/RustFS/MinIO configuré dans
|
|
# values.yaml.
|
|
#
|
|
# ⚠️ AVANT D'APPLIQUER : remplacer CHANGE_ME_apiserver_ip et
|
|
# CHANGE_ME_s3_endpoint_ip par les IP réelles (API server : voir
|
|
# deploy/cert-manager/networkpolicy.yml ; endpoint S3 : IP de votre instance
|
|
# RustFS/MinIO, celle configurée dans s3Url de values.yaml). Une mauvaise
|
|
# valeur ne casse rien d'immédiat (les démos continuent de tourner) mais fait
|
|
# silencieusement échouer TOUTES les sauvegardes — vérifiez après application
|
|
# avec `velero backup create test-netpol --wait` puis `velero backup describe
|
|
# test-netpol` (statut Completed attendu).
|
|
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: default-deny-all
|
|
namespace: velero
|
|
spec:
|
|
podSelector: {}
|
|
policyTypes:
|
|
- Ingress
|
|
- Egress
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: allow-egress-dns
|
|
namespace: velero
|
|
spec:
|
|
podSelector: {}
|
|
policyTypes:
|
|
- Egress
|
|
egress:
|
|
- to:
|
|
- namespaceSelector:
|
|
matchLabels:
|
|
kubernetes.io/metadata.name: kube-system
|
|
ports:
|
|
- protocol: UDP
|
|
port: 53
|
|
- protocol: TCP
|
|
port: 53
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: allow-egress-apiserver
|
|
namespace: velero
|
|
spec:
|
|
podSelector: {}
|
|
policyTypes:
|
|
- Egress
|
|
egress:
|
|
- to:
|
|
- ipBlock:
|
|
cidr: CHANGE_ME_apiserver_ip/32
|
|
ports:
|
|
- protocol: TCP
|
|
port: 6443
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: allow-egress-s3-storage
|
|
namespace: velero
|
|
spec:
|
|
podSelector: {}
|
|
policyTypes:
|
|
- Egress
|
|
egress:
|
|
- to:
|
|
- ipBlock:
|
|
cidr: CHANGE_ME_s3_endpoint_ip/32
|
|
ports:
|
|
- protocol: TCP
|
|
port: 443
|