我想用一個簡單的網路策略阻止來自其他命名空間的所有流量。但它并沒有給出我想要的結果。難道我做錯了什么?
k get namespaces
prod Active 39m
qa Active 39m
k get networkpolicies.networking.k8s.io -n prod
NAME POD-SELECTOR AGE
block-other-namespace <none> 25m
k get -o wide pods --all-namespaces
prod curl-pod 1/1 Running 0 47m 10.244.2.2 minikube-m03
prod web 1/1 Running 0 47m 10.244.1.3 minikube-m02
qa curl-pod 1/1 Running 0 47m 10.244.1.2 minikube-m02
網路策略 yaml 檔案如下。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
namespace: prod
name: block-other-namespace
spec:
podSelector: {}
ingress:
- from:
- podSelector: {}
但是,我可以使用 prod 命名空間中的 pod 向 qa 命名空間中的 pod 發送請求。
kubectl -n qa exec curl-pod -- curl -I http://10.244.1.3
0HTTP/1.1 200 OK
Server: nginx/1.23.2
Date: Sun, 13 Nov 2022 08:34:35 GMT
Content-Type: text/html
Content-Length: 615
Last-Modified: Wed, 19 Oct 2022 07:56:21 GMT
Connection: keep-alive
ETag: "634fada5-267"
Accept-Ranges: bytes
uj5u.com熱心網友回復:
我嘗試重新創建您的環境,并且網路策略配置集對我有用。請確保您安裝了支持執行網路策略的 CNI。
您可以查看印花布安裝指南 或將其安裝在一個襯里中:
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/calico.yaml
此外,在 Otterize 中,我們在手動配置網路策略以控制 Pod 之間的訪問時也遇到了這些問題。我們最終構建了自己的解決方案并將其開源 - https://docs.otterize.com/quick-tutorials/k8s-network-policies
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/532341.html
標籤:Kubernetes
