Trong case này, ta giả lập cần mở cho busybox gọi ra ngoài web google, api sendmail, api sms....
# kubectl get ns --show-labels (để lấy label của namespace)
# kubectl get all -n frontend --show-labels (để lấy label của pod)
# vim 02.allow-http-dns.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-http-dns
namespace: frontend
spec:
policyTypes:
- Egress
podSelector: {}
egress:
- ports:
- port: 53
protocol: UDP
- port: 80
protocol: TCP
- port: 443
protocol: TCP
Vào pod busybox thực hiện wget google.com KQ: [return 200]. Với trường hợp ta chỉ định pod nhất định > thì có thể sửa podSelector:
podSelector:
matchLabels:
role: db
Ngoài ra có thể giới hạn chính xác IP được gọi, chứ ko mở all 80/443 ra ngoài như sau:
egress:
- to:
- ipBlock:
cidr: 123.123.68.68/32
ports:
- protocol: TCP
port: 8080
Case2: Allow Ingress (Inbound)
Vậy với trường hợp Pod gọi Pod khi bị DenyAll, ta thực hiện như sau:
# kubectl get ns --show-labels (để lấy label của namespace)
# kubectl get all -n frontend --show-labels (để lấy label của pod)
# vim 03.allow-http-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: 03-allow-http-ingress
namespace: frontend
spec:
podSelector:
matchLabels:
app: web_frontend
policyTypes:
- Ingress
ingress:
- from:
- namespaceSelector:
matchLabels:
role: frontend
podSelector:
matchLabels:
run: busybox
ports:
- protocol: TCP
port: 80
# kubectl apply -f 03.allow-http-ingress.yaml
# kubectl -n frontend exec -it busybox -- sh (vào pod busybox để kiểm tra)
> wget nginx
Hello World
Phần 4: Pod gọi nhau sử dụng Networkpolicies Deny all - khác NameSpace
1. File trong yml role > inventory /etc/ansible/hosts
- option -e cao nhất (0)
- Khai báo trong thư mục roles/xxx/vars (1) sẽ có độ ưu tiên cao nhất, dù khai báo 2,3,4 đều không lấy biến đó.
- file role tổng (2) (file gọi các roles)
- file inventory /etc/ansible/hosts (3)
- file trong roles/xxx/default (4)
group_vars và host_vars (Thư mục)
Thứ tự các file sắp xếp như dưới đấy. Việc oder file nào trước nằm ở mục Variable Priority