Application Delivery Management

在 NetScaler 控制台中管理 Kubernetes Ingress 配置

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

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

注意

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

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

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

您可以在 NetScaler 控制台中指定 Kubernetes 集成的以下方面:

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

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

开始之前的准备工作

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

  • 库贝内特斯群集到位。

  • 在 NetScaler 控制台中注册的 Kubernetes 群集。

使用密钥令牌配置 NetScaler 控制台以管理 Kubernetes 群集

为了让 NetScaler 控制台能够接收来自 Kubernetes 的事件,您需要在 Kubernetes for NetScaler 控制台中创建一个服务帐户。此外,使用群集中必要的 RBAC 权限配置服务帐户。

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

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

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

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

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

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

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

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

在 NetScaler 控制台中添加 Kubernetes 群集

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

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

  1. 使用管理员凭据登录 NetScaler 控制台。

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

  3. 单击添加

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

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

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

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

        API 服务器 URL

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

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

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

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

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

    4. 从列表中选择座席。

    5. 单击创建

      添加群集

在 NetScaler 控制台中管理 Kubernetes Ingress 配置