👁 В Kubernetes безопасность — это не только настройка RBAC и ограничение прав пользователей. Network Policies — это мощный инструмент для контроля трафика между подами, который позволяет ограничить, какие поды могут общаться друг с другом. Это ключевая часть для защиты микросервисов и создания изолированных сред.
📝 Пример конфигурации Network Policy, которая разрешает доступ только к определенным подам через HTTP:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-http
namespace: default
spec:
podSelector:
matchLabels:
app: myapp
ingress:
- from:
- podSelector:
matchLabels:
role: frontend
ports:
- protocol: TCP
port: 80
📌 Что это делает:
podSelector: matchLabels: app: myapp— выбирает поды, к которым применяется правило (в данном случае это поды с лейбломapp=myapp)ingress— это входящий трафик, то есть кто и с каких подов может подключатьсяfrom: podSelector: matchLabels: role: frontend— трафик разрешен только от подов с лейбломrole=frontendports: - protocol: TCP port: 80— разрешает только трафик на порт 80 (HTTP) через TCP
❗️ Если используешь Cilium или Calico как CNI, они могут предоставить более гибкие и мощные возможности для политики безопасности, включая сетевые метки и ограничения.
tags: #k8s #безопасность #сети
❤️ @recura_tech


