12.6. 验证
12.6.1. 部署示例应用程序 复制链接链接已复制到粘贴板!
要测试出口 IP 规则,请创建一个限制为我们指定的出口 IP 地址的服务。这会模拟预期 IP 地址小子集的外部服务。
运行
echoserver
命令复制请求:oc -n default run demo-service --image=gcr.io/google_containers/echoserver:1.4
$ oc -n default run demo-service --image=gcr.io/google_containers/echoserver:1.4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将 pod 公开为服务,并将入口限制为您指定的出口 IP 地址:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检索负载均衡器主机名并将其保存为环境变量:
export LOAD_BALANCER_HOSTNAME=$(oc get svc -n default demo-service -o json | jq -r '.status.loadBalancer.ingress[].hostname')
$ export LOAD_BALANCER_HOSTNAME=$(oc get svc -n default demo-service -o json | jq -r '.status.loadBalancer.ingress[].hostname')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.6.2. 测试命名空间出口 复制链接链接已复制到粘贴板!
启动交互式 shell 来测试命名空间出站规则:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 向负载均衡器发送请求,并确保您可以成功连接:
curl -s http://$LOAD_BALANCER_HOSTNAME
$ curl -s http://$LOAD_BALANCER_HOSTNAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查输出是否有成功连接:
注意client_address
是负载均衡器的内部 IP 地址,而不是您的出口 IP。您可以通过连接到服务限制为.spec.loadBalancerSourceRanges
来验证您是否已正确配置了客户端地址。输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令退出 pod:
exit
$ exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.6.3. 测试 pod 出口 复制链接链接已复制到粘贴板!
启动交互式 shell 来测试 pod 出站规则:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,向负载均衡器发送请求:
curl -s http://$LOAD_BALANCER_HOSTNAME
$ curl -s http://$LOAD_BALANCER_HOSTNAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查输出是否有成功连接:
注意client_address
是负载均衡器的内部 IP 地址,而不是您的出口 IP。您可以通过连接到服务限制为.spec.loadBalancerSourceRanges
来验证您是否已正确配置了客户端地址。输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令退出 pod:
exit
$ exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.6.4. 可选:测试阻塞的出口 复制链接链接已复制到粘贴板!
可选: 通过运行以下命令,测试在未应用出口规则时流量被成功阻止:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,向负载均衡器发送请求:
curl -s http://$LOAD_BALANCER_HOSTNAME
$ curl -s http://$LOAD_BALANCER_HOSTNAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果命令失败,则成功阻止出口。
运行以下命令退出 pod:
exit
$ exit
Copy to Clipboard Copied! Toggle word wrap Toggle overflow