跳到主要内容

管理员指南

网格管理

网格部署分全局维度、租户维度,详细说明参见最佳实践。 前提条件:

  • 网格部署所在项目需要授权<管理集群>。管理集群,即平台只有一个,带有primary=true标签的集群
  • 系统管理员、租户管理员有权安装、配置网格
  • 创建网格的用户,不仅需设置为“网格部署租户&网格内各集群”的租户管理员,还需设置为“网格部署租户&管理集群”的租户管理员。因为meshes、istios、istioinstalls、ingressgateways、ingressgatewayinstalls等资源仅创建在网格部署所在项目&管理集群中
  • 部署东西向网关eastwestgateway需预留如下端口:15080,15443,15012(用于给跨集群访问控制面的sidecar,或者其他的pilot),15017,15091(metric),15022(用于status)
  • 部署网格网关ingressgateway 需预留如下端口:443、80(用于路由),15021(用于status),15090(metric)
  • sidecar proxy (Envoy) 占用端口
sidecar proxy (Envoy) 占用端口* istiod占用端口istiod占用端口

添加网格

添加网格的操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 点击“添加网格”,填写相关内容: a. 网格名称:不超过30个字符 b. 网格类型:全局维度、租户维度 c. 部署租户:选择全局维度时,显示“系统租户”,不可编辑;仅系统管理员、平台管理员可部署全局维度网格 d. 部署租户:选择租户维度时,下拉选择当前用户角色有权限的租户。包括系统管理员、租户管理员 e. Primary集群:选择“部署租户”已授权的集群

  • 集群本地域名:只读显示Primary集群的集群本地域名
  • 部署项目:选择全局维度时,此项目固定使用命名空间为istio-system的项目,如果集群上未创建,需要在“系统租户”下创建此项目并授权“Primary集群”,同时还需授权“管理集群”,即带有标签primary=true的集群
  • 部署项目:选择租户维度时,此处选择在部署租户下创建的且授权“Primary集群”的项目,同时此项目还需授权“管理集群”,即带有标签primary=true的集群
  • 东西向网关:用于网格内集群间服务调用。分两种网络模式:三层负载均衡、主机网络
  • 东西向网关 - 三层负载均衡:填写容器组数,默认1~5;容器规格CPU\内存的request和limit值
  • 东西向网关 - 主机网络:填写节点标签,IP地址,容器规格
    • 节点标签:填写一对key/value,需确认已在目标节点上设置此标签!
    • IP地址:填写单个IP地址,必填。
    • 容器规格:CPU\内存的request和limit值
  • 网格资源配置
    • Istiod:填写容器组数,默认1~5;容器规格CPU\内存的request和limit值
    • sidecar:容器规格CPU\内存的request和limit值,sidecar容器规格修改后,后续接入网格的服务立即生效,已接入网格的服务需重启后才生效
    • istio-vm-server:填写容器组数,默认1;容器规格CPU\内存的request和limit值
    • registry-adaptor:填写容器组数,默认1;容器规格CPU\内存的request和limit值

f. Remote集群:选择“部署租户”已授权的集群,可添加一个、多个或者不添加。

  • 部署项目:需同Primary集群的部署项目一致,如果没有,需要手动创建并授权当前Remote集群
  • 东西向网关:规则说明同Primary集群一致
  • 网格资源配置:
    • registry-adaptor:填写容器组数,默认1;容器规格CPU\内存的request和limit值

g. 默认入口网关:即ingress gateway服务。用于网格外服务调用网格内服务,默认部署一个,更多请到「网格网关管理」处配置。

  • 部署到集群:选择部署租户授权的任一集群
  • 网络模式:三层负载均衡、主机网络。
  • 网格网关 - 三层负载均衡:填写容器组数,默认1~5;容器规格CPU\内存的request和limit值
  • 网格网关 - 主机网络:填写节点标签,IP地址,容器规格
    • 节点标签:填写一对key/value,需确认已在目标节点上设置此标签!
    • IP地址:填写单个IP地址,非必填。
    • 容器规格:CPU\内存的request和limit值

(3) 点击“确定”,返回网格管理列表页面,提示正在安装中,请耐心等待。此时列表中网格状态为“部署中”。 (4) 点击“部署中”,展示部署进度。部署成功后,最终状态为“部署完成”。 (5) 检查当前网格的每个集群中部署istiod的节点是否安装socat软件,如果没有,请安装。网格平台部署时,应当已经在所有节点上安装socat软件。未安装时,将影响网格卸载、网格升级、“sidecar管理”中查看xDS配置和同步Pilot功能,不影响接入的业务服务的正常使用。 (6) 具体查看[管理工作台/服务网格配置/网格管理]页面,找到当前网格,进入其详情页面,查看“基本信息”页签中,istiod服务部署所在的集群和节点。参考下图。建议在网格中每个集群的所有节点上都安装socat,因为pod重启可能会分配到其他节点。安装命令如下:

  • RHEL/CentOS:yum install -y socat
  • Debian/Ubuntu:apt install -y socat
网格详情
说明
  • 全局维度、租户维度均支持按生产环境、测试环境等部署不同的网格。建议按实际业务场景,合理规划网格部署!
  • 租户&集群维度仅能部署一套网格
  • 建议Remote集群中各集群的本地域名与Primary集群一致
  • 使用三层负载均衡网络模式,需提前部署metallb
  • 使用主机网络模式,需提前为目标节点设置节点标签
  • 同一个节点上,东西向网关和网格网关仅能部署一个,避免端口冲突
  • 网格控制面所在项目暂不支持服务接入网格

查看网格列表

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 列表展示平台已部署的网格,展示网格名称、状态、租户名称、集群数量、创建时间、操作。 a. 状态:部署中、部署完成、删除中、异常 b. 租户名称:网格部署所在的租户 c. 集群数量:网格中加入的Kubernetes集群数量 d. 操作:删除 (3) 点击网格名称,进入其详情页面。展示网格基本信息、资源监控、实时日志、集群管理、网格配置。 (4) 详情顶部显示:网格名称、网格状态、创建时间、部署租户、部署项目、版本信息。

说明

网格异常分如下几种情况:网格组件存在异常;网格所在集群被移除;网格所在集群异常。

查看网格基本信息

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 找到目标网格,点击其网格名称,进入详情页面,点击“基本信息”页签。 (3) 展示网格集群数、开启服务网格项目数、入口网关数,及网格组件的容器组列表。 (4) 容器组列表展示容器组名称、状态、所属集群、所属节点、创建时间、操作(实时日志、重新分配)。

网格基本信息(5) 点击实时日志,跳转“实时日志”页签,并以当前容器组作为查询条件。 (6) 点击重新分配,弹框二次确定后,重新分配此容器组运行所在的节点。重新分配

网格组件资源监控

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 找到目标网格,点击其网格名称,进入详情页面,点击“资源监控”页签。 (3) 选择集群、组件服务、容器组、容器,按时间段查看CPU、内存、网络、容器文件系统监控数据。

网格组件实时日志

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 找到目标网格,点击其网格名称,进入详情页面,点击“实时日志”页签。 (3) 选择集群、组件服务、容器组、容器,查看实时日志。

集群管理

添加集群

只可添加Remote集群,操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 找到目标网格,点击其网格名称,进入详情页面,点击“集群管理”页签。 (3) 点击添加集群,选择Remote集群、填写东西向网关、网格资源配置信息。 a. Remote集群,当前网格部署租户所授权的集群,选择后只读显示集群本地域名和部署项目。如果部署项目未与此集群授权,需要联系管理员进行授权 b. 东西向网关:用于网格内集群间服务调用。分两种网络模式:三层负载均衡、主机网络

  • 东西向网关 - 三层负载均衡:填写容器组数,默认1~5;容器规格CPU\内存的request和limit值
  • 东西向网关 - 主机网络:填写节点标签,IP地址,容器规格
    • 节点标签:填写一对key/value,需确认已在目标节点上设置此标签!
    • IP地址:填写单个IP地址,必填。
    • 容器规格:CPU\内存的request和limit值

c. 网格资源配置

  • istio-registry-adaptor:填写容器组数,默认为1;容器规格CPU\内存的request和limit值

(4) 点击确定,添加成功后,列表显示添加后的集群。

说明

网格异常状态时不允许添加集群。

编辑集群

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 找到目标网格,点击其网格名称,进入详情页面,点击“集群管理”页签。 (3) 找到目标集群,点击操作项-编辑,仅支持编辑东西向网关的容器规格等属性,网格资源配置。

删除集群

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 找到目标网格,点击其网格名称,进入详情页面,点击“集群管理”页签。 (3) 找到目标集群,点击操作项-删除,仅支持删除Remote集群。 (4) 删除集群后,其部署的网格相关组件会同步删除,已接入网格的服务需要重启才能正常使用,并且不可继续使用网格能力。请谨慎操作! (5) 输入“删除集群”后,点击确定按钮,删除成功。

删除集群

网格配置

网格维度设置 Sidecar 启动顺序,包含两种:同时启动业务容器和Sidecar,等sidecar就绪后,再启动业务容器。 操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 找到目标网格,点击其网格名称,进入详情页面,点击“网格配置”页签。 (3) 网格部署后,默认“同时启动业务容器和Sidecar”启动顺序。 (4) 点击编辑图标,可选择另一种启动顺序,保存后,会自动触发网格控制面重启(秒级),重启中会影响 xDS 下发,请谨慎操作! (5) 建议用户自行评估业务场景,在服务维度调整sidecar启动顺序。在[服务网格/网格服务管控]页面,找到目标服务,进入其详情页面按需调整!

删除网格

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格管理]页面。 (2) 找到目标网格,点击操作项的“删除”按钮。弹框二次提醒,删除网格xxx后,网格中所有集群上部署的网格相关组件会同步删除,已接入网格的服务需要重启才能正常调用,并且不可继续使用网格能力。请谨慎操作!输入框输入“删除网格”后,确定按钮可点击,点击后,弹框消失,提示正在删除中,请耐心等待。

删除网格
说明
  • 网格所在集群被移除后,网格状态异常,但网格仍可删除,提示用户:此网格所在集群已不存在,若该集群再次接入网格,请使用工具清理残留资源后再接入!
  • 删除网格时增加数据面连接判断,若网格存在数据面连接,提示用户进行手动删除数据面连接后再删除网格!

网格网关管理

网格部署后,创建的默认入口网关,会显示在网格网关管理页面。一个网格支持部署多个网格网关(ingressgateway)。

添加网格网关

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格网关管理]页面。 (2) 分网格展示其网格网关信息,点击某网格页签,查看网关信息。 (3) 点击“添加入口网关”,弹框设置 a. 网关名称:由 3 ~ 20 位中英文、数字、中划线组成 b. 部署到集群:下拉选择当前网格中添加的集群 c. 网络模式:三层负载均衡、主机网络

  • 网格网关 - 三层负载均衡:填写容器组数,默认1~5;容器规格CPU\内存的request和limit值
  • 网格网关 - 主机网络:填写节点标签,IP地址,容器规格
    • 节点标签:填写一对key/value,需确认已在目标节点上设置此标签!
    • IP地址:填写单个IP地址,非必填。
    • 容器规格:CPU\内存的request和limit值

d. 指定租户:仅全局维度的网格展示此项。可选所有租户共享,或指定某一租户。

  • 指定租户后,只有指定租户才可见该入口网关
  • 所有租户共享,以后新增租户也可使用

(4) 点击“确定”,弹框消失,添加成功后,其状态显示“健康”。

添加网关
说明
  • 入口网关默认部署到当前网格部署所在的租户&项目&指定集群中。
  • 网关状态有4种,部署中、健康、删除中、异常。
  • 网格异常状态时均不允许添加网格网关。
  • 当网关状态为部署中、删除中、异常时,创建路由失败。
  • 选择三层负载均衡网络模式,添加成功后,“入口IP”只读显示externalIP。

编辑网格网关

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格网关管理]页面,点击目标网格页签。 (2) 找到目标入口网关,点击编辑,允许编辑容器规格、指定租户(全局维度的网格才有此选项),其它均不允许编辑。 (3) 点击保存,编辑成功。

删除网格网关

操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格网关管理]页面,点击目标网格页签。 (2) 找到目标入口网关,点击删除,二次弹框删除确定。 (3) 点击确定,删除成功。

说明

入口网关删除后,关联此网关的路由将不再生效,需要修改或更新。

网格系统配置

开启服务网格

网格部署成功后,需要为项目&集群开启服务网格,才允许将其服务接入网格,进行网格治理。租户管理员、系统管理员有权限操作。 操作步骤如下所示。 (1) 进入[管理工作台/配置管理/服务网格配置/网格系统配置]页面。 (2) 支持按网格、项目、集群、租户多维度查询。 (3) 找到目标项目&集群,默认关闭,点击开启,弹框二次确认。 (4) 点击确定,开启成功。

网格系统配置
说明

网格控制面所在的项目&集群不可开启服务网格,无开关,有控制面标识。

网关高可用设置

使用“主机网络”模式,默认部署网关后,仅在匹配到的节点上部署一个容器组Pod,如果想扩容,请按如下步骤进行操作: (1) 进入管理集群(标签primary=true,即部署mesh-api系统服务的集群),找到目标网关ingressgateway资源。修改replicaCount,执行kubectl edit ingressgateway ${name} -n ${namespace}。

  • ${name} :目标网格网关的name,如下图找到name
  • ${namespace} :目标网格网关部署所在的命名空间,如下图找到namespace
网关高可用设置网关高可用设置(2) [管理工作台/服务网格配置/网格网关管理]中找到目标网关,ip地址需要填写vip,并绑定在pod部署的多个节点上面,建议副本数与label能匹配的节点数保持一致。
说明
  • label匹配的每个节点上只能部署一个副本,避免端口冲突。
  • 请确保部署节点没有设置污点,如果有,会导致pod pending。
  • 副本数大于label匹配到的节点数,会导致多余pod pending。副本数小于label匹配节点数,可能导致请求到没有部署网关pod的节点,导致此次业务请求失败。