第 10 章 自動化與可程式化

設定管理工具:Ansible、Puppet、Chef

三個工具的比較表,這一節幾乎就是純記憶題。

10 分鐘


項目**Ansible**PuppetChef
需要裝 Agent?不需要(agentless)需要需要
傳輸方式SSHTCP 8140TCP 10002
設定檔語言YAMLPuppet DSLRuby DSL
設定檔名稱PlaybookManifestRecipe / Cookbook
推或拉Push(推)Pull(拉)Pull(拉)
學習曲線最平緩較陡
一個 Ansible Playbook 長什麼樣(YAML)
---
- name: Configure VLANs on access switches
  hosts: access_switches
  gather_facts: no
  tasks:
    - name: Create VLAN 10
      ios_vlans:
        config:
          - vlan_id: 10
            name: SALES
        state: merged

網路設備的程式化介面

協定傳輸資料格式說明
NETCONFSSH (830)XMLIETF 標準,支援設定的驗證與回復
RESTCONFHTTPS (443)JSON 或 XML把 NETCONF 包成 REST 風格,比較好用
gNMI / gRPCHTTP/2Protobuf高效能,適合串流遙測

傳統網管 vs 控制器式網管

面向傳統(每台設備各自為政)控制器式(DNA Center 等)
設定來源各台設備的 running-config控制器上的單一政策
變更方式SSH 逐台修改定義意圖,控制器下發
一致性驗證人工比對控制器持續稽核
故障排查逐台查日誌集中式關聯分析
新設備上線手動設定Plug and Play 自動佈建

立即測驗這一節(3 題)