将 NetScaler CPX 实例添加到 NetScaler ADM
如果您想管理和监视这些实例,则必须将安装在 Docker 主机上的 NetScaler CPX 实例添加到 NetScaler 应用程序交付管理 (ADM) 软件中。
可以在第一次设置 ADM 时添加实例,也可在以后添加。
要添加实例,必须创建一个实例配置文件并指定每个实例的主机名或 IP 地址,或指定 IP 地址范围。此实例配置文件包含您要添加到 NetScaler ADM 的实例的用户名和密码。对于每个实例类型,都有一个默认的配置文件。例如, ns-root-profile
是 NetScaler 实例的默认配置文件。此配置文件由默认的 ADC 管理员凭据定义。如果更改了实例的默认管理员凭据,可以为那些实例定义自定义实例配置文件。如果在发现实例后更改实例的凭据,则必须编辑实例配置文件或创建一个配置文件,然后重新发现实例。
必备条件
请务必执行以下操作:
- 在 Citrix XenServer 上安装了 NetScaler ADM 软件。有关更多信息,请参阅 NetScaler ADM 文档。
- 在 Docker 主机上安装了 NetScaler CPX 实例。
要将 NetScaler CPX 实例添加到 ADM,请执行以下操作:
-
在网络浏览器中,键入 NetScaler 应用程序交付 管理的 IP 地址(例如)。
http://192.168.100.1)
-
在 User Name(用户名)和 Password(密码)字段中,输入管理员凭据。默认管理员凭据为 nsroot 和 nsroot。
-
导航到网络 > 实例 > NetScaler,然后单击 CPX 选项卡。
-
单击 Add(添加)以在 NetScaler ADM 中添加新的 CPX 实例。
-
此时将打开“添加 NetScaler CPX”页。为以下参数输入值:
- 可以通过提供 CPX 实例的可访问 IP 地址或托管 CPX 实例的 Docker 容器的 IP 地址来添加 CPX 实例。
- 选择 CPX 实例的配置文件。
- 选择要在其中部署实例的站点。
- 选择代理。
-
作为一种选择,您可以为实例输入键-值对。通过添加键-值对,您以后可以轻松搜索实例。
-
单击确定。
注意
如果要重新发现实例,请选择网络 > 实例 > NetScaler > CPX,选择要重新发现的实例,然后从选择操作下拉列表中单击重新发现。
使用环境变量将 NetScaler CPX 实例添加到 NetScaler ADM
您也可以使用环境变量将 NetScaler CPX 实例添加到 NetScaler ADM。要添加实例,必须为 NetScaler CPX 实例配置以下环境变量。
-
NS_MGMT_SERVER
- ADM IP 地址/FQDN -
HOST
- 节点 IP 地址 -
NS_HTTP_PORT
- 节点上映射的 HTTP 端口 -
NS_HTTPS_PORT
- 节点上映射的 HTTPS 端口 -
NS_SSH_PORT
- 节点上映射的 SSH 端口 -
NS_SNMP_PORT
- 节点上映射的 SNMP 端口 -
NS_ROUTABLE
-(NetScaler CPX pod IP 地址无法从外部路由。) -
NS_MGMT_USER
- ADM 用户名 -
NS_MGMT_PASS
- ADM 密码
以下是向 NetScaler ADM 添加 NetScaler CPX 实例的示例 docker run
命令。
docker run -dt --privileged=true -p 9080:9080 -p 9443:9443 -p 9022:22 -p 9161:161 -e EULA=yes -e NS_MGMT_SERVER=abc-mgmt-server.com -e HOST=10.1.1.1 -e NS_HTTP_PORT=9080 -e NS_HTTPS_PORT=9443 -e NS_SSH_PORT=9022 -e NS_SNMP_PORT=9161 -e NS_ROUTABLE=0 --ulimit core=-1 –name test cpx:latest
<!--NeedCopy-->
使用 Kubernetes ConfigMaps 将 NetScaler CPX 实例添加到 NetScaler ADM
NetScaler CPX 支持通过 Kubernetes ConfigMaps 使用批量装载的文件在 NetScaler ADM 中注册。要启用这种注册方式,NetScaler CPX 需要通过 ConfigMaps 和 Secrets 指定一些环境变量以及一些卷装入的文件。
下面是必需的环境变量及其说明:
-
NS_HTTP_PORT
- 指定节点上映射的 HTTP 端口。 -
NS_HTTPS_PORT
- 指定节点上映射的 HTTPS 端口。 -
NS_SSH_PORT
- 指定节点上映射的 SSH 端口。 -
NS_SNMP_PORT
- 指定节点上映射的 SNMP 端口。
除了列出的环境变量外,NetScaler CPX 还需要有关它必须注册的 ADM 代理的信息。此信息包含 ADM 代理的 IP 地址或 FQDN 详细信息和凭据。NetScaler CPX 从卷装入的文件中获取这些信息。包含 IP 地址或 FQDN 的 ConfigMap 作为文件安装在 NetScaler CPX 实例的文件系统中。包含 ADM 代理凭证的 Kubernetes 密钥也作为文件安装在 NetScaler CPX 实例的文件系统中。有了注册所需的所有信息,NetScaler CPX 会尝试向 ADM 代理进行注册。
以下是将 ConfigMap 和 Secret 作为文件安装的 NetScaler CPX YAML 文件片段的示例:
…
env:
- name: "EULA"
value: "yes"
- name: "NS_HTTP_PORT"
value: "9080"
- name: "NS_HTTPS_PORT"
value: "9443"
- name: "NS_SSH_PORT"
value: "22"
- name: "NS_SNMP_PORT"
value: "161"
- name: "KUBERNETES_TASK_ID"
value: ""
…
volumeMounts:
…
- mountPath: /var/adminfo/server/
name: adm-agent-config
- mountPath: /var/adminfo/credentials/
name: adm-agent-user
…
volumes:
…
- name: adm-agent-config
configMap:
name: adm-agent-config
- name: adm-agent-user
secret:
secretName: adm-secret
在上面的示例中,使用了名为 adm-agent-config
的 ConfigMap 和机密 adm-agent-user
。下面是创建所需的 ConfigMap 和机密的示例。
ConfigMap: ConfigMap 是根据名为 adm_reg_envs
的文件创建的。该文件需要 ADM 代理的以下格式的 IP 地址或 FQDN:
NS_MGMT_SERVER=adm-agent
在前面的格式中,adm-agent
是需要注册 NetScaler CPX 实例的 ADM 代理的 FQDN。
请使用以下命令创建 ConfigMap:
kubectl create configmap adm-agent-config --from-file=adm_reg_envs
注意: 文件名必须包含 adm_reg_envs
变量,并且必须将其装载到以下路径:/var/adminfo/server/
。
机密: 请使用以下命令创建 Kubernetes 机密。在以下命令中,user123
为 ADM 代理的用户名,pass123
为密码。
kubectl create secret generic adm-secret --from-literal=NS_MGMT_USER=user123 --from-literal=NS_MGMT_PASS=pass123
即使在群集中部署 ADM 代理之前,也可以将 NetScaler CPX 实例部署在具有所需环境变量和卷装载文件的 Kubernetes 群集中。如果您在部署 ADM 代理之前部署 NetScaler CPX 实例,则在部署 ADM 代理之前,NetScaler CPX 会继续尝试注册。部署 ADM 代理后,NetScaler CPX 实例使用通过环境变量和卷装载文件提供的配置数据在 ADM 代理中注册。它可以帮助您避免使用配置信息重新部署 NetScaler CPX。
已在 ADM 代理中注册的 NetScaler CPX 实例可以在更改配置后动态将注册更改为另一个 ADM 代理。为此,您可以更新 ConfigMap 中的配置信息以及已部署的 NetScaler CPX 的密钥。必须使用新 ADM 代理的 IP 地址或 FQDN 更新从中创建 ConfigMap 的文件,删除旧 ConfigMap,然后创建一个新 ConfigMap。同样,必须删除现有机密,并且必须使用新 ADM 代理的凭据创建新机密。