高级概念

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

要测试的特性和功能

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

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

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

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 的创建。
    • 显示 TCP 客户端流量击中 MongoDB 窗格。
    • 显示默认 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 将后端自动缩放的后端 pod 添加到服务组。

IV. CPX 与 Prometheus 和 Grafana 集成

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

    • 使用推荐的计数器配置容器,以便为每个应用程序导出。
    • 演示向 Prometheus 服务器发送计数器数据的导出程序容器。
    • 显示 Grafana 控制板,说明从 CPX 来自 Prometheus 服务器的数据。
    • 目标是表明开发人员可以使用流行用于 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 方法: 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 入口控制器仅配置属于特定类的入口]

  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. 返回 C PX 应用程序。
    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 的命令

第 1 层 VPX 应在发送至第 2 层 CPX 时执行 SSL 加密/解密并插入 X-forward 标头。第 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-->

在第 1 层 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。

参考:验证第 2 层 CPX 配置以检查 CPX 中的配置(部署:CPX 摄入-热饮)。

  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. 部署前端热饮。
  3. 在下一页上,转到 Pod 模板。
  4. 将图像更新为: quay.io/citrix/hotdrinks-v2: latest
  5. 让更新完成。
  6. 再次访问应用程序。滚动更新后,新页面应附带更新的图像。

image-cpx-deployment-12

部署 Prometheus

NetScaler 衡量指标导出程序、Prometheus 和 Grafana 用于自动检测和收集入口的 CPX 的衡量指标。

部署 Prometheus 的步骤:

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

  1. 转到环境选项卡。
  2. 单击添加环境
  3. 创建运行导出程序、Prometheus 和 Grafana 的环境。
    • 创建环境: 监视

使用 Nirmata 上载 .yaml 文件:

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

运行 Prometheus 应用程序:

  1. 转到“环境”选项卡并选择正确的环境:monitoring
  2. 使用名称 monitoring 单击运行应用程序
  3. 这将部署导出程序、Prometheus 和 Grafana 豆荚,并开始收集指标。
  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-->

注意:

Get the prometheus-k8s-0 pod IP using“kubectl get pods -n monitoring -o wide”

显示 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-->

注意:

Get the grafana-xxxx-xxx pod IP using kubectl get pods -n monitoring -o wide

  • 现在,Prometheus 和 Grafana 页面已经公开通过 VPX 的 cs vserver 访问。

  • 要访问 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 设备的所有导出程序的列表。确保所有 Exporter 都处于 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 annotations: diamanti.com/endpoint0: '{"network":"lab-network","perfTier":"high"}

    通过上面设置正确的 IP 指向校正许可证服务器。

    1. 在文件中添加上述环境变量以及 Diamanti 特定的注释。cpx-perf.yaml
    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"}}' 默认值
Kubernetes 中使用 Diamanti 和 Nirmata 验证的参考设计的 Citrix ADC CPX