在此页面上
cSRX环境变量
Docker 允许您将配置设置等数据作为环境变量存储。运行时,环境变量会向容器内的应用程序公开。您可设置任意数量参数,以在启动该映像cSRX生效。您可以在 YAML 文件或环境变量中将配置设置传递至 cSRX启动时。
表 1 汇总了可用cSRX变量列表。
环境变量 |
强制性 |
描述 |
---|---|---|
CSRX_AUTO_ASSIGN_IP |
选 |
当容器cSRX 多图 CNI 支持在 Kubernetes 中创建更多 Pod 接口。如果设置为 |
CSRX_MGMT_PORT_REORDER |
选 |
如果设置为
|
CSRX_TCP_CKSUM_CALC |
选 |
如果 设置为 |
CSRX_LICENSE_FILE |
选 |
如果已设置,许可证文件将通过 ConfigMap 加载。 |
CSRX_JUNOS_CONFIG |
选 |
如果设置,则系统cSRX ConfigMap 加载初始配置。 |
CSRX_SD_HOST |
选 |
它用于定义 SD 服务器 IP 地址或 FQDN 地址。 |
CSRX_SD_USER |
选 |
它用于定义 SD 服务器登录帐户名称。 |
CSRX_SD_DEVICE_IP |
选 |
它用于定义cSRX管理 IP 地址,SD 用于连接到cSRX。否则将使用端口 IP 地址。 |
CSRX_SD_DEVICE_PORT |
选 |
它用于定义cSRX管理端口,SD 用于连接到 cSRX。否则将使用默认端口号 |
CSRX_FORWARD_MODE |
选 |
它在信息流转发模式下使用。
|
CSRX_PACKET_DRIVER |
选 |
它用于数据包 I/O 驱动程序中。
|
CSRX_CTRL_CPU |
选 |
CPU 掩码,表示哪些 CPU cSRX控制平面守护程序(如 nsd、mgd、nstraced、utmd 等)。 无 CPU 亲和性
|
CSRX_DATA_CPU |
选 |
CPU 掩码,表示哪个 CPU 运行 cSRX守护程序 (srxpfe)。 无 CPU 亲和性
|
CSRX_ARP_TIMEOUT |
选 |
控制平面 ARP 学习或响应的 ARP 入口超时值。
与 Linux 主机相同 |
CSRX_NDP_TIMEOUT |
选 |
控制平面 NDP 学习或响应的 NDP 入口超时值。
与 Linux 主机相同 |
CSRX_PORT_NUM |
选 |
需要添加至容器的接口数。 默认值为 3,最大为 17(表示 1 个管理接口和 16 个数据接口) |
添加许可证密钥文件
您可使用 CSRX_LICENSE_FILE
Kubernetes ConfigMaps cSRX环境变量将保存的本地许可证密钥文件导入 Pod 中。
将许可证密钥文件保存于文本文件中。
在 Kubernetes 中创建 ConfigMap。
root@kubernetes-master:~#kubectl create configmap csrxconfigmap --from-file=<file path>/var/tmp/csrxlicensing
使用 cSRX ConfigMaps 导入用户定义的配置,创建一个配置文件
--- deployment.spec.template.spec.containers. env: - name: CSRX_LICENSE_FILE value: "/var/local/config/.csrxlicense" volumeMounts: - name: lic mountPath: "/var/local/config" deployment.spec.template.spec. volumes: - name: lic configMap: name: csrxconfigmap items: - key: csrxlicensing path: csrxlicensing ---
运行以下命令,使用 yaml 文件cSRX部署。
root@kubernetes-master:~#kubectl apply -f csrx.yaml
登录cSRX Pod 以验证已安装的许可证
root@kubernetes-master:~#kubectl exec -it csrx bash
root@csrx:~#cli
root@csrx>show system license
设置 root 密码
您可以使用 Kubernetes 机密设置 root 密码。
在 Kubernetes csrx home namese 中创建通用密钥。
root@kubernetes-master:~#kubectl create secret generic csrxrootpasswd --fromliteral= CSRX_ROOT_PASSWORD=XXXXX
运行以下命令验证密码是否创建。
root@kubernetes-master:~#kubectl describe secret csrxrootpasswd
运行以下命令以使用 Kubernetes 机密在 csrx 部署 yaml 文件中保存 root 密码。
--- deployment.spec.template.spec.containers. env: - name: CSRX_ROOT_PASSWORD valueFrom: secretKeyRef: name: csrxrootpasswd key: CSRX_ROOT_PASSWORD ---
运行以下命令,使用 yaml 文件cSRX部署。
root@kubernetes-master:~#kubectl apply -f csrx.yaml