Arista EOS ZTP(Zero Touch Provisioning)の使い方

スポンサーリンク

Arista EOSでZTP(ゼロタッチプロビジョニング:Zero Touch Provisioning)による設定投入方法を説明します。Zero Touch Provisioningは自動化におけるBootstrap手法の1つで、起動時に初期設定を流し込む事ができます。

初期設定の流し込み

HTTPサーバの準備

流し込む初期設定をHTTPサーバにて公開します。CentOS 8.Xの場合ならば、以下のような操作でHTTPサーバを起動します。

dnf install httpd
systemctl enable httpd.service --now

初期設定となる設定ファイルを作成します。

cat << EOF > /var/www/html/startup-config
hostname arista02
username admin secret admin
vrf instance CONSOLE
interface Management1
   vrf CONSOLE
   ip address 192.168.1.42/24
ip routing vrf CONSOLE
ip route vrf CONSOLE 0.0.0.0/0 192.168.1.1
EOF

DHCPサーバの準備

DHCPサーバをインストールします。CentOS 8.Xの場合ならば、以下のような操作になります。

dnf install dhcp-server

DHCP optionのbootfile-nameの値で、初期設定となるファイルのURLを指定します。

cat << EOF > /etc/dhcp/dhcpd.conf 
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.225 192.168.1.229;
  option routers 192.168.1.1;
  option bootfile-name "http://192.168.1.13/startup-config";
}
EOF

DHCPサーバを起動します。

systemctl enable dhcpd.service --now

ゼロタッチプロビジョニングの動作確認

ゼロタッチプロビジョニングの動作確認を行います。ゼロタッチプロビジョニングをするには、初期設定状態のEOSを起動するか、flash:zerotouch-configの削除後に再起動するかのいずれかの操作が必要です。

arista01#dir
Directory of flash:/

       -rw-         462           Oct 20 14:06  AsuFastPktTransmit.log
       drwx        4096           Oct 20 14:04  Fossil
       -rw-         284           Oct 20 14:06  SsuRestore.log
       -rw-         284           Oct 20 14:06  SsuRestoreLegacy.log
       -rw-          24            Jun 8 20:14  boot-config
       drwx        4096           Oct 20 14:07  debug
       drwx        4096           Oct 20 14:04  fastpkttx.backup
       drwx       16384            Jun 8 20:14  lost+found
       drwx        4096           Oct 20 14:42  persist
       drwx        4096           Oct 20 14:12  schedule
       -rw-         200           Oct 20 14:05  startup-config
       -rw-   434665330            Jun 8 20:14  vEOS-lab.swi
       -rw-           0           Oct 20 14:06  zerotouch-config

4093313024 bytes total (3190247424 bytes free)
arista01#delete flash:zerotouch-config 
arista01#

ゼロタッチプロビジョニングが有効である状態で起動すると、DHCPによるIPアドレス取得を試みます。さらにDHCP optionのbootfile-nameで指定したファイルを取得できると、ZTP-6-DHCPv4_SUCCESSとのログが現れ、再起動の処理がかかります。

Arista ゼロタッチプロビジョニングの動作確認01

再起動後、想定通りの設定がされている事を確認します。

Arista ゼロタッチプロビジョニングの動作確認02

バージョン変更と初期設定の流し込み

ソフトウェアイメージの配備

Arista ソフトウェアイメージ(swi)のファイルをHTTPサーバ経由でダウンロード可能になるように配置します。

[root@sandbo013 ~]# ls -l /var/www/html/
合計 430900
-rw-r--r-- 1 root root       200 10月 20 23:37 startup-config
-rw-r--r-- 1 root root 441231146 10月 21 00:02 vEOS64-lab-4.24.2.3F.swi
-rw-r--r-- 1 root root       207 10月 21 00:06 ztp.script
[root@sandbo013 ~]# 

初期設定スクリプトの配備

バージョン変更およびstartup-configを配置する操作を行うスクリプトを作成します。

cat << EOF > /var/www/html/ztp.script
#!/usr/bin/Cli
copy http://192.168.1.13/vEOS64-lab-4.24.2.3F.swi flash:vEOS64-lab-4.24.2.3F.swi
copy http://192.168.1.13/startup-config flash:startup-config
config
boot system flash:vEOS64-lab-4.24.2.3F.swi
EOF

DHCPサーバの設定

前述のスクリプトをDHCP optionのbootfile-nameの値に指定します。

cat << EOF > /etc/dhcp/dhcpd.conf 
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.225 192.168.1.229;
  option routers 192.168.1.1;
  option bootfile-name "http://192.168.1.13/ztp.script";
}
EOF

ゼロタッチプロビジョニングの動作確認

ZTP-6-DHCPv4_SUCCESSとのログが現れ、再起動の処理がかかります。

Arista ゼロタッチプロビジョニングの動作確認03

起動時に確かにバージョンが変わった事を確認できます。

Arista ゼロタッチプロビジョニングの動作確認04

起動後、想定通りのバージョンであり、想定通りのconfigが流し込まれた事を確認します。

Arista ゼロタッチプロビジョニングの動作確認05

タイトルとURLをコピーしました