Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

安装 Puppet Junos OS

注意:

随着 Puppet 中针对受支持平台指示Junos OS Puppet 的支持也移除

设置 Puppet Master

瞻博网络支持使用 Puppet 管理运行网络的某些Junos OS。Puppet 主设备必须运行 Puppet 开源版本。 表 1 概括了必须安装在 Puppet 主设备上的 Puppet 版本,以便管理客户端上Junos OS Puppet 的不同 Junos OS 变体和Junos OS版本。

表 1:Puppet Master 所需的 Puppet 版本

Junos OS变体

适用于 Junos OS 版本的 Puppet

Puppet 版本

Junos OS自动化Junos OS或解决方案

1.0

Puppet 2.7.19 或更高版本

2.0
3.0
4.0

Puppet 3.6.1 或更高版本

Junos OS不断演进

Puppet 3.8.7 或更高版本

Puppet 主设备还必须安装以下软件,以便使用 Puppet 管理运行Junos OS:

  • 瞻博网络 NETCONF Ruby ruby 瞻博网络 — Ruby ruby,使用 NETCONF 协议实现设备管理。

  • netdevops/netdev_stdlib Puppet 模块 — 包括 netdev 资源的 Puppet 类型定义。

  • 瞻博网络/netdev_stdlib_junos Puppet 模块 — 包括Junos OS类型的特定代码。在 Puppet 主设备中安装此模块时,会自动 安装 netdev_stdlib 模块

要配置 Puppet 主设备,将其与运行 Junos OS:

  1. 安装 Puppet 开源版本。

    有关 Puppet 安装说明, 请参阅 Puppet 网站。

  2. 使用适用于 puppet 瞻博网络 安装的命令,安装 NETCONF Ruby 瞻博网络。
  3. 安装或升级 瞻博网络 netdev_stdlib_junos Puppet 模块。
    • 要安装 netdev_stdlib_junos ,请执行 Puppet master 上的以下命令,并指定管理特定设备所需的模块版本。

    • 要升级已安装较新版本的模块,请使用 upgrade 选项。

  4. Puppet 主机上设置 puppet.conf 文件。

    有关配置文件的信息,请参阅 设置 Puppet Master 和 Puppet 代理上运行的 Puppet 配置文件 Junos OS。

注意:

Puppet 代理使用 SSL 使用 Puppet 主设备标识。默认情况下,puppet Master 服务不会对客户端证书请求进行签名。因此,Puppet 主设备必须在代理第一次尝试连接到主设备时批准代理证书。配置并运行 Puppet 代理节点之后,使用适用于您的安装的命令(例如,使用 命令或 命令)批准 Puppet master puppet cert sign host puppetserver ca sign --certname host 上的客户端证书。

配置 Puppet 代理节点

瞻博网络支持使用 Puppet 管理运行网络的某些Junos OS。代理节点上的设置取决于设备上运行的设备和Junos OS变体。某些设备需要在设备上安装 Puppet 代理包,其他设备将 Puppet 代理集成到软件映像中,有些设备支持将 Puppet 代理作为 Docker 容器运行。要验证对特定平台的支持,并确定要使用给定设备和版本Junos OS,请参阅 Puppet Junos OS支持的平台

表 2 概括了为不同类型的设置配置 Puppet 代理节点所需的任务。要配置节点,请在每个已链接的任务中执行步骤。

表 2:Puppet 代理设置

Puppet 代理设置

任务

Puppet 代理必须使用 jpuppet 软件包安装

执行以下步骤:

  1. 安装 Puppet 代理包

  2. 配置 Junos OS 用户帐户

  3. 配置环境设置

Puppet 代理集成在设备上

执行以下步骤:

  1. 配置 Junos OS 用户帐户

  2. 配置环境设置

  3. 启动 Puppet 代理进程

Puppet 代理将作为 Docker 容器运行

执行以下步骤:

  1. 配置 Junos OS 用户帐户

  2. 使用 Puppet Agent Docker 容器

注意:

OCX1100,QFX 系列使用增强型自动化Junos OS运行的交换机,以及运行 Junos OS Evolved 的设备将 Puppet 代理与软件集成。如果设备还支持使用 Puppet 代理 Docker 容器,则您可以选择将 Puppet 代理作为 Docker 容器运行,而不是使用集成的 Puppet 代理。

安装 Puppet 代理包

要向运行未集成Junos OS的设备上安装 Puppet 代理:

  1. 确定平台所需的 jpuppet 软件包,以及 Puppet 针对支持Junos OS版本。
  2. 访问 https://github.com/Juniper/jpuppet-download 的下载 https://github.com/Juniper/jpuppet-download
  3. 选择与 Puppet 对应的版本文件夹,Junos OS下载版本。
  4. 下载到代理设备的 /var/tmp/ 目录中 特定于您的平台或设备微分机架构的 jpuppet 软件包,具体取决于用于不同版本Junos OS Puppet。
    注意:

    从版本 2.0 Junos OS Puppet 开始, jpuppet 软件包特定于微处理器架构。在早期版本中,软件包特定于特定平台。如果您不知道设备的控制器体系结构,可使用 UNIX shell 命令 uname -a 确定。

    注意:

    我们建议您从设备的 /var/tmp/ 目录中安装 jpuppet 软件包,以确保安装的最大磁盘空间和 RAM 数量。

  5. 配置与应用程序相关联的提供商名称、许可证类型和部署范围。
  6. 使用操作模式命令安装 request system software add 软件包,并包括 no-validate 选项。
  7. 验证安装是否成功,方法为发出 show version 命令。

    已安装软件列表应包括 jpuppet 软件包。例如:

    注意:

    软件包名称可能因不同版本上的 Puppet Junos OS不同。

配置 Junos OS 用户帐户

您必须配置用户帐户以运行 Puppet 代理。用户必须拥有配置、控制和查看权限。您可以为帐户配置任何用户名和认证方法。

要配置 Junos OS以运行 Puppet 代理:

  1. 配置帐户用户名、登录类、认证方法和 shell。
  2. 提交配置。

配置环境设置

在安装 Puppet 代理包或使用与软件映像集成的 Puppet 代理的任何代理节点上设置目录结构和环境设置。

要配置必要的目录结构和环境设置以运行 Puppet 代理,

  1. 使用 Puppet 帐户用户名和密码登录代理节点。
  2. 如果您尚未进入 UNIX 级别 shell,请输入 shell。
  3. 创建 $HOME/.cshrc 文件,并包括对应于设备上安装的 Junos OS 变体和 Junos OS Puppet 版本的内容,如表 3 中概述
    表 3:Puppet Agent 中的内容 .cshrc 文件

    Junos OS变体

    Puppet for
    Junos OS版本

    .cshrc 内容

    Junos OS或
    Junos OS与
    增强的自动化

    1.0 或 2.0

    setenv PATH ${PATH}:/opt/sdk/juniper/bin

    3.0 或 4.0

    setenv PATH ${PATH}:/opt/jet/juniper/bin

    Junos OS不断演进

    setenv PATH ${PATH}:/usr/bin

  4. 退出设备后,使用 Puppet 帐户用户名和密码重新登录。
  5. 如果您尚未进入 UNIX 级别 shell,请输入 shell。
  6. 运行 Facter 来验证 jpuppet 代码是否已安装以及 PATH 变量是否正确,Facter 应该显示设备特定的信息。例如:
  7. 创建以下 $HOME/.puppet 目录结构:
  8. puppet.conf 文件$HOME /.puppet 目录中。

启动 Puppet 代理进程

将 Puppet 代理集成到软件中的设备需要在设备上启动 Puppet 代理进程。配置应用程序用户帐户和环境设置Junos OS启动 Puppet 代理进程。

要启动 Puppet 代理进程:

  1. 进入 shell。
  2. 通过执行 命令启动 puppet agent Puppet 代理进程,并包括任何所需的选项。
    • 例如,在运行增强型Junos OS或Junos OS的设备上:

    • 在运行 Junos OS Evolved 的设备上,切换到默认 VRF 用于管理流量、vrf0,然后启动代理。

    注意:

    您可以选择在 Puppet 配置文件中定义服务器设置,而不是将设置指定为命令选项。

使用 Puppet Agent Docker 容器

运行 Junos OS Evolved 支持以 Docker 容器运行 Puppet 代理的某些设备。Docker 是一个软件容器平台,用于将应用程序及其依赖项打包在隔离容器中并运行。瞻博网络为 Docker 中心上的 Puppet 代理提供 Docker 映像

使用 Docker 容器运行 Puppet 代理时,容器:

  • 共享主机的主机名和网络命名空间

  • 使用主机网络与 Puppet 服务器通信

  • 使用基于密钥的 SSH 身份验证向主机进行身份验证

要使用受支持的设备上 Puppet 代理 Docker 容器:

  1. 以 root 用户名登录。
  2. 切换到默认 VRF,用于管理流量 vrf0。
  3. 启动 Docker 服务,将其绑定至默认 VRF 用于管理流量 vrf0。
  4. 设置环境 DOCKER_HOST 变量。
  5. 按如下方式启动 NETCONF_USER Puppet 代理 Docker 容器,然后Junos OS为运行代理而设置的用户帐户。
  6. 生成 SSH 密钥对,用于向主机认证容器。
  7. 将公钥复制到主机,然后添加到 root 用户的主authorized_keys文件中。
  8. 验证从容器到主机的连接。
  9. puppet.conf 文件放在容器 的 /etc/puppet 目录中。
    注意:

    有关配置文件的信息,请参阅 设置 Puppet Master 和 Puppet 代理上运行的 Puppet 配置文件 Junos OS

  10. 启动 Puppet 代理。
  11. 在 Puppet 主设备上,使用适用于您的安装的命令接受代理的密钥。

在运行该配置文件的 Puppet Master 和 Puppet 代理上设置 Puppet 配置文件Junos OS

Puppet 配置文件 puppet.conf 用于定义 Puppet 主节点和代理节点的设置。这是一个 INI 格式的文件,其代码块包含缩进设置 = 值语句。主要代码块包括:

  • [master]—Puppet 主设备的设置。

  • [agent]—代理节点的设置。

  • [main]—所有命令和服务均使用的全局设置。和 中的设置 [master][agent] 覆盖 中的设置 [main]

在 Puppet master 上,配置文件驻留在 $confdir/puppet.conf 上。在运行 Junos OS 的代理节点上,位置取决于设置。 表 4 概括显示了在运行任何设备的给定设置时 Puppet 配置文件应驻留Junos OS。

表 4:Puppet 配置文件位置

Puppet 代理设置

puppet.conf 位置

Puppet 代理使用 jpuppet 软件包 安装

$HOME/.puppet 目录, 用于Junos OS设置以运行 Puppet 代理

Puppet 代理集成在设备上

$HOME/.puppet 目录, 用于Junos OS设置以运行 Puppet 代理

Puppet 代理以 Docker 容器运行

/etc/puppet directory(容器内)

本文档不介绍创建环境特定的 Puppet 配置文件。但是,使用 Puppet 管理运行 Junos OS 的设备时,Puppet 主节点和代理节点 puppet.conf 文件 [main] 必须在配置块中包含以下语句:

此外,运行 Junos OS Evolved certname 的客户端设备必须将 语句包括在 puppet.conf 文件中,并指定节点的证书名称。Puppet 主设备使用证书名称(可以是主机名、IP 地址或任何以小写字符表示的用户定义名称)来识别客户端。

以下示例显示运行新代码的代理节点的 puppet.conf 示例Junos OS:

以下示例显示运行 Junos OS Evolved 的代理节点的 puppet.conf 文件示例:

有关 Puppet 配置文件的信息,请参阅 Puppet https://puppet.com/

为可地址存储Junos OS Puppet

在运行 Junos OS 的设备上,默认情况下 Puppet 可用内存量为 64 MB。您可以将可用内存扩展为表 5 中定义的系统 最大值

表 5: Puppet 代理执行环境 内存限制

装置

上内存限制

EX4200、EX4500、EX4550

128 MB

EX4300

64 MB

MX5、MX10、MX40、MX80

64 MB

MX104

64 MB

MX240、MX480、MX960

2048 MB

OCX1100

64 MB

QFX3500,QFX3600

1024 MB

QFX5100

64 MB

QFX10002、QFX10008、QFX10016

1024 MB

要扩展 Puppet 代理执行环境(包括 Puppet 代理和 Facter 进程)可用的内存量:

  1. 使用 Puppet 用户帐户用户名和密码登录 Puppet 代理。
  2. 在 Puppet 用户 $HOME/.cshrc 文件中,将 limit data memory 命令添加到文件中。例如:
版本历史记录表
释放
描述
2.0
从适用于 Junos OS 2.0 的 Puppet 开始,jpuppet 软件包特定于微处理器体系结构。在早期版本中,软件包特定于特定平台。