Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Contiv 20160914

963 views

Published on

Introduction about Contiv especially netplugin feature that can add "Policy" on container networking.

Published in: Technology
  • Be the first to comment

Contiv 20160914

  1. 1. Contiv ⇒ Takao Setaka @twtko Sep 14, 2016
  2. 2. What is Contiv? コンテナで構成されたアプリケーションリソースをポリシー管理する取り組み • 2015年のDockerCon EuropeにてCiscoが発表したオープンソース プロジェクト Source Code - Github https://github.com/contiv Documents http://contiv.io/ Twitter @projectcontiv Slack https://contiv-slack.herokuapp.com/
  3. 3. What is Contiv? ネットワーク、ストレージ、クラスタ連携 ■オープンソース • ネットワークの抽象化:論理ネットワーク、ACI連携 • ストレージの抽象化:コンテナに対する永続的ストレージの提供(Ceph/NFS) • クラスタ連携:Docker Compose, Kubernetes, Mesos, Nomad ■シスコ提供 • Contiv Manager:管理UI(GUI,CLI,REST/API)
  4. 4. What is Contiv Networking(netplugin)? • ポリシーモデル • マルチテナント (隔離とIP/サブネットの重複) • IPAMなどとの連携 • 様々な物理トポロジ (L2/VLAN, L3/BGP, Overlay/VXLAN, ACI) • IPv4/v6対応 • SLB機能 などなど・・・
  5. 5. Contivを一番簡単に試してみる方法 Vagrant on Linux/MacOS X環境に簡単に構成できます。 • VirtualBox 5.0.2以降 • Vagrant 1.7.4以降 • Make ⇒ Docker Swarm構成でContivが動作する3ノード構成が作られます。 (Kubernetes, Mesos & Marathon, Nomad構成も試せます) git clone https://github.com/contiv/netplugin cd netplugin; make demo
  6. 6. ContivとACIを連携させる方法 ACIとの接続点となる機能はContivからは切り離されてコンテナとして Docker Hubで提供されています(contiv/aci-gw)。 /usr/bin/docker run --net=host ¥ -e "APIC_URL=https://10.10.10.10" ¥ -e "APIC_USERNAME=admin" ¥ -e "APIC_LEAF_NODE=topology/pod-1/node-101,topology/pod-1/node-102" ¥ -e "APIC_PHYS_DOMAIN=contivPhysDom" ¥ -e "APIC_CERT_DN=uni/userext/user-admin/usercert-admin" ¥ -v /shared/keys:/aciconfig ¥ --name=contiv-aci-gw ¥ -t contiv/aci-gw
  7. 7. ContivとACIを連携させる方法 物理サーバなどを使ってDocker Swarm環境の構成については、 Ansibleを使って一連の必要構成を行うスクリプトが提供されています。 必要な事前準備や詳細手順については以下を参照ください http://contiv.github.io/documents/gettingStarted/networking/install-swarm.html wget https://raw.githubusercontent.com/contiv/demo/master/net/net_demo_installer
  8. 8. Contiv Netplugin - Architecture
  9. 9. Today’s demo ContivとACIの連携デモを... お見せしたかったのですが...
  10. 10. Docker Nodes DockerとACIの連携構成 物理ドメインとして連携 (VLAN) 各ノードではOVSを使用
  11. 11. Contiv Netplugin – ネットワークリソース割当 netctl global set --fabric-mode aci --vlan-range 400-500 VLANを識別子とした物理ドメイン連携を構成する (ACI側で事前に構成した物理ドメインとVLANプールに合わせて指定する)
  12. 12. Contiv Netplugin – テナント作成 netctl tenant create DockerDemo1 テナントを作成する (ACI側で同じ名前のテナントがすでにある場合は、その配下に以降の構成が 行われる)
  13. 13. Contiv Netplugin – 外部コントラクト作成 netctl external-contracts create -t DockerDemo1 -c -a "uni/tn-MixedTenant/brc-allowicmp" ToConsume netctl external-contracts create -t DockerDemo1 -p -a "uni/tn-MixedTenant/brc-allowicmp" -a "uni/tn- MixedTenant/brc-allowtcp8080" ToProvide テナントにコントラクトを作成する (-cはconsume, -pはprovide方向のコントラクトとなる) コントラクトはグループ化して管理することが可能 netctl group create -t DockerDemo1 -e ToConsume net1 QueryApp
  14. 14. Contiv Netplugin – ネットワーク作成 netctl net create -t DockerDemo1 -e vlan -s 192.168.1.0/24 -g 192.168.1.254 net1 テナントにネットワークを作成する (ACI連携の場合はEncapとしてVLANを使用する) 既存Bridge Domainを使用する場合には、コンテナに割り当てる IP範囲を指定することも可能 netctl net create -t DockerDemo1 -e vlan -s 192.168.1.50- 99/24 -g 192.168.1.254 net1
  15. 15. Contiv Netplugin – ポリシー作成 netctl policy create -t DockerDemo1 app2db ルールを束ねるためのポリシーを作成する (EPGにはポリシーと外部コントラクトを紐付ける)
  16. 16. Contiv Netplugin – ルール作成 netctl policy rule-add -t DockerDemo1 -d in --protocol tcp --port 1234 --from-group app --action allow app2db 1 ルールをポリシーに加える
  17. 17. Contiv Netplugin – EPG作成 netctl group create -t DockerDemo1 -p app2db net1 db netctl group create -t DockerDemo1 -e ToConsume -e ToProvide -p app2db net1 app Endpoint Group (EPG)を作成し、ポリシーと外部コントラクト、ネッ トワークを結びつける
  18. 18. Contiv Netplugin – Application Profile作成 netctl app-profile create -t DockerDemo1 -g app,db ANP- for-Docker テナント内にグループを指定してApplication Profileを作成する

×