作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个在 Google Kubernetes Engine (GKE) 上运行并启用了网络策略支持的 Kubernetes 集群。
我为它创建了一个 nginx 部署和负载均衡器:
kubectl run nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=LoadBalancer
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
name: access-nginx
spec:
podSelector:
matchLabels:
run: nginx
ingress:
- from:
- namespaceSelector:
matchLabels:
name: kube-system
ports:
- protocol: TCP
port: 80
kubectl run busybox --rm -ti --image=busybox /bin/sh
If you don't see a command prompt, try pressing enter.
/ # wget --spider --timeout=1 nginx
Connecting to nginx (10.63.254.50:80)
wget: download timed out
open http://$(kubectl get svc nginx --output=jsonpath={.status.loadBalancer.ingress[0].ip})
最佳答案
我在我的 Network Policy recipes repository 中谈到了这个。 .
“在拒绝本地流量时允许外部负载均衡器”不是一个有意义的用例,因此不可能使用网络策略。
对于 Service
type=LoadBalancer 和 Ingress
资源要工作,您必须允许所有流量到这些资源选择的 pod。
如果你真的想要,你可以使用 from.ipBlock.cidr
和 from.ipBlock.cidr.except
允许来自 0.0.0.0/0
的流量的资源(所有 IPv4),然后不包括 10.0.0.0/8
(或 GKE 使用的任何私有(private) IP 范围)。
关于Kubernetes NetworkPolicy 允许负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47327554/
我是一名优秀的程序员,十分优秀!