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 on vagrant_20160224

1,010 views

Published on

Contiv is an open source project, its add infrastructure policy for containerized applications.

Published in: Technology
  • Be the first to comment

Contiv on vagrant_20160224

  1. 1. Contiv on Vagrant/VirtualBox Takao Setaka @twtko Feb 24, 2016
  2. 2. What is Contiv? Infrastructure Policy for Containerized Applications • 2015年のDockerCon EuropeにてCiscoが発表したオープンソース プロジェクト Source Code - Github https://github.com/contiv Documents http://docs.contiv.io/
  3. 3. Today’s demo ContivのNetpluginを ACIを使わずに試してみる
  4. 4. Demo environment Linux (CentOS 7.2) VirtualBox 5.0Vagrant 1.8.1 netplugin-node1 (Ubuntu 15.04) netplugin-node2 (Ubuntu 15.04) Docker Engine 1.9.0 Contiv Netplugin Git Contiv Netmaster Docker Engine 1.9.0 Contiv Netplugin
  5. 5. Contiv Netplugin - Architecture
  6. 6. Contiv Netplugin – Object Model Netplugin Volplugin
  7. 7. Contiv Netplugin – Keywords キーワード 概要 Tenant マルチテナントを実現するための Object 構造におけるトップ階層。 テナント間では完全にネットワーク通信は分離される。 Network VRFに相当。 Endpoint Group (EPG) 同じポリシーを適用するエンドポイントの集合体。 Policy Endpoint Group間の通信に対して適用されるルールの集合体。 Rule 識別子(IPアドレス、ポート番号、接続ネットワーク、EPGなど)とアクション(許可 もしくは拒否)の組み合わせによって定義されるルール。
  8. 8. Contiv Netplugin – Deploy demo git clone https://github.com/contiv/netplugin cd netplugin make demo vagrant status vagrant ssh netplugin-node1 vagrant ssh netplugin-node2
  9. 9. Contiv Netplugin – Create Tenant netctl tenant create <Tenant Name> ex) netctl tenant create contiv-demo1 netctl tenant list
  10. 10. Contiv Netplugin – Create Tenant Tenant
  11. 11. Contiv Netplugin – Create Network netctl net create <Network Name> --tenant=xxxx --subnet=x.x.x.x/xx --gateway=x.x.x.254 --pkt-tag=xxxx ex) netctl net create contiv-net1 --tenant=contiv-demo1 --subnet=192.168.1.0/24 --gateway=192.168.1.254 --pkt-tag=1001 netctl net list --tenant=xxxx
  12. 12. Contiv Netplugin – Create Network Tenant - contiv-demo1 Network - net1 192.168.1.0/24 Network - net2 192.168.2.0/24
  13. 13. Contiv Netplugin – Create Policy netctl policy create --tenant=xxxx <Policy Name> ex) netctl policy create --tenant=contiv-demo1 web_policy netctl policy list --tenant=xxxx
  14. 14. Contiv Netplugin – Create Network Tenant - contiv-demo1 Network - net1 192.168.1.0/24 Network - net2 192.168.2.0/24 Policy - policy1
  15. 15. Contiv Netplugin – Create/Add Rule netctl policy rule-add <Options> <Policy Name> <Rule ID> ex) netctl policy rule-add --tenant=contiv-demo1 --priority=1 --protocol=icmp --action=allow web_policy 1 netctl policy rule-ls --tenant=xxxx <Policy Name>
  16. 16. Contiv Netplugin – Create/Add Rule Tenant - contiv-demo1 Network - net1 192.168.1.0/24 Network - net2 192.168.2.0/24 Policy - policy1 Rule.1 - tcp/80 allow Rule.2 - icmp allow
  17. 17. Contiv Netplugin – Create Group netctl group create <Options> <Network Name> <Group Name> ex) netctl group create --tenant=contiv-demo1 --policy=web_policy contiv-net1 group1 netctl group list --tenant=xxxx
  18. 18. Contiv Netplugin – Create/Add Rule Tenant - contiv-demo1 Network - net1 192.168.1.0/24 Network - net2 192.168.2.0/24 Policy - policy1 Rule.1 - tcp/80 in allow Rule.2 - icmp allow Group - Group1 Group - Group2
  19. 19. Contiv Netplugin – Docker network docker network ls
  20. 20. Contiv Netplugin – Docker run! docker run -itd --name=xx --hostname=xx --net=xx <image> <exec> ex) docker run -itd --name=web1 --hostname=web1 --net=group1.net1/contiv-demo1 Ubuntu /bin/bash
  21. 21. Contiv Netplugin – Create/Add Rule Tenant - contiv-demo1 Network - net1 192.168.1.0/24 Network - net2 192.168.2.0/24 Policy - policy1 Rule.1 - icmp deny Group - Group1 Group - Group2 vm1 vm2
  22. 22. Contiv Netplugin – Create/Add Rule Tenant - contiv-demo1 Network - net1 192.168.1.0/24 Network - net2 192.168.2.0/24 Policy - policy1 Rule.1 - icmp allow Group - Group1 Group - Group2 vm1 vm2

×