シスコシステムズ製品のpuppet 対応 - 吉原大輔、シスコシステムズ合同会社

19
シシシシシシシシシシシ Puppet シシシシ Daisuke Yoshihara [email protected] July 20, 2016 Cisco Nexus シシシシシ

Upload: puppet

Post on 06-Jan-2017

233 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

シスコシステムズ製品の Puppet サポート

Daisuke [email protected]

July 20, 2016

Cisco Nexus シリーズ編

Page 2: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

2© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Puppet モジュール

Q. Puppet モジュールはいくつある?

A. 2016/7/20 現在 4,305

内訳 Supported : 41 Approved : 82 その他: 4,182

Q. Puppet モジュールとは?

A. Puppet ではビルトインされた標準リソースの他にカスタムリソースを追加可能

モジュールを Puppet Master へインストールすることで使用できる

モジュールは Puppetforge からダウンロード可能

標準リソース

Page 3: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

3© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Puppet Supported モジュールダウンロードランキング

ベスト3

ダウンロード数

CiscoPuppet29 位 / 41 モジュール

Page 4: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

4© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

CiscoPuppet モジュールで Cisco Nexus シリーズの設定が可能に

Page 5: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

5© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Cisco Nexus シリーズ

Page 6: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

6© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

でも・・・どんな場合に使う?

Page 7: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

7© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

利用シーン1(変更前)

利用シーン1

開発環境から本番環境へサーバの所属するネットワークを移す

→ ToR スイッチの VLAN 変更が必要

ToR スイッチ

サーバ

サーバ

ToR スイッチ

サーバ

サーバ

EoR スイッチ

サーバ

サーバ

開発環境( VLAN99 )

本番環境( VLAN10 )

VLAN99

VLAN10,99

→ 変更手順をマニフェストにしておくことで作業ミスを減らす

ToR スイッチ 1 台の設定変更の例

EoR : End of RowToR : Top of Rack

Page 8: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

8© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

利用シーン1(変更後)

利用シーン1

開発環境から本番環境へサーバの所属するネットワークを移す

→ ToR スイッチの VLAN 変更が必要

ToR スイッチ

サーバ

サーバ

ToR スイッチ

サーバ

EoR スイッチ

EoR : End of RowToR : Top of Rack

サーバ

サーバ

開発環境( VLAN99 )

本番環境( VLAN10 )

VLAN10

VLAN10

サーバ

→ 変更手順をマニフェストにしておくことで作業ミスを減らす

ToR スイッチ 1 台の設定変更の例

Page 9: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

9© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

利用シーン2

利用シーン2

サービス好調に伴いサーバを全ラックへ追加する

→ 全 ToR スイッチに対して VLAN と no shut の設定変更が必要

ToR スイッチ

サーバ

サーバ

サーバ

ToR スイッチ

サーバ

サーバ

EoR スイッチ

サーバ

サーバ

開発環境( VLAN99 )

本番環境( VLAN10 )

no shutVLAN10

サーバ

no shutVLAN10 → マニフェスト作成により複数ス

イッチに対する設定変更作業を簡略化

複数スイッチ設定変更の例

EoR : End of RowToR : Top of Rack

Page 10: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

10© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

利用シーン3

利用シーン3

OS に脆弱性が見つかった。サーバ間の特定通信(例: LDAP )を止める

→ サーバ間通信経路にある全てのスイッチに対して ACL の設定変更が必要

ToR スイッチ

サーバ

サーバ

サーバ

ToR スイッチ

サーバ

サーバ

EoR スイッチ

サーバ

サーバ

開発環境( VLAN99 )

本番環境( VLAN10 )

no shutVLAN10

サーバ

ACL 追加:LDAP (tcp389)

を止める→ マニフェスト作成により複数スイッチに対する設定変更作業を簡略化。 ACL のロジックミスの可能性を減らす

EoR スイッチを含めた設定変更の例

EoR : End of RowToR : Top of Rack

Page 11: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

11© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

注)初回起動時の自動設定はできませんが、メーカ独自機能( PoAP* )との併用により実現可能です

起動後 NX-OS バージョンアップ・設定・ Puppet Agent インストールが自動的に完了

1. 電源投入:設定ファイルが無い場合は PoAP (起動時自動プロビジョニング)プロセスを開始

2. DHCP 検出フェーズ: DHCP サーバから IP アドレスと、スクリプトファイル名を取得

3. スクリプト実行フェーズ: TFTP または HTTP サーバからスクリプトファイルをダウンロードし、スクリプトを起動

4. 実行スクリプトがNX-OS イメージ、設定ファイル、Puppet RPM をダウンロード

https://github.com/datacenter/ignite

*Power on Auto Provisioning

Page 12: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

12© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Cisco Nexus シリーズの Puppet サポート状況

Page 13: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

13© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

機種によりサポートするリソースタイプが異なるので注意

リソースタイプ毎にバージョン要件が変わる点にも注意

Cisco Nexus シリーズの Puppet サポート状況

Page 14: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

14© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

ciscopuppet モジュールのリソースタイプ一覧

NX-OS のコマンドをそのままマニフェストへ記述可 ⇒ NX-OS がわかればどんな設定でもできる

Page 15: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

15© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Nexus シリーズの Puppet Agent 実装方法

LXC

カーネル (WRL5)

NXOS Root FS (WRL5)

NX

OS

VS

H

(CLI

)

NX

OS

S

ervi

ces

Cisco WRL5 Puppet Agent

Cisco Utilities

Cisco Resource &

Provider

CustomerIntent

ネイティブ NX-OS ベース( Bash )

コンテナベース( guestshell ・ Open Agent Container )

カーネル (WRL5)

NXOS Root FS (WRL5)

NX

OS

VS

H

(CLI

)

NX

OS

S

ervi

ces

Cisco Utilities

Cisco Resource &

Provider

CustomerIntent

Cisco CentOS Puppet Agent

Nexus 3000 / 9000 シリーズ Nexus 3000 / 9000 シリーズ・・・ GuestshellNexus 5500 / 5600 / 7000 シリーズ ・・・ Open Agent ContainerNexus5000 シリーズ・・・非サポート

Page 16: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

16© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

マニフェストの例

PuppetMaster

管理対象ホスト

マニフェスト

host

eth1/3

node 'n93120tx-03' {cisco_interface { 'ethernet1/3':

shutdown => false,

switchport_mode => access,

access_vlan => 10,

}}

Page 17: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

17© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

デモンストレーション

Page 18: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社

18© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

ご参考

http://qiita.com/dyoshiha/items/079d04e42a1e66e29d89

Page 19: シスコシステムズ製品のPuppet 対応 - 吉原大輔、シスコシステムズ合同会社