Application Delivery Management

管理 NetScaler ADM 中的库伯内特斯入口配置

Kubernetes (K8s) 是一个开源容器调配平台,可自动部署、扩展和管理云原生应用。

Kubernetes 提供了 Ingress 功能,该功能允许群集外部的客户端流量访问在 Kubernetes 群集中运行的应用程序的微服务。ADC 实例可以充当 Kubernetes 群集中运行的应用程序的入口。ADC 实例可以负载平衡,并将南北向流量从客户端路由到 Kubernetes 群集内的任何微服务。

注意

  • NetScaler ADM 在具有 Kubernetes 版本 1.14—1.21 的群集上支持 Ingress 功能。
  • NetScaler ADM 支持 NetScaler VPX 和 MPX 装置作为入口设备。
  • 在 Kubernetes 环境中,NetScaler 实例仅对“NodePort”服务类型进行负载平衡。

您可以将多个 ADC 实例配置为充当同一群集或不同群集或命名空间上的入口设备。配置实例后,您可以根据 Ingress 策略将每个实例分配给不同的应用程序。

您可以使用 Kubernetes kubectl 或 API 创建和部署 Ingress 配置。您还可以从 NetScaler ADM 配置和部署入口。

您可以在 ADM 中指定 Kubernetes 集成的以下几个方面:

  • 群集 — 您可以注册或取消注册 ADM 可以为其部署 Ingress 配置的 Kubernetes 群集。在 NetScaler ADM 中注册群集时,请指定 Kubernetes API 服务器信息。然后,选择一个可以访问 Kubernetes 群集的 ADM 代理并部署 Ingress 配置。

  • 策略 — 入口策略用于根据群集或命名空间选择 ADC 实例以部署 Ingress 配置。在添加策略时指定群集、站点和实例信息。

开始之前的准备工作

要在 Kubernetes 群集上将 NetScaler 实例用作 Ingress 设备,请确保您具备以下条件:

  • 库贝内特斯群集到位。

  • 在 NetScaler ADM 中注册的库贝内特斯群集。

使用秘密令牌配置 NetScaler ADM 以管理 Kubernetes 群集

为了使 NetScaler ADM 能够接收来自 Kubernetes 的事件,您需要在库贝内特斯中为 NetScaler ADM 创建一个服务帐户。此外,使用群集中必要的 RBAC 权限配置服务帐户。

  1. 为 NetScaler ADM 创建服务帐户。例如,服务帐户名称可以是citrixadm-sa。要创建服务帐户,请参阅 使用多个服务帐户

  2. 使用cluster-admin 角色绑定 NetScaler ADM 服务帐户。此绑定将 ClusterRole 整个群集中的授予服务帐户。以下是将 cluster-admin 角色绑定到服务帐户的示例命令。

    kubectl create clusterrolebinding citrixadm-sa-admin --clusterrole=cluster-admin --serviceaccount=default:citrixadm-sa
    <!--NeedCopy-->
    

    将 NetScaler ADM 服务帐户绑定到 cluster-admin 角色后,服务帐户具有群集范围的访问权限。有关更多信息,请参阅 kubectl 创建 clusterrolebinding

  3. 从创建的服务帐户获取令牌。

    例如,运行以下命令查看 citrixadm-sa 服务帐户的令牌:

    kubectl describe sa citrixadm-sa
    <!--NeedCopy-->
    
  4. 运行以下命令获取令牌的密钥字符串:

    kubectl describe secret <token-name>
    <!--NeedCopy-->
    

在 NetScaler ADM 中添加 Kubernetes 群集

配置 NetScaler 代理并配置静态路由后,必须在 NetScaler ADM 中注册 Kubernetes 群集。

要注册 Kubernetes 群集,请执行以下操作:

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

  2. 导航到调配 > Kubernetes > 群集。 屏幕上将显示“群集”页面。

  3. 单击添加

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

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

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

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

        API 服务器 URL

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

    3. 身份验证令牌 -指定在 配置 NetScaler ADM 以管理 Kubernetes 群集时获得的身份验证令牌字符串。验证 Kubernetes 群集和 NetScaler ADM 之间的通信访问需要使用身份验证令牌。要生成身份验证令牌,请执行以下操作:

      1. 在 Kubernetes 主节点上,运行以下命令:

        kubectl describe secret <token-name>
        <!--NeedCopy-->
        
      2. 复制生成的令牌并将其粘贴为身份验证令牌

        有关更多信息,请参阅 Kubernetes 文档。

    4. 从列表中选择座席。

    5. 单击创建

      添加群集

管理 NetScaler ADM 中的库伯内特斯入口配置