设置服务图
软件要求
| Kubernetes 分发 | Kubernetes 版本 | 容器网络接口 (CNI) | CPX 版本 | CIC 版本 | NetScaler ADM 版本 | NetScaler 代理版本 |
|---|---|---|---|---|---|---|
| 开源 | v1.16.3 | Flannel、Calico 或 Canal | 13.0–41.28 或更高版本 | 1.5.25 或更高版本 | 13.0–47.22 或更高版本 | 13.0–47.22 或更高版本 |
您可以使用各种部署拓扑配置 Kubernetes 集群,下表提供了服务图支持的拓扑:
| 拓扑 | 服务图支持 |
|---|---|
| 单层或统一入口 | 是 |
| 双层 | 是 |
| 云 | 是,但云负载均衡器未在图中显示 |
| 服务网格精简版 | 是 |
| 服务网格 | 是 |
| LoadBalancer 类型的服务 | 否 |
| NodePort 类型的服务 | 否 |
要在 NetScaler® ADM 中完成服务图的设置,请单击您为 Kubernetes 集群配置的拓扑类型,并完成以下步骤:
注意
双层和服务网格精简版拓扑的服务图设置过程相同。
开始之前
您可以使用以下场景查看服务图:
-
NetScaler ADM 和 Kubernetes 集群位于同一网络上(例如,NetScaler ADM 和 Kubernetes 集群托管在同一 Citrix Hypervisor™ 上)。
-
NetScaler ADM 和 Kubernetes 集群位于不同的网络上。在这种情况下,您必须配置本地代理并在托管 Kubernetes 集群的网络上注册该代理。
单层或统一入口拓扑
请确保您已:
-
使用单层或统一入口拓扑配置了 Kubernetes 集群。
-
在 NetScaler ADM 中添加了 VPX、MPX、SDX、BLX 实例并启用了 Web Insight。
-
在 NetScaler ADM 中添加了 Kubernetes 集群。
双层或服务网格精简版拓扑
请确保您已:
-
使用任何受支持的拓扑配置了 Kubernetes 集群。
-
在 NetScaler ADM 上配置了静态路由,以启用 NetScaler ADM 和 NetScaler CPX 之间的通信。
注意
如果您已将 NetScaler ADM 作为微服务部署在同一集群中,则可以忽略此过程。
-
从 GitHub 存储库下载了示例部署文件。
-
在 CPX YAML 文件中添加了所需参数,以确保 CPX 成功注册到 NetScaler ADM。
-
在 NetScaler ADM 中添加了 VPX、MPX、SDX 或 BLX 实例。
-
在 NetScaler ADM 中添加了 Kubernetes 集群。
-
部署了示例微服务应用程序。
-
部署了 NetScaler CPX 并将 CPX 注册到 ADM(仅适用于双层架构)。
-
启用了自动选择虚拟服务器以许可虚拟服务器。
-
将 NetScaler 代理的 Web 事务和 TCP 事务设置设置为 All,以获取 HTTP 和 TCP 事务。
-
向微服务发送了流量。
服务网格拓扑
请确保您已:
-
使用以下任一服务网格拓扑配置了 Kubernetes 集群版本
1.14.0:-
NetScaler CPX 作为 Istio 的 Sidecar 代理
-
NetScaler 作为 Istio 的入口网关
-
-
启用了
admissionregistration.k8s.io/v1beta1API。您可以使用以下命令验证 API:kubectl api-versions | grep admissionregistration.k8s.io/v1beta1以下输出表示 API 已启用:
admissionregistration.k8s.io/v1beta1 -
安装了 Istio
istio v.1.3.0。 -
安装了 Helm 版本 3.x。
-
在 NetScaler ADM 上配置了静态路由,以启用 NetScaler ADM 和 NetScaler CPX 之间的通信。
注意
如果您已将 NetScaler 代理作为微服务部署在同一集群中,则可以忽略此过程。
-
配置了所需参数以填充服务网格拓扑数据。
-
部署了示例应用程序。
-
在 NetScaler ADM 中添加了 Kubernetes 集群。
-
启用了自动选择虚拟服务器以许可虚拟服务器。
注意
当 CPX 作为 Sidecar 代理部署在服务网格部署中时,仅当 IP 地址与 CPX NS IP 匹配时,虚拟服务器才会被许可。
-
将 NetScaler 代理的 Web 事务和 TCP 事务设置设置为 All,以获取 HTTP 和 TCP 事务。
-
向微服务发送了流量。