控制平面升级后,已经启用Istio的应用程序仍将使用旧版本的Sidecar代理,因此需要进行升级。本文介绍如何通过自动注入Sidecar和手动注入Sidecar这两种方式升级Sidecar代理。
前提条件
已通过kubectl连接至ACK集群。具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。
背景信息
Sidecar升级的操作是在数据面的Kubernetes集群中进行的,对应的kubeconfig应当是面向数据面的Kubernetes集群,而不是网格实例对应的kubeconfig。因此kubeconfig应当从容器服务控制台获取,而不是从服务网格控制台获取。
自动注入Sidecar
如果使用自动注入Sidecar的方式,您可以重新部署对应的工作负载,新的Sidecar将被自动注入。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在无状态页面,按需选择以下操作,重新部署工作负载。
场景
操作
单个工作负载
在操作列,单击目标工作负载对应的
,然后在重新部署对话框,单击确定。多个工作负载
在名称列,选中多个目标工作负载,在页面下方单击批量重新部署,然后在确认对话框,单击确定。
手动注入Sidecar
如果您没有使用自动注入Sidecar的方式,请执行以下命令手动升级Sidecar。
按照之前手工注入的方式,重新生成一个新的部署YAML文件,并重新执行kubectl apply命令。
kubectl apply -f <(istioctl kube-inject -f <未注入过Sidecar代理配置的原始应用YAML文件>)