是的,AWS App Mesh中的Argo Rollout支持基于头文件的流量控制。这可以通过在Kubernetes YAML文件中添加annotations来实现。下面是一个示例:
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: example-rollout
namespace: my-namespace
annotations:
argo-rollouts.argoproj.io/traffic: |
headers:
- name: cookie
values:
- "example-cookie=blue"
percent: 50
spec:
replicas: 3
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-image
ports:
- containerPort: 80
在上面的示例中,我们使用annotations
部分来添加头文件进行流量控制。name
指定要查找的头文件名称,而values
数组指定要匹配的头文件值。在这个例子中,我们指定匹配名为“cookie”的头文件并且它的值为“example-cookie=blue”。
最后,percent
字段指定要将多少流量路由到该版本。在这个例子中,我们将50%的流量路由到新版本(这里例子中只有一个版本)。
注意:在使用此功能之前,您需要确保已启用AWS App Mesh上的头文件匹配。这可以在AWS App Mesh控制台中完成。