升级Sidecar代理

控制平面升级后,已经启用Istio的应用程序仍将使用旧版本的Sidecar代理,因此需要进行升级。本文介绍如何通过自动注入Sidecar和手动注入Sidecar这两种方式升级Sidecar代理。

前提条件

已通过kubectl连接至ACK集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群

背景信息

Sidecar升级的操作是在数据面的Kubernetes集群中进行的,对应的kubeconfig应当是面向数据面的Kubernetes集群,而不是网格实例对应的kubeconfig。因此kubeconfig应当从容器服务控制台获取,而不是从服务网格控制台获取。

自动注入Sidecar

如果使用自动注入Sidecar的方式,您可以重新部署对应的工作负载,新的Sidecar将被自动注入。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态

  3. 无状态页面,按需选择以下操作,重新部署工作负载。

    场景

    操作

    单个工作负载

    操作列,单击目标工作负载对应的更多 > 重新部署,然后在重新部署对话框,单击确定

    多个工作负载

    名称列,选中多个目标工作负载,在页面下方单击批量重新部署,然后在确认对话框,单击确定

手动注入Sidecar

如果您没有使用自动注入Sidecar的方式,请执行以下命令手动升级Sidecar。

按照之前手工注入的方式,重新生成一个新的部署YAML文件,并重新执行kubectl apply命令。

kubectl apply -f <(istioctl kube-inject -f <未注入过Sidecar代理配置的原始应用YAML文件>)