CloudEngine 操作系统平台选项
CloudEngine CE 操作系统是 community.network 集合的一部分,并支持多种连接。本页提供有关每个连接在 Ansible 中如何工作以及如何使用的详细信息。
可用的连接
CLI |
NETCONF |
|
---|---|---|
协议 |
SSH |
通过 SSH 的 XML |
凭据 |
如果存在,则使用 SSH 密钥 / SSH 代理 如果使用密码,则接受 |
如果存在,则使用 SSH 密钥 / SSH 代理 如果使用密码,则接受 |
间接访问 |
通过堡垒机(跳转主机) |
通过堡垒机(跳转主机) |
连接设置 |
|
|
启用模式 |
ce 操作系统不支持 |
ce 操作系统不支持 |
返回数据格式 |
请参阅各个模块文档 |
请参阅各个模块文档 |
ansible_connection: local
已被弃用。请改用 ansible_connection: ansible.netcommon.netconf
或 ansible_connection=ansible.netcommon.network_cli
。
在 Ansible 中使用 CLI
CLI 清单示例 [ce:vars]
[ce:vars]
ansible_connection=ansible.netcommon.network_cli
ansible_network_os=community.network.ce
ansible_user=myuser
ansible_password=!vault...
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
如果您使用 SSH 密钥(包括 ssh-agent),则可以删除
ansible_password
配置。如果您直接访问主机(而不是通过堡垒机/跳转主机),则可以删除
ansible_ssh_common_args
配置。如果您通过堡垒机/跳转主机访问主机,则不能在
ProxyCommand
指令中包含 SSH 密码。为了防止机密信息泄露(例如在ps
输出中),SSH 不支持使用环境变量提供密码。
CLI 任务示例
- name: Retrieve CE OS version
community.network.ce_command:
commands: display version
when: ansible_network_os == 'community.network.ce'
在 Ansible 中使用 NETCONF
启用 NETCONF
在可以使用 NETCONF 连接到交换机之前,您必须
在控制节点上使用
pip install ncclient
安装ncclient
python 包在 CloudEngine 操作系统设备上启用 NETCONF
要使用 Ansible 在新交换机上启用 NETCONF,请将 community.network.ce_config
模块与 CLI 连接一起使用。像上面的 CLI 示例一样设置平台级变量,然后运行如下 playbook 任务
- name: Enable NETCONF
connection: ansible.netcommon.network_cli
community.network.ce_config:
lines:
- snetconf server enable
when: ansible_network_os == 'community.network.ce'
启用 NETCONF 后,更改变量以使用 NETCONF 连接。
NETCONF 清单示例 [ce:vars]
[ce:vars]
ansible_connection=ansible.netcommon.netconf
ansible_network_os=community.network.ce
ansible_user=myuser
ansible_password=!vault |
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
NETCONF 任务示例
- name: Create a vlan, id is 50(ce)
community.network.ce_vlan:
vlan_id: 50
name: WEB
when: ansible_network_os == 'community.network.ce'
注意
可与 ansible.netcommon.network_cli
配合使用的模块
community.network.ce_acl_interface
community.network.ce_command
community.network.ce_config
community.network.ce_evpn_bgp
community.network.ce_evpn_bgp_rr
community.network.ce_evpn_global
community.network.ce_facts
community.network.ce_mlag_interface
community.network.ce_mtu
community.network.ce_netstream_aging
community.network.ce_netstream_export
community.network.ce_netstream_global
community.network.ce_netstream_template
community.network.ce_ntp_auth
community.network.ce_rollback
community.network.ce_snmp_contact
community.network.ce_snmp_location
community.network.ce_snmp_traps
community.network.ce_startup
community.network.ce_stp
community.network.ce_vxlan_arp
community.network.ce_vxlan_gateway
community.network.ce_vxlan_global
可与 ansible.netcommon.netconf
配合使用的模块
community.network.ce_aaa_server
community.network.ce_aaa_server_host
community.network.ce_acl
community.network.ce_acl_advance
community.network.ce_bfd_global
community.network.ce_bfd_session
community.network.ce_bfd_view
community.network.ce_bgp
community.network.ce_bgp_af
community.network.ce_bgp_neighbor
community.network.ce_bgp_neighbor_af
community.network.ce_dldp
community.network.ce_dldp_interface
community.network.ce_eth_trunk
community.network.ce_evpn_bd_vni
community.network.ce_file_copy
community.network.ce_info_center_debug
community.network.ce_info_center_global
community.network.ce_info_center_log
community.network.ce_info_center_trap
community.network.ce_interface
community.network.ce_interface_ospf
community.network.ce_ip_interface
community.network.ce_lacp
community.network.ce_link_status
community.network.ce_lldp
community.network.ce_lldp_interface
community.network.ce_mlag_config
community.network.ce_netconf
community.network.ce_ntp
community.network.ce_ospf
community.network.ce_ospf_vrf
community.network.ce_reboot
community.network.ce_sflow
community.network.ce_snmp_community
community.network.ce_snmp_target_host
community.network.ce_snmp_user
community.network.ce_static_route
community.network.ce_static_route_bfd
community.network.ce_switchport
community.network.ce_vlan
community.network.ce_vrf
community.network.ce_vrf_af
community.network.ce_vrf_interface
community.network.ce_vrrp
community.network.ce_vxlan_tunnel
community.network.ce_vxlan_vap
警告
切勿以纯文本形式存储密码。我们建议使用 SSH 密钥来验证 SSH 连接。Ansible 支持 ssh-agent 来管理您的 SSH 密钥。如果您必须使用密码来验证 SSH 连接,我们建议使用 Ansible Vault 对其进行加密。
另请参阅