更新时间:2024-03-18 GMT+08:00

sidecar管理

sidecar管理中支持查看所有注入了sidecar的工作负载信息,还可以进行sidecar注入、配置sidecar资源限制等操作。

sidecar注入

可展示当前已注入sidecar的命名空间及所属集群。如果还未做过注入操作,或者需要为更多命名空间注入sidecar,请参考以下操作:

  1. 登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面。
  2. 在左侧导航栏选择“网格配置”,单击“sidecar管理”页签。
  3. 单击“sidecar管理”,选择命名空间,判断是否重启已有服务,单击“确定”。

    图1 注入sidecar
    • 选择命名空间:选择一个或多个命名空间,系统将为命名空间设置标签istio-injection=enabled。
    • 是否重启已有服务:

      :会重启命名空间下已有服务关联的Pod,将会暂时中断业务。只有在重启后,已有服务关联的Pod才会自动注入istio-proxy sidecar。

      :已有服务关联的Pod不会自动注入istio-proxy sidecar,需要在CCE控制台,手动重启工作负载才会注入sidecar。是否重启已有服务只会影响已有服务,只要为命名空间设置了istio-injection=enabled标签,后面新建的服务实例都会自动注入sidecar。

    • 若界面提示“以下集群未开放命名空间注入修改操作”,需要通过kubectl命令行开放,具体操作请参见如何为集群开放命名空间注入?
    • 为集群的命名空间开启sidecar注入后,该命名空间下所有工作负载关联的Pod将自动注入sidecar。如果某些工作负载不希望注入sidecar,可参考某些工作负载不注入Sidecar,该如何配置?进行配置。
    • 对于1.8.4-r1及之前(所有1.3、1.6)版本的网格,建议确认工作负载是否包含注解:sidecar.istio.io/inject: 'true'。如未包含,请在spec.template.metadata.annotations字段下添加:
            annotations:
              sidecar.istio.io/inject: 'true'

查看工作负载详情

列表中展示了该网格所管理的集群下所有已创建服务的工作负载,支持查看负载的名称、所属集群、服务,以及负载的sidecar信息,包括sidecar名称、sidecar版本、状态、CPU使用率、内存使用率等。操作方法如下:

  1. 在列表右上角搜索框,选择集群、命名空间,并输入工作负载名称搜索指定工作负载,查看负载的相关信息。
  2. 单击工作负载前的图标,查看负载的sidecar信息。

    如果提示工作负载中无sidecar,是因为该负载所属命名空间还未注入sidecar,参考sidecar注入进行注入。

配置sidecar资源限制

支持为sidecar(即istio-proxy容器)配置CPU和内存的资源上下限。同一个节点上部署的工作负载,对于未设置资源上下限的工作负载,如果其异常资源泄露会导致其他工作负载分配不到资源而异常。未设置资源上下限的工作负载,工作负载监控信息也会不准确。

默认的sidecar资源上下限为:

  • CPU(Core):最小 0.1,最大 2
  • MEM(MiB):最小 128,最大 1024

如需更改,请参考以下操作:

  1. 单击工作负载操作列的“sidecar资源限制”,也可以勾选多个工作负载,在列表左上角单击“sidecar资源限制”进行批量配置。

    • CPU最小值:也称CPU请求,表示容器使用的最小CPU需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配CPU总量 ≥ 容器CPU请求数时,才允许将容器调度到该节点。
    • CPU最大值:也称CPU限制,表示容器能使用的CPU最大值。
    • MEM最小值:也称内存请求,表示容器使用的最小内存需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配内存总量 ≥ 容器内存请求数时,才允许将容器调度到该节点。
    • MEM最大值:也称内存限制,表示容器能使用的内存最大值。当内存使用率超出设置的内存限制值时,该实例可能会被重启进而影响工作负载的正常使用。