Citrix Application Delivery Management 服务

设置服务图表

软件要求

库贝内特斯分布 库贝内特斯版 容器网络接口 (CNI) CPX 版本 CIC 版本 Citrix ADM 代理版本
开源代码 v1.16.3 法兰绒、印花布或运河 13.0–47.103 或更高版本 1.6.1 或更高版本 13.0–49.x 或更高版本

要在 Citrix ADM 中使用服务图形,请确保您具有:

  • Kubernetes 群集与 Citrix ADC CPX 作为代理。有关详细信息,请参阅Citrix Ingress Controller

  • Citrix ADM 代理 已安装并配置为启用数据中心或云中的 Citrix ADM 与 Kubernetes 群集或托管实例之间的通信。

    您还可以将 Citrix ADM 代理部署为微服务。有关详细信息,请参阅入门中的安装 Citrix ADM 代理部分。

  • 在 Citrix ADM 代理 静态路由 上配置以启用 Citrix ADM 和 Citrix ADC CPX 之间的通信。

    注意

    如果已将 Citrix ADM 代理部署为微服务,则可以忽略此过程。

  • [示例部署文件()] 从 GitHub 存储库下载。

  • [所需参数()] 在 CPX YAML 文件中添加,以确保在 Citrix ADM 中成功注册 CPX。

  • 库贝内特斯群集 在 Citrix ADM 中添加。

  • 已部署 微服务应用示例.

  • 已部署 Citrix ADC CPX 和 注册 CPX 至 ADM.

  • 已启 自动选择虚拟服务器 用可授权虚拟服务器。

  • 为 Citrix ADM 代理启用了 “ 全部” 以获取 HTTP 和 TCP 事务。 Web 事务处理和 TCP 事务处理设置

配置 Citrix ADM 代理

要启用 Kubernetes 群集与 Citrix ADM 之间的通信,必须安装并配置 Citrix ADM 代理。您可以使用 Citrix ADC 实例上提供的 Hypervisor、公有云服务(如 Microsoft Azure、AWS)或内置代理(非常适合 HA 部署)来配置代理。

按照 程序 配置代理。

注意

  • 您也可以使用现有代理。

  • 默认情况下,Citrix ADM 代理会自动升级到 Citrix ADM 最新版本。您可以在 网络 > 代理 页面上查看代理详细信息。您还可以指定希望代理升级进行的时间。有关详细信息,请参阅配置代理升级设置

在 Citrix ADM 代理中配置静态路由

在 Kubernetes 群集中,所有容器化的容器舱都使用覆盖网络。无法直接使用这些私有 IP 地址建立通信。要启用从 Citrix ADM 到 Kubernetes 群集的通信,必须在 Citrix ADM 代理中配置静态路由。

请考虑您的 Kubernetes 群集具有以下 IP 地址:

  • Kubernetes 主服务器 – 10.106.157.112

  • Kubernetes 工作进程 1 – 10.106.157.111

  • Kubernetes 工作进程 2 – 10.106.157.110

在 Kubernetes 主服务器上,运行以下命令来标识要执行静态路由的容器网络:

kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"

以下是运行命令后的示例输出:

示例命令

成功配置 Citrix ADM 代理后:

  1. 使用 SSH 客户端登录到 Citrix ADM 代理

  2. 使用命令配置静态路由 route add -net <public IP address range> <Kubernetes IP address>

    例如:

    route add -net 192.168.0.0/24 10.106.157.112

    route add -net 192.168.1.0/24 10.106.157.111

    route add -net 192.168.2.0/24 10.106.157.110

  3. 验证配置,使用 netstat -rn

    静态路由

  4. 将这些路由命令附加到 /mpsconfig/svm.conf 文件中。

    1. 在 Citrix ADM 代理中,使用以下命令访问 svm.conf 文件:

      vim /mpsconfig/svm.conf

    2. svm.conf 文件中添加静态路由。

      例如 route add -net 192.168.0.0/24 10.106.157.112

从 GitHub 下载示例部署文件

  1. 使用命令 git 克隆克 https://github.com/citrix/citrix-k8s-ingress-controller.git 隆克隆主节点中的 git 中心存储库。

  2. 要访问 YAML,请执行以下操作:

    cd citrix-k8s-ingress-controller/example/servicegraph-demo/

在 CPX YAML 文件中添加参数

注意

如果使用 CPX 58.x 或更高版本,则在注册到 ADM 代理时必须使用非 nsroot 密码。为确保安全性,Citrix ADM 代理 61.x 或更高版本需要强制更改密码。如果您的 Citrix ADM 代理升级到 61.x 或最新版本,则必须确保使用 CPX 58.x 或更高 版本。

必须在 cpx.yaml 文件中包含以下参数,以确保 CPX 在 Citrix ADM 中注册:

- name: "NS_MGMT_SERVER"
  value: "xx.xx.xx.xx"
- name: "NS_MGMT_FINGER_PRINT"
  value: "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
- name: "NS_HTTP_PORT"
  value: "9080"
- name: "NS_HTTPS_PORT"
  value: 9443"
- name: "NS_MGMT_USER"
  value: nsroot
- name: "NS_MGMT_PASS
  value: <your password>
- name: "LOGSTREAM_COLLECTOR_IP"
  value: "xx.xx.xx.xx"

CPX 亚马尔文件

  • NS_MGMT_SERVER — 指示 Citrix ADM 代理 IP 地址

  • NS_MGMT_ 指纹打印 — 指示 Citrix ADM 代理中的 CPX 身份验证。要获取指纹,请执行以下操作:

    1. 在 Citrix ADM 中,导航到 “ 网络 ” > “ 客户端

    2. 选择代理,然后单击 查看指纹

      指纹

  • NS_HTTP_PORT — 指示用于通信的 HTTP 端口

  • NS_HTTPS_PORT — 指示用于通信的 HTTPS 端口

  • NS_MGMT_ 用户 -指示用户名

  • NS_MGMT_PASS -指示密码。指定您选择的密码

  • LOGSTREAM_COLLECTOR_IP — 指示 Citrix ADM 代理 IP 地址,其中必须启用日志流协议才能将日志数据从 CPX 传输到 ADM

在 Citrix ADM 中添加 Kubernetes 群集

配置 Citrix ADM 代理并配置静态路由后,必须在 Citrix ADM 中添加 Kubernetes 群集。

要添加库伯内特斯群集,请执行以下操作:

  1. 使用管理员凭据登录到 Citrix ADM。

  2. 导航到调配 > Kubernetes > 群集。 此时将显示 “集群” 页面。

  3. 单击添加

  4. 添加群集 页面中,指定以下参数:

    1. 名称 -指定您选择的名称。

    2. API 服务器 URL -您可以从 Kubernetes 主节点获取 API 服务器 URL 详细信息。

      1. 在 Kubernetes 主节点上,运行命令 kubectl cluster-info

        API 服务器 URL

      2. 输入显示为 “Kubernetes 主服务器正在运行” 的 URL。

    3. 身份验证令牌 -指定身份验证令牌。验证令牌需要验证 Kubernetes 群集与 Citrix ADM 之间的通信访问权限。要生成身份验证令牌,请执行以下操作:

      在库贝内特斯主节点上:

      1. 使用 YAML 创建服务帐户。

        kubectl create -f adm_svc_account.yaml

        服务帐户即被创建。

      2. 运行 kubectl create clusterrolebinding citrixadm-sa-admin --clusterrole=cluster-admin --serviceaccount=default:citrixadm-sa 以将群集角色绑定到服务帐户。

        服务帐户现在具有群集范围的访问权限。

        创建服务帐户时自动生成令牌。

      3. 运行 kubectl describe sa citrixadm-sa 以查看令牌。

      4. 要获取密钥字符串,请运行 kubectl describe secret <token-name>

        生成令牌

    4. 从列表中选择座席。

      注意

      确保选择与 CPX YAML 中添加的相同代理。

    5. 单击创建

      添加群集

部署示例微服务应用程序

在主节点上:

  1. 运行 kubectl create -f namespace.yaml 以创建命名空间。

  2. 使用以下命令部署热饮微服务、入口和密码:

    kubectl create -f team_hotdrink.yaml -n sg-demo

    kubectl create -f hotdrink-secret.yaml -n sg-demo

在 ADM 中部署 CPX 并注册 CPX

  1. 运行 kubectl create -f rbac.yaml 以部署群集角色和群集绑定。

  2. 运行 kubectl create -f cpx.yaml -n sg-demo 以部署 CPX。

启用自动选择虚拟服务器进行许可

注意

确保您拥有足够的虚拟服务器许可证。有关详细信息,请参阅许可

在 Citrix ADM 中添加 Kubernetes 群集后,必须确保自动选择虚拟服务器进行许可。虚拟服务器必须获得许可才能在服务图中显示数据。要自动选择虚拟服务器,请执行以下操作:

  1. 导航至 帐户 > 订阅

  2. 在 “ 虚拟服务器许可证摘要” 下,启用 自动选择虚拟服务器自动选择不可寻址的虚拟服务器

    自动选择虚拟服务器

启用 Web 事务处理和 TCP 事务处理设置

添加 Kubernetes 群集并启用自动选择虚拟服务器后,将 Web 事务处理设置和 TCP 事务处理设置 更改为 全部

  1. 导航到分析 > 设置

    此时将显示 “ 设置 ” 页面。

  2. 单击 启用分析功能”。

  3. 在 “ Web 事务处理设置” 下,选择 “ 全部”。

    网络事务设置

  4. 在 “ TCP 事务处理设置” 下,选择 “ 全部”。

    TCP

  5. 单击确定

向微服务发送流量

接下来,您必须向微服务发送流量,以便在 Citrix ADM 中填充服务图表。

  1. 运行 kubectl get svc -n sg-demo 以通过节点端口公开 CPX。

    节点

  2. 编辑 etc/host 文件并为 hotdrink.beverages.com

    现在,您可以使用 https://hotdrink.beverages.com

您可以在 “ 应用程序 ” > “服务图表” > “ Kubernetes **服务图 表” 中查看填充的服务图表**。有关详细信息,请参阅服务图表详细信息