Contiv on Vagrant/VirtualBox
Takao Setaka
@twtko
Feb 24, 2016
What is Contiv?
Infrastructure Policy for Containerized Applications
• 2015年のDockerCon EuropeにてCiscoが発表したオープンソース
プロジェクト
So...
Today’s demo
ContivのNetpluginを
ACIを使わずに試してみる
Demo environment
Linux (CentOS 7.2)
VirtualBox 5.0Vagrant 1.8.1
netplugin-node1
(Ubuntu 15.04)
netplugin-node2
(Ubuntu 15....
Contiv Netplugin - Architecture
Contiv Netplugin – Object Model
Netplugin
Volplugin
Contiv Netplugin – Keywords
キーワード 概要
Tenant マルチテナントを実現するための Object 構造におけるトップ階層。
テナント間では完全にネットワーク通信は分離される。
Network VRFに相当。
...
Contiv Netplugin – Deploy demo
git clone https://github.com/contiv/netplugin
cd netplugin
make demo
vagrant status
vagrant...
Contiv Netplugin – Create Tenant
netctl tenant create <Tenant Name>
ex)
netctl tenant create contiv-demo1
netctl tenant li...
Contiv Netplugin – Create Tenant
Tenant
Contiv Netplugin – Create Network
netctl net create <Network Name> --tenant=xxxx
--subnet=x.x.x.x/xx --gateway=x.x.x.254
-...
Contiv Netplugin – Create Network
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2
192.168.2.0/24
Contiv Netplugin – Create Policy
netctl policy create --tenant=xxxx <Policy Name>
ex)
netctl policy create --tenant=contiv...
Contiv Netplugin – Create Network
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2
192.168.2.0/24
Policy...
Contiv Netplugin – Create/Add Rule
netctl policy rule-add <Options> <Policy Name> <Rule ID>
ex)
netctl policy rule-add --t...
Contiv Netplugin – Create/Add Rule
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2
192.168.2.0/24
Polic...
Contiv Netplugin – Create Group
netctl group create <Options> <Network Name> <Group Name>
ex)
netctl group create --tenant...
Contiv Netplugin – Create/Add Rule
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2
192.168.2.0/24
Polic...
Contiv Netplugin – Docker network
docker network ls
Contiv Netplugin – Docker run!
docker run -itd --name=xx --hostname=xx --net=xx <image>
<exec>
ex)
docker run -itd --name=...
Contiv Netplugin – Create/Add Rule
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2
192.168.2.0/24
Polic...
Contiv Netplugin – Create/Add Rule
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2
192.168.2.0/24
Polic...
Contiv on vagrant_20160224
Upcoming SlideShare
Loading in …5
×

Contiv on vagrant_20160224

805 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
805
On SlideShare
0
From Embeds
0
Number of Embeds
106
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

×