Upload
takao-setaka
View
864
Download
0
Embed Size (px)
Citation preview
What is Contiv?
Infrastructure Policy for Containerized Applications
• 2015年のDockerCon EuropeにてCiscoが発表したオープンソースプロジェクト
Source Code - Githubhttps://github.com/contiv
Documentshttp://docs.contiv.io/
Demo environment
Linux (CentOS 7.2)
VirtualBox 5.0Vagrant 1.8.1
netplugin-node1(Ubuntu 15.04)
netplugin-node2(Ubuntu 15.04)
Docker Engine1.9.0
ContivNetplugin
Git
ContivNetmaster
Docker Engine1.9.0
ContivNetplugin
Contiv Netplugin – Keywords
キーワード 概要
Tenant マルチテナントを実現するための Object 構造におけるトップ階層。テナント間では完全にネットワーク通信は分離される。
Network VRFに相当。
Endpoint Group (EPG) 同じポリシーを適用するエンドポイントの集合体。
Policy Endpoint Group間の通信に対して適用されるルールの集合体。
Rule 識別子(IPアドレス、ポート番号、接続ネットワーク、EPGなど)とアクション(許可もしくは拒否)の組み合わせによって定義されるルール。
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
Contiv Netplugin – Create Tenant
netctl tenant create <Tenant Name>
ex)
netctl tenant create contiv-demo1
netctl tenant list
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
Contiv Netplugin – Create Network
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2192.168.2.0/24
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
Contiv Netplugin – Create Network
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2192.168.2.0/24
Policy - policy1
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>
Contiv Netplugin – Create/Add Rule
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2192.168.2.0/24
Policy - policy1
Rule.1 - tcp/80 allow Rule.2 - icmp allow
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
Contiv Netplugin – Create/Add Rule
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2192.168.2.0/24
Policy - policy1
Rule.1 - tcp/80 in allow Rule.2 - icmp allow
Group - Group1 Group - Group2
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
Contiv Netplugin – Create/Add Rule
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2192.168.2.0/24
Policy - policy1
Rule.1 - icmp deny
Group - Group1 Group - Group2
vm1 vm2
Contiv Netplugin – Create/Add Rule
Tenant - contiv-demo1
Network - net1 192.168.1.0/24 Network - net2192.168.2.0/24
Policy - policy1
Rule.1 - icmp allow
Group - Group1 Group - Group2
vm1 vm2