Kubernetes网络策略出口端口
我有以下限制访问前端服务页面的网络策略:Kubernetes网络策略出口端口,kubernetes,kubernetes-networkpolicy,Kubernetes,Kubernetes Networkpolicy,我有以下限制访问前端服务页面的网络策略: apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: namespace: namespace-a name: allow-frontend-access-from-external-ip spec: podSelector: matchLabels: app: frontend-service ingress: - from:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
namespace: namespace-a
name: allow-frontend-access-from-external-ip
spec:
podSelector:
matchLabels:
app: frontend-service
ingress:
- from:
- ipBlock:
cidr: 0.0.0.0/0
ports:
- protocol: TCP
port: 443
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
ports:
- protocol: TCP
port: 443
我的问题是:我可以用我的出口规则(443上的端口限制)强制HTTPS吗?如果可以,这是如何工作的?假设客户机连接到前端服务,客户机在其机器上为该连接选择一个随机端口,Kubernetes如何知道该端口,或者集群中是否存在某种端口映射,因此返回到客户端的流量位于端口443上,并在离开集群时映射回客户端的原始端口?您可能对网络策略(NP)有错误的理解 以下是您对本节的解释:
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
ports:
- protocol: TCP
port: 443
开放端口443
用于0.0.0.0/0
cidr内所有POD的传出流量
你问的问题
库伯内特斯是怎么知道那个港口的,还是有一种港口
在集群中进行映射,以便返回到客户端的流量位于端口上
443,并在离开时映射回客户端原始端口
集群
由kube代理以以下方式管理:
对于从pod到外部地址的流量,Kubernetes只是使用SNAT。它所做的是用主机的IP:端口替换pod的内部源IP:端口。当返回数据包返回到主机时,它会重写pod的IP:端口作为目的地,并将其发送回原始pod。整个过程对原始pod是透明的,因为原始pod根本不知道地址的翻译
看一看,以便更好地理解 您可能对网络策略(NP)有错误的理解 以下是您对本节的解释:
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
ports:
- protocol: TCP
port: 443
开放端口443
用于0.0.0.0/0
cidr内所有POD的传出流量
你问的问题
库伯内特斯是怎么知道那个港口的,还是有一种港口
在集群中进行映射,以便返回到客户端的流量位于端口上
443,并在离开时映射回客户端原始端口
集群
由kube代理以以下方式管理:
对于从pod到外部地址的流量,Kubernetes只是使用SNAT。它所做的是用主机的IP:端口替换pod的内部源IP:端口。当返回数据包返回到主机时,它会重写pod的IP:端口作为目的地,并将其发送回原始pod。整个过程对原始pod是透明的,因为原始pod根本不知道地址的翻译
看一看,以便更好地理解 非常感谢,最后是一个合理的描述和相应的条款(SNAT):)非常感谢,最后是一个合理的描述和相应的条款(SNAT):)