Kubernetes 中使用 Diamanti 和 Nirmata 验证的参考设计的 Citrix ADC CPX

要测试的特性和功能

测试案例:CPX 作为 Ingress Controller 和南北和 Hairpin 东西向的设备:

将除 VPX 之外的所有测试用例设置为南北:

  • 集群中有两个 CPX(CPX-1、CPX-2)
  • 作为许可服务器的 ADM
  • 集群中的 Prometheus 导出器容器
  • Prometheus 服务器和 Grafana(要么作为 Kubernetes 中的容器,要么是 Kubernetes 服务器的外部)
  • 几个前端应用程序
  • 几个后端应用程序

I. VPX 作为南北

  1. SDX 前端 Diamanti 平台上的 VPX

    • 测试 SSL 卸载并通过为每个 SSL 连接插入 X-Forward 来重新加密
    • 在 SSL 会话中插入 X-Forward

II. CPX 作为南北设备

  1. CPX-1. 设置 HTTPS 入口,支持两个或三个具有指定入口类别的 HTTPS 应用程序:

    • 演示创建多个内容切换策略:每个前端应用程序一个。
    • 演示每个 CPX 的多个通配符证书:每个应用程序一个通配符证书。
    • 演示 CPX 卸载和重新加密前端应用程序的流量。
    • 演示不同的负载均衡算法。
    • 演示一个 pod 的持久性。
  2. CPX-1. 使用指定的入口类设置单独的 TCP 入口:

    • 插入 TCP 应用程序,比如 MongoDB。
    • 显示 TCP VIP 的创建。
    • 显示击中 MongoDB pod 的 TCP 客户端流量。
    • 显示默认 TCP 应用程序运行状况检查。
  3. CPX-1. 使用指定的入口类别设置单独的 TCP-SSL 入口:

    • 演示 TCP-SSL VIP 的 SSL 卸载和重新加密。
    • 重复测试用例 2。
  4. 每个应用程序的 CPX。使用单独的入口类:

    • 使用仅支持一个应用程序的 CPX-2 重复测试用例 1-3。
  5. 每支球队的 CPX。使用入口类:

    • 为 2 支队伍分配不同的入口等级。
    • 演示测试用例 1 作为 CPX 可以为各个团队配置入口规则的证据。
  6. 自动缩放前端 pod:

    • 增加前端 pod 的流量,并确保 pod 自动扩展。
    • 显示 CPX-1 向服务组添加了新的 pod。
    • 演示 HTTPS 入口 VIP。
  7. 4—7 vCPU 支持:

    • 使用 4 或 7 个 vCPU 配置 CPX-1。
    • 显示 HTTPS TPS 的性能测试,整个过程均已加密 BW。

III. CPX 作为 Hairpin 东西方设备

  1. CPX-1. 为南北流量创建 HTTPS 入口,如第 I.1 节所述:

    • 将后端应用程序公开给前端应用程序。
    • 显示两个应用程序之间的流量。
    • 将后端应用程序公开给另一个后端应用程序。
    • 显示应用程序之间的流量。
  2. CPX-1. 按照步骤 1 中的说明进行操作。另外,显示端到端加密:

    • 使用 CPX-1 加密的后端应用程序到后端应用程序进行卸载和重新加密。
  3. 自动缩放后端 pod:

    • 演示 CPX-1 向服务组添加后端自动缩放的后端容器。

IV. CPX 与 Prometheus 和 Grafana 集成

  1. 将 Prometheus 容器插入 Kubernetes 集群:

    • 使用推荐的计数器配置容器,以便为每个应用程序导出。
    • 演示导出器容器向 Prometheus 服务器发送计数器数据。
    • 显示 Grafana 仪表板,展示来自普罗米修斯服务器的来自 CPX 的数据。
    • 目标是表明开发人员可以使用流行用于 DevOps 的云原生工具。
  2. 演示集成 Kubernetes 滚动部署:

    • 在 Nirmata 中插入新版本的应用程序。
    • 显示 Kubernetes 在集群中部署新应用程序版本。
    • 演示 CPX 响应来自 Kubernetes 的滚动部署命令,将 100% 的流量从旧版本的应用转移到新版本的应用。

用于 Citrix ADC CPX 部署的 Citrix 解决方案

  1. 自定义协议: 默认情况下,Citrix Ingress Controller 使用默认协议 (HTTP/SSL) 自动进行配置。Citrix Ingress Controller 支持使用注解配置自定义协议(TCP/SSL-TCP/UDP)。

    注释:

    ingress.citrix.com/insecure-service-type: "tcp" [选择 LB 协议的注释]

    ingress.citrix.com/insecure-port: "53" [支持自定义端口的注释]

  2. 微调 CS/LB/Servicegroup 参数: 默认情况下,Citrix Ingress Controller 使用默认参数配置 ADC。可以借助 NetScaler ADC 实体参数(lb/servicegroup)注释对参数进行微调。

    注释:

    LB-Method:ingress.citrix.com/lbvserver: '{"app-1":{"lbmethod":"ROUNDROBIN"}}'

    持久性: ingress.citrix.com/lbvserver: '{"app-1":{"persistencetype":"sourceip"}}'

    NITRO API

  3. 每个应用程序 SSL 加密: Citrix Ingress Controller 可以在智能注释的帮助下有选择地为应用程序启用 SSL 加密。

    注释:

    ingress.citrix.com/secure_backend: '{"web-backend": "True"} [注释以选择性地为每个应用程序启用加密]

  4. 入口的默认证书: Citrix Ingress Controller 可以将默认证书作为参数。如果入口定义没有密钥,则使用默认证书。需要在命名空间中创建一次 secret,然后命名空间中的所有入口都可以使用它。

  5. Citrix 多入口类支持: 默认情况下,Citrix Ingress Controller 会监听 k8s 集群中的所有入口对象。我们可以借助入口类注释来控制 ADC(Tier-1 MPX/VPX 和 Tier-2 CPX)的配置。这有助于每个团队独立管理其 ADC 的配置。Ingress 类可以帮助部署解决方案,为特定命名空间和一组命名空间配置 ADC。与其他供应商提供的支持相比,该支持更为通用。

    注释:

    kubernetes.io/ingress.class: "citrix" [通知 Citrix Ingress Controller 仅配置属于特定类的入口]

  6. 可见性: Citrix k8s 解决方案与 Prometheous/Grafana 等 cncf 可见性工具集成,用于指标收集,以支持更好的调试和分析。Citrix prometheus 导出程序可以将指标提供给 Prometheus 以作为时间序列表对 Grafana 可见。

有关使用微服务架构的更多信息,请参阅 GitHub 中的 README.md 文件。您可以在 Config 文件夹中找到 .yaml 文件。

POC 故事情节

有三个团队在 kubernetes 集群上运行他们的应用程序。在 citrix 入口类的帮助下,每个团队的配置在不同的 CPX 上独立管理。

每个团队的应用程序在单独的命名空间(team-hotdrink、team-colddrink 和 team-redis)中运行,所有 CPX 都在 CPX 命名空间中运行。

team-hotdrink SSL/HTTP 入口、持久性、lbmethod、每个应用程序的加密/描述、默认证书。

team-colddrink: SSL-TCP 入口

team-redis: TCP 入口

POC 设置

image-cpx-deployment-01

申请流程

HTTP/SSL/SSL-TCP 用例:

image-cpx-deployment-02

TCP 用例:

image-cpx-deployment-03

获取 docker 镜像

提供的 YAML 命令正在从 quay 仓库中获取镜像。

镜像也可以被提取并存储在本地存储库中。您可以通过在 YAML 中编辑 图像 参数来使用它们。


使用 Nirmata 逐步部署应用程序和 CPX

  1. 在 YAML 中上载群集角色和群集角色绑定,并使用 Nirmata (rbac.yaml) 在群集中进行应用。

    1. 转到群集选项卡。
    2. 选择集群。
    3. 在设置中,从“应用 YAML”选项中 应用 YAML
  2. 创建用于运行 CPX 和应用程序的环境。

    1. 转到环境选项卡。
    2. 单击“添加环境”选项卡。
      • 选择集群并在共享命名空间中创建环境。

      image-cpx-deployment-04

    3. 创建以下环境,以便为不同的团队运行 Prometheus、CPX 和应用程序。
      • 创建环境:cpx
      • 创造环境:team-hotdrink
      • 创造环境:team-colddrink
      • 创建环境:team-redis
  3. 使用 Nirmata 上载 .yaml 应用程序。

    1. 转到目录选项卡。
    2. 单击“添加应用程序”。
    3. 单击添加添加应用程序。

      添加应用程序:team-hotdrink (team_hotdrink.yaml)。应用程序名称:team-hotdrink

      添加应用程序:team-colddrink (team_coldrink.yaml)。应用程序名称:team-colddrink

      添加应用程序:team-redis (team_redis.yaml)。应用程序名称:team-redis

      添加应用程序:cpx-svcacct (cpx_svcacct.yaml)。应用程序名称:cpx-svcacct。

      注意:

      带有内置 Citrix Ingress Controller 的 CPX 需要在其运行的命名空间中有一个服务帐户。对于 Nirmata 中的当前版本,请在 cpx 环境 cpx_svcacct.yaml 中使用创建此版本。

      添加应用程序:cpx (cpx_wo_sa.yaml)。应用程序名称:cpx。

  4. 使用 Nirmata 运行 CPX。

    1. 转到 环境 选项卡并选择正确的环境。
    2. 单击“运行应用程序”以运行该应用程序。
    3. 在 cpx 环境中,运行 cpx-svcacct 应用程序。使用目录应用程序中的运行名称 cpx-svcacct 选择 cpx-svcacct
    4. 在 cpx 环境中,运行 cpx 应用程序。从 目录应用程序中选择 cpx。

    image-cpx-deployment-05

    注意:

    CPX 部署需要几个小的解决方法,因为安装程序使用的是早期版本的 Nirmata。

    1. 创建 CPX 部署时,请勿设置 serviceAccountNameserviceAccountName 可以稍后添加。解决方法是自动重新部署 pod。
    2. 直接在环境中导入入口的 TLS 密钥。这样可以确保保留类型字段。
    1. 运行应用程序后,转到 CPX 应用程序。
    2. 在“部 署”>“StatefulSets 和 DaemonSets”选项卡下,单击 cpx-ingress-colddrinks 部署。
    3. 在下一页上,编辑 Pod 模板。在服务帐户中输入 CPX
    4. 返回 CPX 应用程序。
    5. cpx-ingress-hotdrinkscpx-ingress-redis 部署重复相同的过程。

    应用服务账号,重新部署 Pod。等待 pod 出现,然后确认服务账号是否已申请。

    同样可以在 Diamanti 集群中使用以下命令进行验证。

    
    [diamanti@diamanti-250 ~]$ kubectl get deployment -n cpx -o yaml | grep -i account
            serviceAccount: cpx
            serviceAccountName: cpx
            serviceAccount: cpx
    <!--NeedCopy-->
    

    注意: 如果未应用 serviceAccount,则取消 CPX 容器。随 serviceAccount 而来的是重新创建它的部署。

    image-cpx-deployment-06

  5. 使用 Nirmata 运行应用程序。

    team-hotdrink 应用程序:

    1. 转到环境选项卡并选择正确的环境:team-hotdrink
    2. team-hotdrink 环境中,使用运行名称 team-hotdrink 运行 team-hotddrink 应用程序。从目录应用程序中选择 team-hotdrink
    3. 转到 team-hotdrink 应用程序。在屏幕右上角,单击“设置”,然后选择“导入到应用程序”。上载 hotdrink-secret.yaml

    image-cpx-deployment-07

    team-colddrink 应用程序:

    1. 转到环境选项卡并选择正确的环境:team-colddrink
    2. team-colddrink 环境中,使用运行名称 team-colddrink 运行 team-coldddrink 应用程序。从目录应用程序中选择 team-hotdrink
    3. 转到 team-colddrink 应用程序。在屏幕右上角,单击“设置”,然后选择“导入到应用程序”。上载 colddrink-secret.yaml

    team-redis 应用程序:

    1. 转到环境选项卡并选择正确的环境:team-redis
    2. team-colddrink 环境中,使用 team-redis 运行名称运行应用程序。从目录应用程序中选择 team-redis
      • team-redis 环境中,使用 team-redis 运行名称运行应用程序。

VPX 上用于公开第 2 层 CPX 的命令

Tier-1 VPX 在发送到 Tier-2 CPX 时应进行 ssl 加密/描述并插入 X 转发标头。第 1 层配置应手动执行。可以在服务组中使用-cip ENABLED 插入 X-Forward 标头。打开 config.txt

创建 csverver:

在 Citrix ADC 中上载 certkeywild.com-key.pem, wild.com-cert.pem

add cs vserver frontent_grafana HTTP <CS_VSERVER_IP> 80 -cltTimeout 180
<!--NeedCopy-->

在第一级 VPX 上公开 www.hotdrinks.com、www.colddrinks.com、www.guestbook.com:

add serviceGroup team_hotdrink_cpx SSL -cip ENABLED
add serviceGroup team_colddrink_cpx SSL -cip ENABLED
add serviceGroup team_redis_cpx HTTP
add ssl certKey cert -cert "wild-hotdrink.com-cert.pem" -key "wild-hotdrink.com-key.pem"
add lb vserver team_hotdrink_cpx HTTP 0.0.0.0 0
add lb vserver team_colddrink_cpx HTTP 0.0.0.0 0
add lb vserver team_redis_cpx HTTP 0.0.0.0 0
add cs vserver frontent SSL 10.106.73.218 443
add cs action team_hotdrink_cpx -targetLBVserver team_hotdrink_cpx
add cs action team_colddrink_cpx -targetLBVserver team_colddrink_cpx
add cs action team_redis_cpx -targetLBVserver team_redis_cpx
add cs policy team_hotdrink_cpx -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.hotdrinks.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action team_hotdrink_cpx
add cs policy team_colddrink_cpx -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.colddrinks.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action team_colddrink_cpx
add cs policy team_redis_cpx -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.guestbook.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action team_redis_cpx
bind lb vserver team_hotdrink_cpx team_hotdrink_cpx
bind lb vserver team_colddrink_cpx team_colddrink_cpx
bind lb vserver team_redis_cpx team_redis_cpx
bind cs vserver frontent -policyName team_hotdrink_cpx -priority 10
bind cs vserver frontent -policyName team_colddrink_cpx -priority 20
bind cs vserver frontent -policyName team_redis_cpx -priority 30
bind serviceGroup team_hotdrink_cpx 10.1.3.8 443
bind serviceGroup team_colddrink_cpx 10.1.2.52 443
bind serviceGroup team_redis_cpx 10.1.2.53 80
bind ssl vserver frontent -certkeyName cert
<!--NeedCopy-->

将 IP 地址更新为服务组的 CPX pod IP:

root@ubuntu-211:~/demo-nimata/final/final-v1# kubectl get pods -n cpx -o wide
NAME                                      READY     STATUS    RESTARTS   AGE       IP             NODE
cpx-ingress-colddrinks-5bd94bff8b-7prdl   1/1       Running   0          2h        10.1.3.8   ubuntu-221
cpx-ingress-hotdrinks-7c99b59f88-5kclv    1/1       Running   0          2h        10.1.2.52  ubuntu-213
cpx-ingress-redis-7bd6789d7f-szbv7        1/1       Running   0          2h        10.1.2.53  ubuntu-213
<!--NeedCopy-->

image-cpx-deployment-08

  • 要访问 www.hotdrinks.com、www.colddrinks.com、www.guestbook.com,主机文件(要从中访问页面的计算机)应附加以下值:

     <CS_VSERVER_IP>      www.hotdrinks.com
    
     <CS_VSERVER_IP>      www.colddrinks.com
    
     <CS_VSERVER_IP>      www.guestbook.com
    

    完成后,可以通过以下方式访问应用程序: www.hotdrinks.com、www.colddrinks.com、www.guestbook.com

验证第 2 层 CPX 配置

要验证 CPX 配置,请转到 CPX 环境。选择正在运行的 CPX 应用程序。

选择 cpx-ingress-hotdrinks 部署,然后单击 cpx-ingress-hotdrinks-xxxx-xxxx pod。

在下一页上,转到正在运行的容器并通过键入“bash”命令为 cpx-ingress-hotdrinks 启动终端。

image-cpx-deployment-09

image-cpx-deployment-10

连接终端后,通过 cli_script.sh 使用常规 NetScaler 命令验证配置。

  • cli_script.sh “sh cs vs”
  • cli_script.sh “sh lb vs”
  • cli_script.sh “sh servicegroup”

可以用相同的方式对 team-colddrinkteam-mongodb 的其他 CPX 部署进行验证。

执行向上/向下扩展

要执行向上/向下扩展,请执行以下操作:

  1. 转到 team-hotdrink 环境。选择 team-hotdrink 运行的应用程序。
  2. 单击 frontend-hotdrinks 部署。
  3. 在下一页上,单击“更新副本”。将其增加到 10。

请参阅:验证 Tier-2 CPX 配置以查看 CPX 中的配置(部署:cpx-ingress-hotdrinks)。

  1. 转到 CPX 环境。选择正在运行的 CPX 应用程序。
  2. 单击 cpx-ingress-hotdrinks 部署。
  3. 单击 cpx-ingress-hotdrinks-xxxx-xxxx 窗格。
  4. 在下一页上,转到正在运行的容器并通过键入“bash”命令为 cpx-ingress-hotdrinks 启动终端。
  5. cli_script.sh "sh servicegroup < servicegroup name >"

image-cpx-deployment-11

正在执行滚动更新

要执行滚动更新:

  1. 转到 team-hotdrink 环境。选择 team-hotdrink 运行的应用程序。
  2. 部署 frontend-hotdrinks。
  3. 在下一页上,转到 Pod 模板。
  4. 将图片更新为: quay.io/citrix/hotdrinks-v2: latest
  5. 让更新完成。
  6. 再次访问应用程序。滚动更新后,新页面应附带更新的图像。

image-cpx-deployment-12

部署 Prometheus

NetScaler Metrics Exporter、Prometheus 和 Grafana 被用来自动检测和收集来自入口 CPX 的指标。

部署 Prometheus 的步骤:

创建用于运行 CPX 和应用程序的环境:

  1. 转到环境选项卡。
  2. 单击“添加环境”。
  3. 为运行 Exporter、Prometheus 和 Grafana 创建环境。
    • 创建环境: 监视

使用 Nirmata 上载 .yaml 文件:

  1. 转到目录选项卡。
  2. 单击“添加应用程序”。
  3. 单击添加添加应用程序。
    • 添加应用程序:monitoring (monitoring.yaml)。

正在运行 Prometheus 应用程序:

  1. 转到“环境”选项卡并选择正确的环境: 监视
  2. 单击“使用 监视 名称 运行应用程序”。
  3. 这将部署 Exporter、Prometheus 和 Grafana pod,并开始收集指标。
  4. 现在,Prometheus 和 Grafana 需要通过 VPX 公开。

在 VPX 上发布公开 Prometheus 和 Grafana 的命令:

创建一个 csvserver:

add cs vserver frontent_grafana HTTP <CS_VSERVER_IP> 80 -cltTimeout 180
<!--NeedCopy-->

公开 Prometheus:

add serviceGroup prometheus HTTP
add lb vserver prometheus HTTP 0.0.0.0 0
add cs action prometheus -targetLBVserver prometheus
add cs policy prometheus -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.prometheus.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action prometheus
bind lb vserver prometheus prometheus
bind cs vserver frontent_grafana -policyName prometheus -priority 20
bind serviceGroup prometheus <PROMETHEUS_POD_IP> 9090
<!--NeedCopy-->

注意:

使用“kubectl get pods -n monitoring -o wide”获取 prometheus-k8s-0 pod IP

公开 Grafana:

add serviceGroup grafana HTTP
add lb vserver grafana HTTP 0.0.0.0 0
add cs action grafana -targetLBVserver grafana
add cs policy grafana -rule "HTTP.REQ.HOSTNAME.SERVER.EQ("www.grafana.com") && HTTP.REQ.URL.PATH.STARTSWITH("/")" -action grafana
bind lb vserver grafana grafana
bind cs vserver frontent_grafana -policyName grafana -priority 10
bind serviceGroup grafana <GRAFANA_POD_IP>  3000
<!--NeedCopy-->

注意:

使用 kubectl get pods -n monitoring -o wide 获取 grafana-xxxx-xxx pod IP

  • 现在 Prometheus 和 Grafana 页面已经公开,可以通过 VPX 的 cs 虚拟服务器进行访问。

  • 要访问 Prometheus 和 Grafana,应在(要访问页面的计算机的)主机文件中附加以下值:

     <CS_VSERVER_IP>       www.grafana.com
     <CS_VSERVER_IP>       www.prometheus.com
    
  • 完成后,请访问 www.prometheus.com 访问 Prometheus。访问 www.grafana.com 访问 Grafana。

可视化指标:

  • 为确保 Prometheus 检测到出口商,请访问 www.prometheus.com/targets。它应该包含监视 CPX 和 VPX 设备的所有出口商的列表。确保所有出口商都处于 UP 状态。请参见以下示例:

image-cpx-deployment-13

  • 现在,您可以使用 Grafana 绘制正在收集的值。要做到这一点:

    1. 前往 www.grafana.com。确保在主机文件中添加了相应的条目。
    2. 使用默认用户名 admin 和密码 admin 登录。
    3. 登录后,在主控制面板中单击“添加数据源”。
    4. 选择“Prometheus”选项。
    5. 提供/更改以下详细信息:
      • 名称:prometheus(全部小写)。
      • URL:http://prometheus:9090
      • 将剩余的条目保留为默认值。
    6. 单击“保存并测试”。等待几秒钟,直到屏幕底部出现“数据源正在运行”消息。
    7. 单击左侧面板上的 + 图标导入预先设计的 Grafana 模板。选择“导入”。
    8. 单击“上载 json”按钮,然后选择 sample_grafana_dashboard.json 文件(保留名称文件夹唯一标识符不变)。
    9. 从“Prometheus”下拉菜单中选择“prometheus”,然后单击“导入”。
    10. 这将上载类似于下图的控制板:

      image-cpx-deployment-14

许可和性能测试

运行 CPX 以获得性能和许可。

CPX 内核的数量和许可证服务器详细信息在以下环境变量中给出。

用于选择内核数的环境变量

  • 名称:“CPX_CORES”
  • 值:“3”

用于选择许可证服务器的环境变量

  • 名称:“LS_IP”
  • 值:“X.X.X.X”

    Diamanti 注释: diamanti.com/endpoint0: '{"network":"lab-network","perfTier":"high"}

    通过在上方设置正确的 IP 来指向正确的许可证服务器。

    1. cpx-perf.yaml 文件中添加上述环境变量以及 Diamanti 特定注释。
    2. 转到 环境 选项卡并创建 cpx-perf 环境。

    使用 Nirmata 上载 YAML 应用程序。

    1. 转到目录选项卡。
    2. 单击“添加应用程序”。
    3. 单击“添加”以添加应用程序:cpx-perf.yaml。应用程序名称:cpx-perf

    运行 CPX:

    1. 转到 环境 选项卡并选择 cpx-perf 环境。
    2. cpx-perf 环境中,运行 cpx-svcacct 应用程序。
    3. cpx-perf 环境中,运行 cpx-perf 应用程序。
    4. 运行应用程序后,转到 cpx-perf 应用程序。
    5. 在“部署”>“StatefulSets 和 DaemonSets”选项卡下,单击 cpx-ingress-perf 部署。在下一页上,编辑 Pod 模板。在服务帐户中输入 CPX
    6. 验证许可证是否正常工作以及许可证签出是否在 Citrix ADM 中进行。
      • 要在 CPX 上进行验证,请执行以下步骤:
        • kubectl get pods -n cpx
        • kubectl exec-it -n cpx bash
        • cli_script.sh ‘sh licenseserver’
        • cli_script.sh ‘sh capacity’
      • 查看类似的输出:
      root@cpx-ingress-colddrinks-66f4d75f76-kzf8w:/# cli_script.sh 'sh licenseserver'
      exec: sh licenseserver
      1)  ServerName:  10.217.212.228Port:  27000            Status:  1              Grace:  0               Gptimeleft:  0
      Done
      root@cpx-ingress-colddrinks-66f4d75f76-kzf8w:/# cli_script.sh 'sh capacity'
      exec: sh capacity
          Actualbandwidth:  10000 VcpuCount:  3           Edition:  Platinum      Unit:  Mbps             Maxbandwidth:  10000    Minbandwidth:  20       Instancecount:  0
      Done
      <!--NeedCopy-->
      
      • 要在 ADM 上进行验证,请转到许可证服务器并导航到 网络 > 许可证 > 虚拟 CPU 许可证
      • 在这里,您应该看到许可的CPX以及核心计数。

      image-cpx-deployment-15

“注释”表

注解 可能的价值 说明 默认(如果有)
kubernetes.io/ingress.class 入口类名 这是一种将特定入口资源与 Ingress Controller 关联的方法。例如,kubernetes.io/ingress.class:"Citrix" 配置所有入口
ingress.citrix.com/secure_backend 使用 .json 格式,列出用于安全后端的服务 如果您想让 Citrix ADC 将您的应用程序与安全的 HTTPS 连接连接,请使用 True。如果您想让 Citrix ADC 使用不安全的 HTTP 连接来连接您的应用程序,请使用 False。例如,ingress.citrix.com/secure_backend: {‘app1’:"True", ‘app2’:"False", ‘app3’:"True"} “False”
ingress.citrix.com/lbvserver 在 JSON 格式中,lbvserver 的设置 它提供智能注释功能。使用此功能,高级用户(了解 NetScaler LB 虚拟服务器和服务组选项)可以直接应用它们。值必须采用 .json 格式。对于入口中的每个后端应用程序,请提供一个密钥值对。密钥名称应与相应的 CLI 名称匹配。例如,ingress.citrix.com/lbvserver: '{"app-1":{"lbmethod":"ROUNDROBIN"}}' 默认值