我已经安装了 k3s 并在新的命名空间中创建了一个 testpod。我想知道两件事:
curl -v https://google.com
当我做或curl -v https://github.com
从那个 testpod时,我怎么知道有多少网关为出口呼叫/传出呼叫打开?- 那么如何阻止(或路由来自)所有这些网关的流量,以便出口流量通过我将创建的通用网关?
我已经安装了 k3s 并在新的命名空间中创建了一个 testpod。我想知道两件事:
curl -v https://google.com
当我做或 curl -v https://github.com
从那个 testpod时,我怎么知道有多少网关为出口呼叫/传出呼叫打开?如果您想测试和检查出口流量
您可以进入 pod 并尝试curl -v https://google.com
或者尝试curl ip.me
返回主机 IP,如果被调用则从请求的位置返回
在正常情况下,Kubernetes使用Worker Node IP
as所以如果您的POD在不同的Node上运行,Host IP
您可能会看到不同的 IP。
管理单个出口:
为了管理单个Egress,您可以设置NAT 网关,该网关将通过单个点管理来自工作节点的所有传出流量。
https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html
如果您在 GKE 上,请使用:https ://registry.terraform.io/modules/GoogleCloudPlatform/nat-gateway/google/latest/examples/gke-nat-gateway
对于 K3s 中的出口网关支持,有公开 PR:https ://github.com/k3s-io/k3s/issues/1509