Application Delivery Management

管理 NetScaler® ADM 中的 Kubernetes Ingress 配置

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

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

注意

  • NetScaler ADM 支持在 Kubernetes 版本 1.14–1.21 的集群上使用 Ingress 功能。
  • NetScaler ADM 支持将 NetScaler VPX 和 MPX 设备用作 Ingress 设备。
  • 在 Kubernetes 环境中,NetScaler 实例仅对“NodePort”服务类型进行负载平衡。

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

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

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

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

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

开始之前

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

  • 已部署 Kubernetes 集群。

  • 已在 NetScaler ADM 中注册 Kubernetes 集群。

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

为了使 NetScaler ADM 能够从 Kubernetes 接收事件,您需要在 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 create 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. 导航到 Orchestration > Kubernetes > Cluster。 此时将显示“集群”页面。

  3. 单击“添加”。

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

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

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

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

        API 服务器 URL

      2. 输入为“Kubernetes master is running at.”显示的 URL。

    3. 身份验证令牌 - 指定在您配置 NetScaler ADM 以管理 Kubernetes 集群时获取的身份验证令牌字符串。身份验证令牌是验证 Kubernetes 集群与 NetScaler ADM 之间通信访问权限所必需的。要生成身份验证令牌:

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

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

        有关详细信息,请参阅 Kubernetes 文档。

    4. 从列表中选择代理。

    5. 单击“创建”。

      添加集群

管理 NetScaler® ADM 中的 Kubernetes Ingress 配置