• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

11-网络管理和监控配置指导

目录

16-Chef配置

本章节下载 16-Chef配置  (307.50 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S6800/S6800/Configure/Operation_Manual/H3C_S6800_CG-Release_25xx-6W101/11/201806/1089275_30005_0.htm

16-Chef配置


1 Chef

1.1  Chef简介

Chef是开源的配置管理工具,用户使用Ruby语言将需要对设备进行的配置写成脚本,并保存到服务器中,再通过服务器把配置脚本下发到各网络设备,实现对网络设备的集中配置管理。

1.1.1  Chef网络架构

图1-1 Chef网络架构

 

图1-1所示,Chef采用“服务器端/客户端”网络架构,由Chef server、Chef client和Workstation构成,各组件功能及含义如下:

2. Chef server

Chef server用于对Chef client进行集中管理,其主要功能如下:

·              集中保存配置脚本(Cookbook),并根据用户要求将配置脚本下发到Chef client。

·              为Chef client和Workstation分别创建后缀为.pem的密钥文件。密钥文件分为用户密钥文件和组织密钥文件:

¡  用户密钥文件:该文件用来保存Chef client/Workstation的用户认证信息,Chef client/Workstation与Chef server进行通信前,用户需要将该文件分别下载到Chef client/Workstation上,Chef server使用该文件验证Chef client/Workstation的合法性。

¡  组织密钥文件:该文件用来保存用户所在组织的认证信息。用户需要将该文件分别下载到Chef client/Workstation中。为方便对不同的Chef client/Workstation设备进行区分管理,可以将具有同一类属性的Chef client/Workstation划分到同一个组织中。Chef client/Workstation与Chef server进行通信前,Chef server使用该文件验证用户所在组织的合法性。

3. Workstation

Workstation提供了用户与Chef server交互的接口。用户需要在Workstation上创建、编辑配置脚本,并将配置脚本上传到Chef server。

Workstation可以与Chef server安装在同一台服务器上。

4. Chef client

Chef client即为被Chef server管理的网络设备。Chef client从Chef server获取并运行配置脚本,配置脚本运行完成后,设备使用新下发的配置运行。

H3C设备中,Chef以Chef client方式运行,版本为12.3.0。

说明: 说明

关于Chef server和Workstation的详细安装和配置,请参见Chef官方网站:https://www.chef.io

 

1.1.2  Chef资源

说明: 说明

关于Chef支持的所有资源类型,请参见附录。

 

Chef使用Ruby语言定义配置项,各配置项的集合即为一个配置脚本,在Chef中,配置项叫做资源。

Chef划分了多个不同类型的资源,每个类型的资源都由名称、属性和动作构成,每个属性对应功能的一个配置,属性值即为该配置应达到的状态。在对Chef资源进行配置时,通过为不同属性赋值,从而指定设备应该达到的最终状态,而不需要关心如何达到这些状态。例如:用户只需要指定创建哪一个VLAN,而不需要关心如何创建该VLAN。如下以创建VLAN 2,并为该VLAN配置描述信息为例介绍Chef资源的构成:

netdev_vlan 'vlan2' do

 vlan_id 2

 description 'chef-vlan2'

 action :create

end

在该例中,各字段含义如下:

·              netdev_vlan表示资源类型。

·              do与end为Ruby语言中函数的固定语法,所有Chef资源配置都需要符合该语法要求。

·              vlan2为资源名称,每个资源都有唯一的资源名称,用于标示该资源。

·              vlan_id和description表示资源属性。

¡  vlan_id 2表示创建VLAN ID为2的VLAN。

¡  description 'chef-vlan2'表示VLAN2的描述信息为“chef-vlan2”。

·              action表示资源动作,Chef仅支持create和delete两种动作。

¡  create表示如果该Chef资源不存在,则创建这个资源;如果该Chef资源已存在,则按照最新资源配置要求修改该资源。create为Chef资源的缺省动作,如果配置Chef资源时,不指定action,则表示action取值为create。

¡  delete表示需要删除该资源。

1.1.3  Chef配置文件

Chef配置文件由用户手工配置,该文件中包含了Chef client执行Chef时输出日志的属性、Chef server和Chef client本地保存密钥文件的路径,以及Chef client本地保存资源文件的路径等。

启动Chef后,Chef client使用Chef配置文件中指定的本地密钥文件信息向Chef server发起认证请求。Chef server使用本地密钥文件与Chef client发送的密钥信息对比,如果双方密钥信息完全一致,则表示Chef client通过认证。Chef client通过认证后将把资源文件下载到Chef配置文件指定的本地资源文件保存路径中,并执行资源文件中的配置,同时输出相应的日志。

表1-1 Chef配置文件配置项描述表

配置项

说明

(可选)log_level

:auto

:debug

:info

:warn

:error

:fatal

日志信息级别,缺省值为auto

日志严重等级由低到高依次为:debuginfowarnerrorfatal

auto级别与warn级别相同

log_location

STDOUT

STDERR

logfilepath

日志输出方式:

·          STDOUT表示Chef标准日志输出方式。配置该参数后,通过third-part-process start命令下载资源时,将Chef配置过程中,配置执行成功的日志信息输出到指定文件中,执行失败的日志信息输出到配置终端

·          STDERR表示Chef标准错误日志输出方式。配置该参数后,通过third-part-process start命令下载资源时,将Chef配置过程中,配置执行失败的日志信息输出到指定文件中,执行成功日志信息的输出到配置终端

·          filepath表示将执行Chef过程中,所有配置日志都输出到设备指定的路径中。例如:将日志文件输出到flash:/cheflog/a.log

如果不指定任何参数,Chef标准日志和Chef标准错误日志都输出到配置终端

node_name

client

Chef client名称

在Chef中,该名称仅用于区别不同的Chef client,与设备名称(通过sysname命令配置)无关

chef_server_url

https://localhost:port/organizations/ORG_NAME

Chef server的URL以及Chef server上创建的组织的名称

localhost:port表示Chef server的名称或IP地址、以及端口号

ORG_NAME表示组织的名称

validation_key

flash:/chef/validator.pem

组织认证的密钥文件名称,以及设备本地保存密钥文件的路径

client_key

flash:/chef/client.pem

用户认证的密钥文件名称,以及设备本地保存密钥文件的路径

cookbook_path

[ 'flash:/chef-repo/cookbooks' ]

设备本地保存资源文件的路径

 

1.2  配置Chef

1.2.1  配置准备

配置Chef功能前,用户必须先配置如下功能:

·              开启NETCONF over SSH功能:Chef server通过NETCONF over SSH方式向Chef client下发配置。关于NETCONF over SSH功能的详细配置请参见“网络管理和监控配置指导”中的“NETCONF”。

·              配置设备可以通过SSH登录:Chef server与Chef client使用SSH进行通信。关于SSH登录功能的详细配置请参见“基础配置指导”中的“登录设备”。

1.2.2  启动Chef

分别对Chef server、Chef client以及Workstation进行如下配置:

1. 配置Chef server

说明: 说明

·          关于Chef server的详细配置方法,具体请参见Chef server的安装和使用指导。

·          Chef server的Chef版本不能低于Chef client的Chef版本。

 

(1)      为Workstation和Chef client分别创建密钥文件。

(2)      创建并编辑Chef client的Chef配置文件。

2. 配置Workstation

说明: 说明

关于Workstation的详细配置方法,具体请参见Workstation的安装和使用指导。

 

(1)      创建Workstation的本地工作目录。

(2)      创建保存Workstation Chef配置文件的目录

(3)      创建Workstation的Chef配置文件。

(4)      将Workstation的密钥文件从Chef server上下载到Workstation配置文件中指定的目录。

(5)      创建并编辑Chef资源文件。

(6)      将资源文件上传到Chef server。

3. 配置Chef client

(1)      将Chef client的密钥文件从Chef server上下载到设备的本地目录。该目录在Chef配置文件中配置。

(2)      将Chef配置文件从Chef server上下载到Chef client的本地目录。该文件的保存目录必须与third-part-process start命令--config参数指定的目录相同。

(3)      在设备上通过third-part-process start命令启动Chef。

表1-2 启动Chef

操作

命令

说明

进入系统视图

system-view

-

启动Chef

third-part-process start name chef-client arg --config=filepath --runlist recipe[Directory]

缺省情况下,Chef处于关闭状态

--config=filepath表示设备中Chef配置文件的路径及名称

--runlist recipe[Directory]表示配置设备所使用的资源目录名称

关于third-part-process start命令的详细介绍,请参见“网络管理和监控”中的“进程监控和维护”

 

1.2.3  关闭Chef

表1-3 关闭Chef

操作

命令

说明

进入系统视图

system-view

-

关闭Chef

third-part-process stop pid pid-list

执行display process all命令查看所有进程信息,“THIRD”字段标识为“Y”的进程为第三方进程,“PID”字段即为进程pid

“COMMAND”字段为“chef-client /opt/ruby/b”的进程为Chef进程

关于third-part-process stop命令的详细介绍,请参见“网络管理和监控”中的“进程监控和维护”

 

1.3  Chef典型配置举例

1. 组网需求

Chef client与Chef server相连,设备的IP地址和掩码如图1-2所示。

通过Chef在设备上创建ID为3的VLAN。

2. 组网图

图1-2 Chef配置组网图

 

3. 配置步骤

(1)      配置Chef server

# 创建Workstation的用户密钥文件admin.pem,具体参数如下:

·              Workstation的用户名为Herbert George Wells。

·              Email为abc@xyz.com。

·              密码为123456。

$ chef-server-ctl user-create Herbert George Wells abc@xyz.com 123456 –filename=/etc/chef/admin.pem

# 创建Workstation的组织密钥文件admin_org.pem,具体参数如下:

·              组织的简称为ABC,组织全称为ABC Technologies Co., Limited。

·              该组织与用户Herbert相关联。

$ chef-server-ctl org-create ABC_org "ABC Technologies Co., Limited" –association_user Herbert –filename =/etc/chef/admin_org.pem

# 创建Chef client的用户密钥文件client.pem,具体参数如下:

·              Chef client用户名为Herbert George Wells。

·              Emal为abc@xyz.com。

·              密码为123456。

$ chef-server-ctl user-create Herbert George Wells abc@xyz.com 123456 –filename=/etc/chef/client.pem

# 创建Chef client的组织密钥文件validator.pem,具体参数如下:

·              组织的简称为ABC,组织全称为ABC Co., Limited。

·              该组织与用户Herbert相关联。

$ chef-server-ctl org-create ABC "ABC Technologies Co., Limited" –association_user Herbert –filename =/etc/chef/validator.pem

# 创建并编辑Chef client的Chef配置文件chefclient.rb。

log_level :info

log_location STDOUT

node_name 'Herbert'

chef_server_url 'https://1.1.1.2:443/organizations/h3c'

validation_key 'flash:/chef/validator.pem'

client_key 'flash:/chef/client.pem'

cookbook_path [ 'flash:/chef-repo/cookbooks' ]

(2)      配置Workstation

# 创建Workstation的本地工作目录chef-repo。

$ mkdir /chef-repo

# 创建保存Workstation Chef配置文件的目录.chef。

$ mkdir –p /chef-repo/.chef

# 在/chef-repo/.chef目录下创建Workstation的Chef配置文件knife.rb,内容如下:

log_level                :info

log_location             STDOUT

node_name                'admin'

client_key               '/root/chef-repo/.chef/admin.pem'

validation_key           '/root/chef-repo/.chef/admin_org.pem'

chef_server_url          'https://chef-server:443/organizations/h3c'

使用TFTP或FTP将Workstation的密钥文件从Chef server下载到Workstation配置文件中的/chef-repo/.chef目录。

# 执行如下命令,创建名为“netdev”的资源目录。

$ knife cookbook create netdev

该命令执行成功后,将在当前目录下创建netdev资源目录,并在netdev资源目录下生成多个与该资源目录相关的文件和目录,其中,recipes目录即为保存资源文件的目录。

编辑recipes目录下名称为default.rb的资源文件,内容如下:

netdev_vlan 'vlan3' do

 vlan_id 3

 action :create

end

# 执行如下命令,将资源文件上传到Chef server。

$ knife cookbook upload –all

(3)      配置Chef client

在Chef client上配置设备通过SSH登录,并开启NETCONF over SSH功能。

使用TFTP或FTP将Chef配置文件chefclient.rb从Chef server上下载到Chef client的Flash根目录(该文件的保存目录必须与third-part-process start命令--config参数指定的目录相同)。

使用TFTP或FTP将密钥文件validator.pem和client.pem从Chef server上下载到设备的指定目录。本例中,目录为flash:/chef/。

# 在设备上启动Chef,指定设备中Chef配置文件的路径为Flash的根目录,文件名称为chefclient.rb。资源名称为netdev。

<ChefClient> system-view

[ChefClient] third-part-process start name chef-client arg --config=flash:/chefclient.rb --runlist recipe[netdev]

该命令执行成功后,Chef client将获取Chef server中的资源到本地,并运行该资源,实现对设备各功能的配置。

 


2 附录 Chef资源列表

2.1  netdev_vlan

该资源用来创建、修改或删除VLAN,并配置VLAN的名称和描述信息。

1. 资源属性

表2-1 netdev_vlan资源属性描述表

列名

列描述

列类型

数据类型和限制

vlan_id

VLAN的编号

索引

数据类型为无符号整型,取值范围为1~4094

description

VLAN的描述信息

数据类型为字符串,取值为1~255个字符,区分大小写

vlan_name

VLAN名称

数据类型为字符串,取值为1~32个字符,区分大小写

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·          create:表示创建或修改VLAN

·          delete:表示删除VLAN

该属性的缺省值为create,如果配置Chef资源时,不指定action,则表示action取值为create

 

2. 脚本示例

创建VLAN2,并配置VLAN描述和VLAN名称为“vlan2”。

netdev_vlan 'vlan2' do

 vlan_id 2

 description 'vlan2'

 vlan_name ‘vlan2’

end

2.2  netdev_device

该资源用来配置设备的名称,并指定设备与Chef server建立连接时使用的SSH用户名和密码。

1. 资源属性

表2-2 netdev_device资源属性描述表

列名

列描述

列类型

数据类型和限制

hostname

设备名称

数据类型为字符串,取值为1~64个字符,不区分大小写

user

SSH用户名

数据类型为字符串,取值为1~55个字符,区分大小写

passwd

SSH用户密码

数据类型为字符串,区分大小写。非FIPS模式下,明文密码为1~63个字符;哈希密码为1~110个字符;密文密码为1~117个字符

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·          create:表示建立设备与Chef server的NETCONF连接

·          delete:表示建立设备与Chef server的NETCONF连接

该属性的缺省值为create,如果配置Chef资源时,不指定action,则表示action取值为create

 

2. 脚本示例

配置设备名称为ChefClient,并指定设备与Chef server建立连接时使用的SSH用户名为user,SSH用户密码为123456。

netdev_device 'device' do

 hostname "ChefClient"

 user "user"

 passwd "123456"

end

2.3  netdev_interface

该资源用来配置接口的属性。

1. 资源属性

表2-3 netdev_interfac资源属性描述表

列名

列描述

列类型

数据类型和限制

ifindex

接口索引

索引

数据类型为整型

description

接口的描述信息

数据类型为字符串,取值为1~255个字符,区分大小写

admin

接口的管理状态

数据类型为字符串,取值包括:

·          up:接口的管理状态为开启

·          down:接口的管理状态为关闭

speed

接口速率

数据类型为字符串,取值包括:

·          auto:表示接口速率处于自协商状态

·          10m:表示接口速率为10Mbps

·          100m:表示接口速率为100Mbps

·          155m:表示接口速率为155Mbps

·          622m:表示接口速率为622Mbps

·          1g:表示接口速率为1Gbps

·          2g:表示接口速率为2Gbps

·          2.5g:表示接口速率为2.5Gbps

·          4g:表示接口速率为4Gbps

·          8g:表示接口速率为8Gbps

·          10g:表示接口速率为10Gbps

·          16g:表示接口速率为16Gbps

·          20g:表示接口速率为20Gbps

·          40g:表示接口速率为40Gbps

·          100g:表示接口速率为100Gbps

duplex

以太网接口的双工模式

数据类型为字符串,取值包括:

·          full:全双工状态,接口在发送数据包的同时可以接收数据包

·          half:半双工状态,接口同一时刻只能发送数据包或接收数据包

·          auto:接口与对端接口的双工模式为自动协商

仅以太口接口支持该配置

linktype

接口的链路类型

数据类型为字符串,取值包括:

·          access:配置接口的链路类型为Access类型

·          trunk:配置接口的链路类型为Trunk类型

·          hybrid:配置接口的链路类型为Hybrid类型

仅二层以太网接口支持该配置

portlayer

以太网接口的工作模式

数据类型为字符串,取值包括:

·          bridge:配置以太网接口工作在二层模式

·          route:配置以太网接口工作在三层模式

mtu

三层以太网接口允许通过的MTU的大小

数据类型为整型,取值范围取决于接口的类型,单位为字节

仅三层以太网接口支持该配置

 

2. 脚本示例

配置索引为2的以太网接口的如下属性:

·              接口的描述信息为ifindex2。

·              管理状态为开启。

·              接口速率为1Gbps。

·              接口与对端接口的双工模式为自动协商。

·              端口的链路类型为Hybrid类型。

·              以太网接口工作在三层模式。

·              配置三层以太网接口允许通过的MTU的大小为1500。

netdev_interface 'ifindex2' do

 ifindex 2

 description 'ifindex2'

 admin 'up'

 speed '1g'

 duplex 'auto'

 linktype 'hybrid'

 portlayer 'route'

 mtu 1500

end

2.4  netdev_l2_interface

该资源用来配置二层以太网接口的VLAN属性。

1. 资源属性

表2-4 netdev_l2_interface资源属性描述表

列名

列描述

列类型

数据类型和限制

ifindex

接口索引

索引

数据类型为整型

pvid

端口的缺省VLAN

数据类型为整型取值范围为1~4094

permit_vlan_list

接口允许通过的VLAN列表

数据类型为字符串

VLAN取值范围为1~4094

一次可以配置多个VLAN,各VLAN间使用逗号分隔。两个逗号之间可以是一个单独的VLAN,也可以是一个VLAN范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个VLAN范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

untagged_vlan_list

端口在转发指定的VLAN报文时将去掉VLAN Tag

数据类型为字符串

VLAN取值范围为1~4094

一次可以配置多个VLAN,各VLAN间使用逗号分隔。两个逗号之间可以是一个单独的VLAN,也可以是一个VLAN范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个VLAN范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个VLAN不能在untagged_vlan_list和tagged_vlan_list列中同时指定

tagged_vlan_list

转发指定的VLAN报文时将携带VLAN Tag

数据类型为字符串

VLAN取值范围为1~4094

一次可以配置多个VLAN,各VLAN间使用逗号分隔。两个逗号之间可以是一个单独的VLAN,也可以是一个VLAN范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个VLAN范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个VLAN不能在untagged_vlan_list和tagged_vlan_list列中同时指定

 

2. 脚本示例

修改索引为5的接口的缺省VLAN为2,允许ID为2~6的VLAN通过,ID为2、4、5、6的VLAN需要保留tag,ID为3的VLAN不带tag。

netdev_l2_interface 'ifindex5' do

 ifindex 5

 pvid 2

 permit_vlan_list '2-6'

 tagged_vlan_list '2,4-6'

 untagged_vlan_list '3'

end

2.5  netdev_lagg

该资源用来创建、修改或删除聚合组。

1. 资源属性

表2-5 netdev_lagg资源属性描述表

列名

列描述

列类型

数据类型和限制

group_id

聚合组ID

索引

数据类型为整型

二层聚合组的组ID范围为1~1024

三层聚合组的组ID范围为16385~17408

linkmode

聚合模式

数据类型为字符串,取值包括:

·          static:表示静态聚合

·          dynamic:表示动态聚合

addports

加入聚合组的接口列表

数据类型为字符串

一次可以配置多个接口索引,各接口索引间使用逗号分隔。两个逗号之间可以是一个单独的接口索引,也可以是一个接口索引范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个接口索引范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个接口不能在addports和deleteports列中同时指定

deleteports

从聚合组删除的接口列表

数据类型为字符串

一次可以配置多个接口索引,各接口索引间使用逗号分隔。两个逗号之间可以是一个单独的接口索引,也可以是一个接口索引范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个接口索引范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个接口不能在addports和deleteports列中同时指定

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·          create:表示创建或修改聚合组

·          delete:表示删除聚合组

该属性的缺省值为create,配置Chef资源时,如果不指定action,则表示action取值为create

 

2. 脚本示例

创建ID为16386的聚合组,设置聚合组的模式为static,并将接口1、2、3加入聚合组,从聚合组中删除索引为8的接口。

netdev_lag 'lagg16386' do

 group_id 16386

 linkmode 'static'

 addports '1-3'

 deleteports '8'

end

2.6  netdev_vsi

该资源用来创建、修改或删除VSI。

1. 资源属性

表2-6 netdev_vsi资源属性描述表

列名

列描述

列类型

数据类型和限制

vsiname

VSI的名称

索引

数据类型为字符串,取值为1~31个字符,区分大小写

admin

开启或关闭VSI

数据类型为字符串,取值包括:

·          up:表示开启VSI

·          down:表示关闭VSI

该属性的缺省值为up,如果配置Chef资源时,不指定admin,则表示取值为up

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·          create:表示创建或修改VSI

·          delete:表示删除VSI

该属性的缺省值为create,配置Chef资源时,如果不指定action,则表示action取值为create

 

2. 脚本示例

在设备上创建名为vsia的VSI,并设置为开启状态。

netdev_vsi 'vsia' do

 vsiname 'vsia'

 admin 'up'

end

2.7  netdev_vte

该资源用来创建或删除隧道。

1. 资源属性

表2-7 netdev_vte资源属性描述表

列名

列描述

列类型

数据类型和限制

vte_id

隧道 ID

索引

数据类型为整型

mode

隧道模式

数据类型为整型,取值包括:

·          1:运行IPv4协议的GRE 隧道

·          2:运行IPv6协议的GRE 隧道

·          3:IPv4与IPv4之间的隧道

·          4:手动配置的IPv6到IPv4的隧道

·          5:IPv6到 IPv4的自动隧道

·          6:IPv6到IPv4 的6to4隧道

·          7:IPv6到IPv4的ISATAP隧道

·          8:用IPv6封装IPv6 或IPv4报文

·          9:基于UDP passenger协议和IPv4传输协议的DVPN隧道

·          10:基于GRE passenger协议和IPv4传输协议的DVPN隧道

·          11:基于UDP passenger协议和IPv6传输协议的DVPN隧道

·          12:基于GRE passenger协议和IPv6传输协议的DVPN隧道

·          13:CRLSP隧道

·          14:基于IPv4传输协议的组播GRE隧道

·          15:基于IPv6传输协议的组播GRE隧道

·          16:基于IPv4传输协议的IPsec隧道

·          17:基于IPv6传输协议的IPsec隧道

·          22:DS-Lite AFTR隧道

·          23:CRLSP自动隧道

·          24:基于UDP passenger协议和IPv4传输协议的VXLAN隧道

·          25:基于UDP passenger协议和IPv6传输协议的VXLAN隧道

创建隧道时必须指定隧道模式,且创建后不能再对该隧道模式进行修改

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·          create:表示创建隧道

·          delete:表示删除隧道

该属性的缺省值为create,配置Chef资源时,如果不指定action,则表示action取值为create

 

2. 脚本示例

创建ID为2、基于UDP passenger协议和IPv4传输协议的VXLAN隧道。

netdev_vte 'vte2' do

 vte_id 2

 mode 24

end

2.8  netdev_vxlan

该资源用来创建、修改或删除VXLAN。

1. 资源属性

表2-8 netdev_vxlan资源属性描述表

列名

列描述

列类型

数据类型和限制

vxlan_id

VXLAN ID

索引

数据类型为整型,取值范围为0~16777215

vsiname

VSI的名称

数据类型为字符串,取值为1~31个字符,区分大小写

创建VSI时必须指定该列,且该列在创建后不能修改

add_tunnels

VXLAN与隧道接口关联

数据类型为字符串

隧道接口的编号

一次可以配置多个隧道接口编号,各接口编号间使用逗号分隔。两个逗号之间可以是一个单独的接口编号,也可以是一个接口编号范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个接口编号范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个隧道接口的编号不能在add_tunnelsdelete_tunnels中同时指定

delete_tunnels

取消VXLAN与隧道接口关联

数据类型为字符串

隧道接口的编号

一次可以配置多个隧道接口编号,各接口编号间使用逗号分隔。两个逗号之间可以是一个单独的接口编号,也可以是一个接口编号范围。例如:1,2,3,5-8,10-20

使用连字符“-”分隔一个接口编号范围的开始和结束

字符串的结尾不能含有逗号,连字符“-”或空格

同一个隧道接口的编号不能在add_tunnelsdelete_tunnels中同时指定

action

下发该资源时所执行的动作

数据类型为符号,取值包括:

·          create:表示创建或修改VXLAN

·          delete:表示删除VXLAN

该属性的缺省值为create,配置Chef资源时,如果不指定action,则表示action取值为create

 

2. 脚本示例

创建ID为10的VXLAN,加入名为vsia的VSI,并将隧道接口2、4加入VXLAN,从VXLAN中删除1、3隧道接口。

netdev_vxlan 'vxlan10' do

 vxlan_id 10

 visname 'vsia'

 add_tunnels '2,4'

 delete_tunnels '1,3'

end

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们