多容器Pod与有状态集:扩展应用与稳定运行
1. 大使容器抽象连接
大使模式允许你控制和简化应用程序的出站连接。应用程序向本地地址发送网络请求,这些请求由大使容器接收并执行。你可以在多种情况下使用通用的大使容器,或者针对应用程序组件的特定大使容器。大使容器中的逻辑可能旨在提高性能、增加可靠性或安全性。
将网络控制权从应用程序中分离出来非常强大。代理容器可以进行服务发现、负载均衡、重试,甚至在未加密的通道上进行加密。像Linkerd和Istio等服务网格架构就是基于代理边车容器的大使模式变体。
以随机数应用为例,有一个运行在Pod中的Web应用,它使用另一个Pod中运行的API。在初始部署中,Web应用容器可以使用任何网络地址,这存在安全风险。
操作步骤 :
1. 部署应用和服务:
kubectl apply -f numbers/
- 查找应用的URL:
kubectl get svc numbers-web -o jsonpath='http://{.status.loadBalancer.ingress[0].*}:8090'
- 浏览应用获取随机数,并检查Web应用是否可以访问其他端点:
kubectl exec d