IPv6验证 - II

场景3 - EKS Pod 之间通过 IPv6 地址的连接

在本部分中,我们将验证 EKS Pod 之间通过 IPv6 地址的连接。

我们将在 EKS Pod 上部署一个前端(一个将代理用户请求的 nginx)和一个后端应用程序(一个用于返回hello world的简单微服务),并测试它们之间的连接。为简单起见,我们将在此场景中在两个 pod 之间执行 ping6 测试

运行以下命令来创建后端 Pod 和后端服务:

kubectl apply -f https://k8s.io/examples/service/access/backend-deployment.yaml
kubectl apply -f https://k8s.io/examples/service/access/backend-service.yaml

接下来,运行以下命令来验证服务是否已成功创建。注意到分配给服务的CLUSTER-IP将是 IPv6 地址。

kubectl get svc hello

image-20240319110259163

现在我们将创建前端,它接受用户请求并将其代理到后端服务:

kubectl apply -f https://k8s.io/examples/service/access/frontend-deployment.yaml
kubectl apply -f  https://k8s.io/examples/service/access/frontend-service.yaml

运行以下命令并从输出中复制任意一个 IPv6 地址。

kubectl describe svc hello

image-20240319110426037

接下来,我们需要进入前端pod的bash终端:

kubectl exec -it frontend-<podname> -- /bin/bash

从前端 pod 的 bash 终端,运行 ping6 命令。在以下命令中使用上一步查到的 IPv6 地址:

ping6 <IPV6ADDRESS>

会看到来自后端 Pod 的成功 ping 响应,这验证了 Pod 之间通过 IPv6 地址进行的通信。

image-20240319110605998