{"action":"created","comment":{"url":"https://api.github.com/repos/contiv/netplugin/pulls/comments/90156155","pull_request_review_id":10679482,"id":90156155,"diff_hunk":"@@ -0,0 +1,49 @@\n+# Kubernetes Setup for Contiv\n+\n+This document details the setup instructions for Kubernetes version 1.4 and higher\n+\n+### Setup Kubernetes Cluster\n+Install kubernetes 1.4 or higher using http://kubernetes.io/docs/getting-started-guides/kubeadm/\n+\n+(OR) Alternatively do the following:\n+* On all nodes run \n+\n+```sh\n+./cluster/bootstrap_centos.sh\n+```\n+\n+* On the master node, run \n+\n+```sh\n+./cluster/k8smaster_centos.sh <token> <master management IP>\n+```\n+For example, k8smaster_centos.sh \"d900e1.8a392798f13b33a4\" 192.168.2.10, will start a cluster with kubernetes API server on 192.168.2.10. The token is a 6.16 string which can be generated as shown below:\n+```sh\n+python -c 'import random; print \"%0x.%0x\" % (random.SystemRandom().getrandbits(3*8), random.SystemRandom().getrandbits(8*8))' \n+\n+```\n+        \n+* On all the minions run \n+\n+```sh\n+./cluster/k8sworker_centos.sh <token> <master management IP>\n+```\n+### Install Contiv\n+\n+* Replace all instances of 192.168.2.10 in contiv/contiv.yaml with the master IP\n+* On the management node, run\n+```sh\n+kubectl apply -f contiv.yaml","path":"install/k8s/README.md","position":36,"original_position":36,"commit_id":"58325cbb2f70dd2828615feeb1eea0cc0d14c666","original_commit_id":"8d139afe05225231a56f93e3b152a5b4c8831e8e","user":{"login":"neelimamukiri","id":15221658,"avatar_url":"https://avatars.githubusercontent.com/u/15221658?v=3","gravatar_id":"","url":"https://api.github.com/users/neelimamukiri","html_url":"https://github.com/neelimamukiri","followers_url":"https://api.github.com/users/neelimamukiri/followers","following_url":"https://api.github.com/users/neelimamukiri/following{/other_user}","gists_url":"https://api.github.com/users/neelimamukiri/gists{/gist_id}","starred_url":"https://api.github.com/users/neelimamukiri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neelimamukiri/subscriptions","organizations_url":"https://api.github.com/users/neelimamukiri/orgs","repos_url":"https://api.github.com/users/neelimamukiri/repos","events_url":"https://api.github.com/users/neelimamukiri/events{/privacy}","received_events_url":"https://api.github.com/users/neelimamukiri/received_events","type":"User","site_admin":false},"body":"I've added a Developer Guide section to address this.","created_at":"2016-11-30T01:59:18Z","updated_at":"2016-11-30T01:59:18Z","html_url":"https://github.com/contiv/netplugin/pull/641#discussion_r90156155","pull_request_url":"https://api.github.com/repos/contiv/netplugin/pulls/641","_links":{"self":{"href":"https://api.github.com/repos/contiv/netplugin/pulls/comments/90156155"},"html":{"href":"https://github.com/contiv/netplugin/pull/641#discussion_r90156155"},"pull_request":{"href":"https://api.github.com/repos/contiv/netplugin/pulls/641"}}},"pull_request":{"url":"https://api.github.com/repos/contiv/netplugin/pulls/641","id":95791436,"html_url":"https://github.com/contiv/netplugin/pull/641","diff_url":"https://github.com/contiv/netplugin/pull/641.diff","patch_url":"https://github.com/contiv/netplugin/pull/641.patch","issue_url":"https://api.github.com/repos/contiv/netplugin/issues/641","number":641,"state":"open","locked":false,"title":"Adding kubeadm install mechanism for Contiv","user":{"login":"neelimamukiri","id":15221658,"avatar_url":"https://avatars.githubusercontent.com/u/15221658?v=3","gravatar_id":"","url":"https://api.github.com/users/neelimamukiri","html_url":"https://github.com/neelimamukiri","followers_url":"https://api.github.com/users/neelimamukiri/followers","following_url":"https://api.github.com/users/neelimamukiri/following{/other_user}","gists_url":"https://api.github.com/users/neelimamukiri/gists{/gist_id}","starred_url":"https://api.github.com/users/neelimamukiri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neelimamukiri/subscriptions","organizations_url":"https://api.github.com/users/neelimamukiri/orgs","repos_url":"https://api.github.com/users/neelimamukiri/repos","events_url":"https://api.github.com/users/neelimamukiri/events{/privacy}","received_events_url":"https://api.github.com/users/neelimamukiri/received_events","type":"User","site_admin":false},"body":"Adding installation scripts & instructions for setting up k8s cluster for version\r\n1.4+ (install/k8s/cluster) and Contiv (install/k8s/contiv).\r\n\r\nHow kubectl apply -f contiv.yaml works:\r\nIt creates a daemonset(contiv-etcd) for etcd for netmaster/netplugin.\r\nIt creates a replicaset (contiv-netmaster) to run netmaster server.\r\nBoth of these are created on the managment kubernetes master node using\r\na nodeSelector kubeadm.alpha.kubernetes.io/role: master.\r\nIt also creates a daemonset (contiv-netplugin) which is run on all nodes\r\nof the k8s cluster. The contiv-netplugin container starts contivNet.sh\r\nwhich installs the CNI plugin and then runs netplugin.\r\ncontivNet.sh has been updated to take VLAN_IF, VTEP_IP and CONTIV_ETCD\r\nfrom env if present.\r\nIt also copies the CNI binariy - contivk8s, to\r\n/opt/cni/bin/ and copies the contiv.json config file to\r\n/etc/cni/net.d/1-contiv.conf. This step is the actual\r\ninstallation/registration of the k8s contiv plugin with kubernetes.\r\ncontivNet.sh also starts openvswitch on the host.\r\n\r\nUpdated vagrant install for k8s to use kubeadm/kubectl based\r\ninstallation for k8s version 1.4 and\r\nabove. So make k8s-cluster now used this mechanism for the default\r\ninstallation.\r\n\r\nAdditional changes:\r\nFixed an issue with container build (docker tag was using Contiv and\r\ndocker API in recent docker versions insists on lower case image names.)\r\n\r\nUpdated CNI plugin to take the default token if client certs are not\r\nprovided.","created_at":"2016-11-29T22:42:02Z","updated_at":"2016-11-30T01:59:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6f4388782675cc63a35fc7b790078f80b5f5ba49","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/contiv/netplugin/pulls/641/commits","review_comments_url":"https://api.github.com/repos/contiv/netplugin/pulls/641/comments","review_comment_url":"https://api.github.com/repos/contiv/netplugin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/contiv/netplugin/issues/641/comments","statuses_url":"https://api.github.com/repos/contiv/netplugin/statuses/58325cbb2f70dd2828615feeb1eea0cc0d14c666","head":{"label":"neelimamukiri:master","ref":"master","sha":"58325cbb2f70dd2828615feeb1eea0cc0d14c666","user":{"login":"neelimamukiri","id":15221658,"avatar_url":"https://avatars.githubusercontent.com/u/15221658?v=3","gravatar_id":"","url":"https://api.github.com/users/neelimamukiri","html_url":"https://github.com/neelimamukiri","followers_url":"https://api.github.com/users/neelimamukiri/followers","following_url":"https://api.github.com/users/neelimamukiri/following{/other_user}","gists_url":"https://api.github.com/users/neelimamukiri/gists{/gist_id}","starred_url":"https://api.github.com/users/neelimamukiri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neelimamukiri/subscriptions","organizations_url":"https://api.github.com/users/neelimamukiri/orgs","repos_url":"https://api.github.com/users/neelimamukiri/repos","events_url":"https://api.github.com/users/neelimamukiri/events{/privacy}","received_events_url":"https://api.github.com/users/neelimamukiri/received_events","type":"User","site_admin":false},"repo":{"id":75126876,"name":"netplugin","full_name":"neelimamukiri/netplugin","owner":{"login":"neelimamukiri","id":15221658,"avatar_url":"https://avatars.githubusercontent.com/u/15221658?v=3","gravatar_id":"","url":"https://api.github.com/users/neelimamukiri","html_url":"https://github.com/neelimamukiri","followers_url":"https://api.github.com/users/neelimamukiri/followers","following_url":"https://api.github.com/users/neelimamukiri/following{/other_user}","gists_url":"https://api.github.com/users/neelimamukiri/gists{/gist_id}","starred_url":"https://api.github.com/users/neelimamukiri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neelimamukiri/subscriptions","organizations_url":"https://api.github.com/users/neelimamukiri/orgs","repos_url":"https://api.github.com/users/neelimamukiri/repos","events_url":"https://api.github.com/users/neelimamukiri/events{/privacy}","received_events_url":"https://api.github.com/users/neelimamukiri/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/neelimamukiri/netplugin","description":"Container networking for various use cases","fork":true,"url":"https://api.github.com/repos/neelimamukiri/netplugin","forks_url":"https://api.github.com/repos/neelimamukiri/netplugin/forks","keys_url":"https://api.github.com/repos/neelimamukiri/netplugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/neelimamukiri/netplugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/neelimamukiri/netplugin/teams","hooks_url":"https://api.github.com/repos/neelimamukiri/netplugin/hooks","issue_events_url":"https://api.github.com/repos/neelimamukiri/netplugin/issues/events{/number}","events_url":"https://api.github.com/repos/neelimamukiri/netplugin/events","assignees_url":"https://api.github.com/repos/neelimamukiri/netplugin/assignees{/user}","branches_url":"https://api.github.com/repos/neelimamukiri/netplugin/branches{/branch}","tags_url":"https://api.github.com/repos/neelimamukiri/netplugin/tags","blobs_url":"https://api.github.com/repos/neelimamukiri/netplugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/neelimamukiri/netplugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/neelimamukiri/netplugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/neelimamukiri/netplugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/neelimamukiri/netplugin/statuses/{sha}","languages_url":"https://api.github.com/repos/neelimamukiri/netplugin/languages","stargazers_url":"https://api.github.com/repos/neelimamukiri/netplugin/stargazers","contributors_url":"https://api.github.com/repos/neelimamukiri/netplugin/contributors","subscribers_url":"https://api.github.com/repos/neelimamukiri/netplugin/subscribers","subscription_url":"https://api.github.com/repos/neelimamukiri/netplugin/subscription","commits_url":"https://api.github.com/repos/neelimamukiri/netplugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/neelimamukiri/netplugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/neelimamukiri/netplugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/neelimamukiri/netplugin/issues/comments{/number}","contents_url":"https://api.github.com/repos/neelimamukiri/netplugin/contents/{+path}","compare_url":"https://api.github.com/repos/neelimamukiri/netplugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/neelimamukiri/netplugin/merges","archive_url":"https://api.github.com/repos/neelimamukiri/netplugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/neelimamukiri/netplugin/downloads","issues_url":"https://api.github.com/repos/neelimamukiri/netplugin/issues{/number}","pulls_url":"https://api.github.com/repos/neelimamukiri/netplugin/pulls{/number}","milestones_url":"https://api.github.com/repos/neelimamukiri/netplugin/milestones{/number}","notifications_url":"https://api.github.com/repos/neelimamukiri/netplugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/neelimamukiri/netplugin/labels{/name}","releases_url":"https://api.github.com/repos/neelimamukiri/netplugin/releases{/id}","deployments_url":"https://api.github.com/repos/neelimamukiri/netplugin/deployments","created_at":"2016-11-29T22:12:09Z","updated_at":"2016-11-29T22:12:11Z","pushed_at":"2016-11-30T01:58:47Z","git_url":"git://github.com/neelimamukiri/netplugin.git","ssh_url":"git@github.com:neelimamukiri/netplugin.git","clone_url":"https://github.com/neelimamukiri/netplugin.git","svn_url":"https://github.com/neelimamukiri/netplugin","homepage":"","size":30195,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"contiv:master","ref":"master","sha":"1a8bb7044135b951e1d89fff8802c5c7faa278f0","user":{"login":"contiv","id":10272443,"avatar_url":"https://avatars.githubusercontent.com/u/10272443?v=3","gravatar_id":"","url":"https://api.github.com/users/contiv","html_url":"https://github.com/contiv","followers_url":"https://api.github.com/users/contiv/followers","following_url":"https://api.github.com/users/contiv/following{/other_user}","gists_url":"https://api.github.com/users/contiv/gists{/gist_id}","starred_url":"https://api.github.com/users/contiv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/contiv/subscriptions","organizations_url":"https://api.github.com/users/contiv/orgs","repos_url":"https://api.github.com/users/contiv/repos","events_url":"https://api.github.com/users/contiv/events{/privacy}","received_events_url":"https://api.github.com/users/contiv/received_events","type":"Organization","site_admin":false},"repo":{"id":28353322,"name":"netplugin","full_name":"contiv/netplugin","owner":{"login":"contiv","id":10272443,"avatar_url":"https://avatars.githubusercontent.com/u/10272443?v=3","gravatar_id":"","url":"https://api.github.com/users/contiv","html_url":"https://github.com/contiv","followers_url":"https://api.github.com/users/contiv/followers","following_url":"https://api.github.com/users/contiv/following{/other_user}","gists_url":"https://api.github.com/users/contiv/gists{/gist_id}","starred_url":"https://api.github.com/users/contiv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/contiv/subscriptions","organizations_url":"https://api.github.com/users/contiv/orgs","repos_url":"https://api.github.com/users/contiv/repos","events_url":"https://api.github.com/users/contiv/events{/privacy}","received_events_url":"https://api.github.com/users/contiv/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/contiv/netplugin","description":"Container networking for various use cases","fork":false,"url":"https://api.github.com/repos/contiv/netplugin","forks_url":"https://api.github.com/repos/contiv/netplugin/forks","keys_url":"https://api.github.com/repos/contiv/netplugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/contiv/netplugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/contiv/netplugin/teams","hooks_url":"https://api.github.com/repos/contiv/netplugin/hooks","issue_events_url":"https://api.github.com/repos/contiv/netplugin/issues/events{/number}","events_url":"https://api.github.com/repos/contiv/netplugin/events","assignees_url":"https://api.github.com/repos/contiv/netplugin/assignees{/user}","branches_url":"https://api.github.com/repos/contiv/netplugin/branches{/branch}","tags_url":"https://api.github.com/repos/contiv/netplugin/tags","blobs_url":"https://api.github.com/repos/contiv/netplugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/contiv/netplugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/contiv/netplugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/contiv/netplugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/contiv/netplugin/statuses/{sha}","languages_url":"https://api.github.com/repos/contiv/netplugin/languages","stargazers_url":"https://api.github.com/repos/contiv/netplugin/stargazers","contributors_url":"https://api.github.com/repos/contiv/netplugin/contributors","subscribers_url":"https://api.github.com/repos/contiv/netplugin/subscribers","subscription_url":"https://api.github.com/repos/contiv/netplugin/subscription","commits_url":"https://api.github.com/repos/contiv/netplugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/contiv/netplugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/contiv/netplugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/contiv/netplugin/issues/comments{/number}","contents_url":"https://api.github.com/repos/contiv/netplugin/contents/{+path}","compare_url":"https://api.github.com/repos/contiv/netplugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/contiv/netplugin/merges","archive_url":"https://api.github.com/repos/contiv/netplugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/contiv/netplugin/downloads","issues_url":"https://api.github.com/repos/contiv/netplugin/issues{/number}","pulls_url":"https://api.github.com/repos/contiv/netplugin/pulls{/number}","milestones_url":"https://api.github.com/repos/contiv/netplugin/milestones{/number}","notifications_url":"https://api.github.com/repos/contiv/netplugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/contiv/netplugin/labels{/name}","releases_url":"https://api.github.com/repos/contiv/netplugin/releases{/id}","deployments_url":"https://api.github.com/repos/contiv/netplugin/deployments","created_at":"2014-12-22T18:45:21Z","updated_at":"2016-11-25T00:29:36Z","pushed_at":"2016-11-30T01:58:47Z","git_url":"git://github.com/contiv/netplugin.git","ssh_url":"git@github.com:contiv/netplugin.git","clone_url":"https://github.com/contiv/netplugin.git","svn_url":"https://github.com/contiv/netplugin","homepage":"","size":27874,"stargazers_count":169,"watchers_count":169,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":77,"mirror_url":null,"open_issues_count":90,"forks":77,"open_issues":90,"watchers":169,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/contiv/netplugin/pulls/641"},"html":{"href":"https://github.com/contiv/netplugin/pull/641"},"issue":{"href":"https://api.github.com/repos/contiv/netplugin/issues/641"},"comments":{"href":"https://api.github.com/repos/contiv/netplugin/issues/641/comments"},"review_comments":{"href":"https://api.github.com/repos/contiv/netplugin/pulls/641/comments"},"review_comment":{"href":"https://api.github.com/repos/contiv/netplugin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/contiv/netplugin/pulls/641/commits"},"statuses":{"href":"https://api.github.com/repos/contiv/netplugin/statuses/58325cbb2f70dd2828615feeb1eea0cc0d14c666"}}}}
{"actor":{"display_login":"neelimamukiri"}}