深入混乱 - 模拟网络与应用层故障
第一步:准备一个多服务实验环境
为了测试服务间的网络故障,我们至少需要两个服务:一个客户端和一个服务端。
A. 准备服务端
我们可以继续使用上一篇中创建的、拥有3个副本的 nginx-deployment
。但为了让客户端能通过一个稳定的地址找到它,我们需要为它创建一个 Service
。
- 创建
nginx-service.yaml
:apiVersion: v1 kind: Service metadata: name: nginx-service # 客户端将通过这个DNS名称来访问 namespace: default spec: selector: app: nginx ports: - protocol: TCP port: 80 targetPort: 80
- 如果你还没有部署 Nginx Deployment 和这个 Service,请现在应用它们。
B. 准备客户端
我们需要一个客户端 Pod,它会不知疲倦地、持续地尝试访问我们的 Nginx 服务端。一个在循环中运行 curl
的 Pod 是最完美的“探针”。
-
创建
client-pod.yaml
:apiVersion: v1 kind: Pod metadata: name: network-client namespace