ASM通过Gateway API部署Ambient模式的Waypoint组件。本文介绍如何自定义Waypoint的配置。
前提条件
集群中已安装1.2.1及以上版本的Gateway API组件。
操作步骤
ASM支持您通过自定义Configmap来指定Waypoint的Deployment和HPA,请确保ConfigMap和Gateway资源在同一命名空间。
创建Waypoint
本步骤将创建一个常规配置的Waypoint。
创建gateway.yaml。
apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: waypoint namespace: default spec: gatewayClassName: istio-waypoint listeners: - allowedRoutes: namespaces: from: Same name: mesh port: 15008 protocol: HBONE
部署Waypoint。
kubectl apply -f gateway.yaml
创建ConfigMap
创建gw-options.yaml。您可以根据实际需求对配置内容进行调整。
apiVersion: v1 kind: ConfigMap metadata: name: gw-options data: horizontalPodAutoscaler: | spec: minReplicas: 2 maxReplicas: 2 deployment: | spec: # 配置了HPA时,不可以同时配置replicas # replicas: 4 template: spec: containers: - name: istio-proxy resources: requests: cpu: 1234m
部分配置项说明如下:
配置项
说明
data.horizontalPodAutoscaler
用于定义HPA的配置信息。本示例为配置HPA的最大和最小Pod 副本数均为2。
data.deployment
配置Pod级别的模板。本示例配置容器名称为
istio-proxy
,CPU需求量为1234m。部署ConfigMap。
kubectl apply -f gw-options.yaml
更新Waypoint
修改Gateway资源配置,引用ConfigMap资源。
apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: name: waypoint namespace: default spec: infrastructure: parametersRef: group: "" kind: ConfigMap name: gw-options gatewayClassName: istio-waypoint listeners: - allowedRoutes: namespaces: from: Same name: mesh port: 15008 protocol: HBONE
更新Waypoint。
kubectl apply -f gateway.yaml
更新完成后,ASM将会在实际的资源生成后,使用ConfigMap中的配置对指定资源执行Strategic Merge Patch,然后再创建或更新对应资源。
该文章对您有帮助吗?