{"action":"created","comment":{"url":"https://api.github.com/repos/dcos/dcos-docs/pulls/comments/70106305","id":70106305,"diff_hunk":"@@ -0,0 +1,30 @@\n+---\n+layout: page\n+post_title: Virtual Networks\n+menu_order: 11.5 \n+---\n+\n+DC/OS allows you to create, manage, and use virtual networks, supporting IP-per-container with isolation guarantees amongst subnets. Virtual networks allow both Mesos and Docker containers to communicate from within a single node and between nodes on a cluster, and for services to be created so that their traffic is isolated from other traffic coming from any other virtual networks or hosts in the cluster.\n+\n+Additionally, virtual networks enable you to provide each container in the system with a unique IP address (“IP-per-container”). This removes the need to worry about potentially overlapping ports in applications, or the need to use nonstandard ports for services  to avoid overlapping. IP-per-container functionality also allows you to generate any number of instances of a class of tasks and have them all listen on the same port so that clients don’t have to do port discovery.\n+\n+The virtual network enables you to run applications that require intra-cluster connectivity, like Cassandra, HDFS, and Riak. Your application can treat the various containers on your network like an end host, making it easier to enforce network isolation. This way, you can run multiple instances of DC/OS services without needing to manage ports. You can also create multiple virtual networks to isolate different portions of your organization, for instance, development, marketing, and production.\n+\n+[Learn how to use virtual networks in your applications](/docs/1.8/usage/virtual-networks/).\n+\n+# Overview\n+\n+The overall approach to virtual networks in DC/OS looks as follows:\n+\n+![Overview of the DC/OS Virtual Networks architecture](/1.8/administration/virtual-networks/img/virtual-networks.png) \n+\n+DC/OS virtual networks do not require an external IP address management (IPAM) solution (and indeed at the current point in time do not support external IPAMs), since the global state (IP allocation) is handled via the Mesos Master replicated log. The interaction between the components looks like this:\n+\n+- Both the Mesos master and the Mesos agents run DC/OS overlay modules that communicate directly.\n+\n+- For the Mesos containerizer, the CNI isolator is used, whereas for the Docker containerizer [DNI](https://docs.docker.com/engine/userguide/networking/dockernetworks/) is leveraged, shelling out to the Docker daemon.\n+\n+- For intra-node IP discovery we use an overlay orchestrator called navstar. This operator-facing system component is responsible for programming the overlay backend using a library called lashup that implements a gossip protocol to disseminate and coordinate overlay routing information amongst all Mesos agents in the DC/OS cluster.\n+\n+**Note:** To use virtual networks in DC/OS you must use a recent Linux kernel (3.9 or above) as well as Docker in version 1.11 on the agent nodes.","path":"1.8/administration/virtual-networks/index.md","position":29,"original_position":29,"commit_id":"461b43207cfdb370793cdd16c325b6561126632a","original_commit_id":"461b43207cfdb370793cdd16c325b6561126632a","user":{"login":"jdef","id":2348332,"avatar_url":"https://avatars.githubusercontent.com/u/2348332?v=3","gravatar_id":"","url":"https://api.github.com/users/jdef","html_url":"https://github.com/jdef","followers_url":"https://api.github.com/users/jdef/followers","following_url":"https://api.github.com/users/jdef/following{/other_user}","gists_url":"https://api.github.com/users/jdef/gists{/gist_id}","starred_url":"https://api.github.com/users/jdef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdef/subscriptions","organizations_url":"https://api.github.com/users/jdef/orgs","repos_url":"https://api.github.com/users/jdef/repos","events_url":"https://api.github.com/users/jdef/events{/privacy}","received_events_url":"https://api.github.com/users/jdef/received_events","type":"User","site_admin":false},"body":"also, docker 1.11 is the minimum version right? i'm assuming that we're aiming to be compatible with versions after that?","created_at":"2016-07-08T17:00:44Z","updated_at":"2016-07-08T17:00:44Z","html_url":"https://github.com/dcos/dcos-docs/pull/425#discussion_r70106305","pull_request_url":"https://api.github.com/repos/dcos/dcos-docs/pulls/425","_links":{"self":{"href":"https://api.github.com/repos/dcos/dcos-docs/pulls/comments/70106305"},"html":{"href":"https://github.com/dcos/dcos-docs/pull/425#discussion_r70106305"},"pull_request":{"href":"https://api.github.com/repos/dcos/dcos-docs/pulls/425"}}},"pull_request":{"url":"https://api.github.com/repos/dcos/dcos-docs/pulls/425","id":76508866,"html_url":"https://github.com/dcos/dcos-docs/pull/425","diff_url":"https://github.com/dcos/dcos-docs/pull/425.diff","patch_url":"https://github.com/dcos/dcos-docs/pull/425.patch","issue_url":"https://api.github.com/repos/dcos/dcos-docs/issues/425","number":425,"state":"open","locked":false,"title":"Added docs for virtual networks","user":{"login":"sascala","id":13338969,"avatar_url":"https://avatars.githubusercontent.com/u/13338969?v=3","gravatar_id":"","url":"https://api.github.com/users/sascala","html_url":"https://github.com/sascala","followers_url":"https://api.github.com/users/sascala/followers","following_url":"https://api.github.com/users/sascala/following{/other_user}","gists_url":"https://api.github.com/users/sascala/gists{/gist_id}","starred_url":"https://api.github.com/users/sascala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sascala/subscriptions","organizations_url":"https://api.github.com/users/sascala/orgs","repos_url":"https://api.github.com/users/sascala/repos","events_url":"https://api.github.com/users/sascala/events{/privacy}","received_events_url":"https://api.github.com/users/sascala/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-07-06T21:56:40Z","updated_at":"2016-07-08T17:00:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"35b5f5d1f76fbe1a250249c7750ca0a302ab4aed","assignee":{"login":"jdef","id":2348332,"avatar_url":"https://avatars.githubusercontent.com/u/2348332?v=3","gravatar_id":"","url":"https://api.github.com/users/jdef","html_url":"https://github.com/jdef","followers_url":"https://api.github.com/users/jdef/followers","following_url":"https://api.github.com/users/jdef/following{/other_user}","gists_url":"https://api.github.com/users/jdef/gists{/gist_id}","starred_url":"https://api.github.com/users/jdef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdef/subscriptions","organizations_url":"https://api.github.com/users/jdef/orgs","repos_url":"https://api.github.com/users/jdef/repos","events_url":"https://api.github.com/users/jdef/events{/privacy}","received_events_url":"https://api.github.com/users/jdef/received_events","type":"User","site_admin":false},"assignees":[{"login":"jdef","id":2348332,"avatar_url":"https://avatars.githubusercontent.com/u/2348332?v=3","gravatar_id":"","url":"https://api.github.com/users/jdef","html_url":"https://github.com/jdef","followers_url":"https://api.github.com/users/jdef/followers","following_url":"https://api.github.com/users/jdef/following{/other_user}","gists_url":"https://api.github.com/users/jdef/gists{/gist_id}","starred_url":"https://api.github.com/users/jdef/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdef/subscriptions","organizations_url":"https://api.github.com/users/jdef/orgs","repos_url":"https://api.github.com/users/jdef/repos","events_url":"https://api.github.com/users/jdef/events{/privacy}","received_events_url":"https://api.github.com/users/jdef/received_events","type":"User","site_admin":false},{"login":"asridharan","id":3128730,"avatar_url":"https://avatars.githubusercontent.com/u/3128730?v=3","gravatar_id":"","url":"https://api.github.com/users/asridharan","html_url":"https://github.com/asridharan","followers_url":"https://api.github.com/users/asridharan/followers","following_url":"https://api.github.com/users/asridharan/following{/other_user}","gists_url":"https://api.github.com/users/asridharan/gists{/gist_id}","starred_url":"https://api.github.com/users/asridharan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asridharan/subscriptions","organizations_url":"https://api.github.com/users/asridharan/orgs","repos_url":"https://api.github.com/users/asridharan/repos","events_url":"https://api.github.com/users/asridharan/events{/privacy}","received_events_url":"https://api.github.com/users/asridharan/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/dcos/dcos-docs/pulls/425/commits","review_comments_url":"https://api.github.com/repos/dcos/dcos-docs/pulls/425/comments","review_comment_url":"https://api.github.com/repos/dcos/dcos-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dcos/dcos-docs/issues/425/comments","statuses_url":"https://api.github.com/repos/dcos/dcos-docs/statuses/461b43207cfdb370793cdd16c325b6561126632a","head":{"label":"dcos:ss/virtual-networks","ref":"ss/virtual-networks","sha":"461b43207cfdb370793cdd16c325b6561126632a","user":{"login":"dcos","id":17648048,"avatar_url":"https://avatars.githubusercontent.com/u/17648048?v=3","gravatar_id":"","url":"https://api.github.com/users/dcos","html_url":"https://github.com/dcos","followers_url":"https://api.github.com/users/dcos/followers","following_url":"https://api.github.com/users/dcos/following{/other_user}","gists_url":"https://api.github.com/users/dcos/gists{/gist_id}","starred_url":"https://api.github.com/users/dcos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcos/subscriptions","organizations_url":"https://api.github.com/users/dcos/orgs","repos_url":"https://api.github.com/users/dcos/repos","events_url":"https://api.github.com/users/dcos/events{/privacy}","received_events_url":"https://api.github.com/users/dcos/received_events","type":"Organization","site_admin":false},"repo":{"id":53887483,"name":"dcos-docs","full_name":"dcos/dcos-docs","owner":{"login":"dcos","id":17648048,"avatar_url":"https://avatars.githubusercontent.com/u/17648048?v=3","gravatar_id":"","url":"https://api.github.com/users/dcos","html_url":"https://github.com/dcos","followers_url":"https://api.github.com/users/dcos/followers","following_url":"https://api.github.com/users/dcos/following{/other_user}","gists_url":"https://api.github.com/users/dcos/gists{/gist_id}","starred_url":"https://api.github.com/users/dcos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcos/subscriptions","organizations_url":"https://api.github.com/users/dcos/orgs","repos_url":"https://api.github.com/users/dcos/repos","events_url":"https://api.github.com/users/dcos/events{/privacy}","received_events_url":"https://api.github.com/users/dcos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dcos/dcos-docs","description":"Documentation for Datacenter Operating System (DC/OS)","fork":false,"url":"https://api.github.com/repos/dcos/dcos-docs","forks_url":"https://api.github.com/repos/dcos/dcos-docs/forks","keys_url":"https://api.github.com/repos/dcos/dcos-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dcos/dcos-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dcos/dcos-docs/teams","hooks_url":"https://api.github.com/repos/dcos/dcos-docs/hooks","issue_events_url":"https://api.github.com/repos/dcos/dcos-docs/issues/events{/number}","events_url":"https://api.github.com/repos/dcos/dcos-docs/events","assignees_url":"https://api.github.com/repos/dcos/dcos-docs/assignees{/user}","branches_url":"https://api.github.com/repos/dcos/dcos-docs/branches{/branch}","tags_url":"https://api.github.com/repos/dcos/dcos-docs/tags","blobs_url":"https://api.github.com/repos/dcos/dcos-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dcos/dcos-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dcos/dcos-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/dcos/dcos-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dcos/dcos-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/dcos/dcos-docs/languages","stargazers_url":"https://api.github.com/repos/dcos/dcos-docs/stargazers","contributors_url":"https://api.github.com/repos/dcos/dcos-docs/contributors","subscribers_url":"https://api.github.com/repos/dcos/dcos-docs/subscribers","subscription_url":"https://api.github.com/repos/dcos/dcos-docs/subscription","commits_url":"https://api.github.com/repos/dcos/dcos-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/dcos/dcos-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/dcos/dcos-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/dcos/dcos-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/dcos/dcos-docs/contents/{+path}","compare_url":"https://api.github.com/repos/dcos/dcos-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dcos/dcos-docs/merges","archive_url":"https://api.github.com/repos/dcos/dcos-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dcos/dcos-docs/downloads","issues_url":"https://api.github.com/repos/dcos/dcos-docs/issues{/number}","pulls_url":"https://api.github.com/repos/dcos/dcos-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/dcos/dcos-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/dcos/dcos-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dcos/dcos-docs/labels{/name}","releases_url":"https://api.github.com/repos/dcos/dcos-docs/releases{/id}","deployments_url":"https://api.github.com/repos/dcos/dcos-docs/deployments","created_at":"2016-03-14T19:58:33Z","updated_at":"2016-06-09T18:01:29Z","pushed_at":"2016-07-08T15:48:39Z","git_url":"git://github.com/dcos/dcos-docs.git","ssh_url":"git@github.com:dcos/dcos-docs.git","clone_url":"https://github.com/dcos/dcos-docs.git","svn_url":"https://github.com/dcos/dcos-docs","homepage":"http://dcos.io","size":29100,"stargazers_count":57,"watchers_count":57,"language":"Shell","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":38,"mirror_url":null,"open_issues_count":13,"forks":38,"open_issues":13,"watchers":57,"default_branch":"master"}},"base":{"label":"dcos:master","ref":"master","sha":"b1c2254d60b1794c0e6606c7705b0597b6e3122b","user":{"login":"dcos","id":17648048,"avatar_url":"https://avatars.githubusercontent.com/u/17648048?v=3","gravatar_id":"","url":"https://api.github.com/users/dcos","html_url":"https://github.com/dcos","followers_url":"https://api.github.com/users/dcos/followers","following_url":"https://api.github.com/users/dcos/following{/other_user}","gists_url":"https://api.github.com/users/dcos/gists{/gist_id}","starred_url":"https://api.github.com/users/dcos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcos/subscriptions","organizations_url":"https://api.github.com/users/dcos/orgs","repos_url":"https://api.github.com/users/dcos/repos","events_url":"https://api.github.com/users/dcos/events{/privacy}","received_events_url":"https://api.github.com/users/dcos/received_events","type":"Organization","site_admin":false},"repo":{"id":53887483,"name":"dcos-docs","full_name":"dcos/dcos-docs","owner":{"login":"dcos","id":17648048,"avatar_url":"https://avatars.githubusercontent.com/u/17648048?v=3","gravatar_id":"","url":"https://api.github.com/users/dcos","html_url":"https://github.com/dcos","followers_url":"https://api.github.com/users/dcos/followers","following_url":"https://api.github.com/users/dcos/following{/other_user}","gists_url":"https://api.github.com/users/dcos/gists{/gist_id}","starred_url":"https://api.github.com/users/dcos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcos/subscriptions","organizations_url":"https://api.github.com/users/dcos/orgs","repos_url":"https://api.github.com/users/dcos/repos","events_url":"https://api.github.com/users/dcos/events{/privacy}","received_events_url":"https://api.github.com/users/dcos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dcos/dcos-docs","description":"Documentation for Datacenter Operating System (DC/OS)","fork":false,"url":"https://api.github.com/repos/dcos/dcos-docs","forks_url":"https://api.github.com/repos/dcos/dcos-docs/forks","keys_url":"https://api.github.com/repos/dcos/dcos-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dcos/dcos-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dcos/dcos-docs/teams","hooks_url":"https://api.github.com/repos/dcos/dcos-docs/hooks","issue_events_url":"https://api.github.com/repos/dcos/dcos-docs/issues/events{/number}","events_url":"https://api.github.com/repos/dcos/dcos-docs/events","assignees_url":"https://api.github.com/repos/dcos/dcos-docs/assignees{/user}","branches_url":"https://api.github.com/repos/dcos/dcos-docs/branches{/branch}","tags_url":"https://api.github.com/repos/dcos/dcos-docs/tags","blobs_url":"https://api.github.com/repos/dcos/dcos-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dcos/dcos-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dcos/dcos-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/dcos/dcos-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dcos/dcos-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/dcos/dcos-docs/languages","stargazers_url":"https://api.github.com/repos/dcos/dcos-docs/stargazers","contributors_url":"https://api.github.com/repos/dcos/dcos-docs/contributors","subscribers_url":"https://api.github.com/repos/dcos/dcos-docs/subscribers","subscription_url":"https://api.github.com/repos/dcos/dcos-docs/subscription","commits_url":"https://api.github.com/repos/dcos/dcos-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/dcos/dcos-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/dcos/dcos-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/dcos/dcos-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/dcos/dcos-docs/contents/{+path}","compare_url":"https://api.github.com/repos/dcos/dcos-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dcos/dcos-docs/merges","archive_url":"https://api.github.com/repos/dcos/dcos-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dcos/dcos-docs/downloads","issues_url":"https://api.github.com/repos/dcos/dcos-docs/issues{/number}","pulls_url":"https://api.github.com/repos/dcos/dcos-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/dcos/dcos-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/dcos/dcos-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dcos/dcos-docs/labels{/name}","releases_url":"https://api.github.com/repos/dcos/dcos-docs/releases{/id}","deployments_url":"https://api.github.com/repos/dcos/dcos-docs/deployments","created_at":"2016-03-14T19:58:33Z","updated_at":"2016-06-09T18:01:29Z","pushed_at":"2016-07-08T15:48:39Z","git_url":"git://github.com/dcos/dcos-docs.git","ssh_url":"git@github.com:dcos/dcos-docs.git","clone_url":"https://github.com/dcos/dcos-docs.git","svn_url":"https://github.com/dcos/dcos-docs","homepage":"http://dcos.io","size":29100,"stargazers_count":57,"watchers_count":57,"language":"Shell","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":38,"mirror_url":null,"open_issues_count":13,"forks":38,"open_issues":13,"watchers":57,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dcos/dcos-docs/pulls/425"},"html":{"href":"https://github.com/dcos/dcos-docs/pull/425"},"issue":{"href":"https://api.github.com/repos/dcos/dcos-docs/issues/425"},"comments":{"href":"https://api.github.com/repos/dcos/dcos-docs/issues/425/comments"},"review_comments":{"href":"https://api.github.com/repos/dcos/dcos-docs/pulls/425/comments"},"review_comment":{"href":"https://api.github.com/repos/dcos/dcos-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dcos/dcos-docs/pulls/425/commits"},"statuses":{"href":"https://api.github.com/repos/dcos/dcos-docs/statuses/461b43207cfdb370793cdd16c325b6561126632a"}}}}
{"actor":{"display_login":"jdef"}}