{"action":"created","comment":{"url":"https://api.github.com/repos/projectcalico/calico-docker/pulls/comments/42030731","id":42030731,"diff_hunk":"@@ -0,0 +1,145 @@\n+# Integration with an AWS Kubernetes cluster\n+This guide will walk you through how to use Calico Networking with an existing AWS-Kubernetes cluster.\n+\n+## Requirements\n+* A working Kubernetes Deployment on AWS with one master and at least one minion\n+    - While any AWS deployment will do, we recommend the Kubernetes [`kube-up` guide](https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/getting-started-guides/aws.md) for AWS. This guide was created with the `kube-up` script in mind.\n+* SSH access to your master and minions\n+    - Unless otherwise specified, the `kube-up` script will create a `kube_aws_rsa` private key in the `~/.ssh` folder which you can use to access your AWS Instances.\n+    - SSH in with the following command `ssh -i </path/to/key> ubuntu@<PUBLIC_IP>`\n+\n+## Preparing your master services\n+On your master, download our etcd manifest\n+```\n+wget https://raw.githubusercontent.com/projectcalico/calico-kubernetes-coreos-demo/ah3-config-update/manifests/calico-etcd.manifest\n+```\n+Replace all instances of `<PRIVATE_IPV4>` with your master's IP or hostname. Then, place the manifest file in the `/etc/kubernetes/manifests/` directory. \n+```\n+sudo mv calico-etcd.manifest /etc/kubernetes/manifests/\n+```\n+After a short delay, the kubelet on your master will automatically create a container for the new etcd which can be accessed on port 6666 of your master.\n+\n+## Running `calico-node`\n+On each of your AWS Instances, perform the following steps.\n+\n+### Install calicoctl and calico_kubernetes\n+* Download and install the `calicoctl` binary\n+```\n+wget https://github.com/projectcalico/calico-docker/releases/download/v0.7.0/calicoctl\n+chmod +x calicoctl\n+sudo mv calicoctl /usr/bin/\n+```\n+\n+* Download and install the plugin binary\n+```\n+wget https://github.com/projectcalico/calico-kubernetes/releases/download/v0.2.1/calico_kubernetes\n+chmod +x calico_kubernetes\n+sudo mkdir -p /usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/\n+sudo mv calico_kubernetes /usr/libexec/kubernetes/kubelet-plugins/net/exec/calico/calico\n+```\n+\n+* Run Calico Node\n+```\n+sudo modprobe ipip\n+sudo ETCD_AUTHORITY=<MASTER_PRIVATE_IPV4>:6666 calicoctl node\n+```\n+Set up an IP pool with IP-in-IP enabled. This is a  [necessary step](https://github.com/projectcalico/calico-docker/blob/20adfd2b7640af9d85c4af76916e043286691452/docs/FAQ.md#can-i-run-calico-in-a-public-cloud-environment) in any public cloud environment.\n+> Note: You only need to call `pool add` once per cluster.\n+\n+```\n+sudo ETCD_AUTHORITY=<MASTER_PRIVATE_IPV4>:6666 calicoctl pool add 192.168.0.0/16 --ipip --nat-outgoing\n+```\n+\n+## Configure the Kubelet\n+To start using the Calico Network Plugin, we will need to modify the existing kubelet process on each of your nodes.\n+\n+### Authentication for the API Server\n+\n+In default configurations, the apiserver requires authentication to access its resources. The Calico plugin supports tokens from Kubernetes Service Accounts.\n+\n+On a fresh cluster, there will be a single default service token for the cluster on your master. You can extract the token with the following command:\n+\n+```\n+TOKEN=$(kubectl describe secret default-token | grep token: | cut -f 2)\n+```\n+\n+For stronger security, you can create a new Service Account specifically for Calico, and use that account's token:\n+\n+```\n+kubectl create -f - <<EOF\n+apiVersion: v1\n+kind: ServiceAccount\n+metadata:\n+  name: calico\n+EOF\n+TOKEN=$(kubectl describe secret calico-token | grep token: | cut -f 2)\n+```\n+\n+### Per node config\n+\n+First, you will need to create a `network-environment` file with the following contents:\n+```\n+ETCD_AUTHORITY=<MASTER_PRIVATE_IPV4>:6666\n+KUBE_API_ROOT=https://<MASTER_PRIVATE_IPV4>:443/api/v1/\n+KUBE_AUTH_TOKEN=<TOKEN>\n+CALICO_IPAM=true\n+```\n+\n+If you're not using https on your API Server, use this insecure API path instead:\n+\n+```\n+KUBE_API_ROOT=http://<MASTER_PRIVATE_IPV4>:8080/api/v1/\n+```\n+\n+In your kubelet service config file (`/lib/systemd/system/kubelet.service`), add the following line ust before the `ExecStart`.","path":"docs/kubernetes/AWSIntegration.md","position":94,"original_position":94,"commit_id":"adc1f8627c872cd2a95906bc7d165686ce726dbb","original_commit_id":"adc1f8627c872cd2a95906bc7d165686ce726dbb","user":{"login":"caseydavenport","id":1944093,"avatar_url":"https://avatars.githubusercontent.com/u/1944093?v=3","gravatar_id":"","url":"https://api.github.com/users/caseydavenport","html_url":"https://github.com/caseydavenport","followers_url":"https://api.github.com/users/caseydavenport/followers","following_url":"https://api.github.com/users/caseydavenport/following{/other_user}","gists_url":"https://api.github.com/users/caseydavenport/gists{/gist_id}","starred_url":"https://api.github.com/users/caseydavenport/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caseydavenport/subscriptions","organizations_url":"https://api.github.com/users/caseydavenport/orgs","repos_url":"https://api.github.com/users/caseydavenport/repos","events_url":"https://api.github.com/users/caseydavenport/events{/privacy}","received_events_url":"https://api.github.com/users/caseydavenport/received_events","type":"User","site_admin":false},"body":"typo: ust","created_at":"2015-10-14T18:13:23Z","updated_at":"2015-10-14T18:13:23Z","html_url":"https://github.com/projectcalico/calico-docker/pull/515#discussion_r42030731","pull_request_url":"https://api.github.com/repos/projectcalico/calico-docker/pulls/515","_links":{"self":{"href":"https://api.github.com/repos/projectcalico/calico-docker/pulls/comments/42030731"},"html":{"href":"https://github.com/projectcalico/calico-docker/pull/515#discussion_r42030731"},"pull_request":{"href":"https://api.github.com/repos/projectcalico/calico-docker/pulls/515"}}},"pull_request":{"url":"https://api.github.com/repos/projectcalico/calico-docker/pulls/515","id":47064891,"html_url":"https://github.com/projectcalico/calico-docker/pull/515","diff_url":"https://github.com/projectcalico/calico-docker/pull/515.diff","patch_url":"https://github.com/projectcalico/calico-docker/pull/515.patch","issue_url":"https://api.github.com/repos/projectcalico/calico-docker/issues/515","number":515,"state":"open","locked":false,"title":"AWS Kubernetes Integration Doc","user":{"login":"alexhersh","id":3424115,"avatar_url":"https://avatars.githubusercontent.com/u/3424115?v=3","gravatar_id":"","url":"https://api.github.com/users/alexhersh","html_url":"https://github.com/alexhersh","followers_url":"https://api.github.com/users/alexhersh/followers","following_url":"https://api.github.com/users/alexhersh/following{/other_user}","gists_url":"https://api.github.com/users/alexhersh/gists{/gist_id}","starred_url":"https://api.github.com/users/alexhersh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexhersh/subscriptions","organizations_url":"https://api.github.com/users/alexhersh/orgs","repos_url":"https://api.github.com/users/alexhersh/repos","events_url":"https://api.github.com/users/alexhersh/events{/privacy}","received_events_url":"https://api.github.com/users/alexhersh/received_events","type":"User","site_admin":false},"body":"+ Complete guide for configuring an existing AWS-Kube cluster to use Calico\r\n+ Modify existing Kube docs for clarity, accuracy","created_at":"2015-10-07T18:37:12Z","updated_at":"2015-10-14T18:13:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b6470ac453d62fc9c05da21a68f824c101cace4c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/projectcalico/calico-docker/pulls/515/commits","review_comments_url":"https://api.github.com/repos/projectcalico/calico-docker/pulls/515/comments","review_comment_url":"https://api.github.com/repos/projectcalico/calico-docker/pulls/comments{/number}","comments_url":"https://api.github.com/repos/projectcalico/calico-docker/issues/515/comments","statuses_url":"https://api.github.com/repos/projectcalico/calico-docker/statuses/adc1f8627c872cd2a95906bc7d165686ce726dbb","head":{"label":"alexhersh:KubeDocs","ref":"KubeDocs","sha":"adc1f8627c872cd2a95906bc7d165686ce726dbb","user":{"login":"alexhersh","id":3424115,"avatar_url":"https://avatars.githubusercontent.com/u/3424115?v=3","gravatar_id":"","url":"https://api.github.com/users/alexhersh","html_url":"https://github.com/alexhersh","followers_url":"https://api.github.com/users/alexhersh/followers","following_url":"https://api.github.com/users/alexhersh/following{/other_user}","gists_url":"https://api.github.com/users/alexhersh/gists{/gist_id}","starred_url":"https://api.github.com/users/alexhersh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexhersh/subscriptions","organizations_url":"https://api.github.com/users/alexhersh/orgs","repos_url":"https://api.github.com/users/alexhersh/repos","events_url":"https://api.github.com/users/alexhersh/events{/privacy}","received_events_url":"https://api.github.com/users/alexhersh/received_events","type":"User","site_admin":false},"repo":{"id":38707997,"name":"calico-docker","full_name":"alexhersh/calico-docker","owner":{"login":"alexhersh","id":3424115,"avatar_url":"https://avatars.githubusercontent.com/u/3424115?v=3","gravatar_id":"","url":"https://api.github.com/users/alexhersh","html_url":"https://github.com/alexhersh","followers_url":"https://api.github.com/users/alexhersh/followers","following_url":"https://api.github.com/users/alexhersh/following{/other_user}","gists_url":"https://api.github.com/users/alexhersh/gists{/gist_id}","starred_url":"https://api.github.com/users/alexhersh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexhersh/subscriptions","organizations_url":"https://api.github.com/users/alexhersh/orgs","repos_url":"https://api.github.com/users/alexhersh/repos","events_url":"https://api.github.com/users/alexhersh/events{/privacy}","received_events_url":"https://api.github.com/users/alexhersh/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alexhersh/calico-docker","description":"Docker version of Project Calico","fork":true,"url":"https://api.github.com/repos/alexhersh/calico-docker","forks_url":"https://api.github.com/repos/alexhersh/calico-docker/forks","keys_url":"https://api.github.com/repos/alexhersh/calico-docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alexhersh/calico-docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alexhersh/calico-docker/teams","hooks_url":"https://api.github.com/repos/alexhersh/calico-docker/hooks","issue_events_url":"https://api.github.com/repos/alexhersh/calico-docker/issues/events{/number}","events_url":"https://api.github.com/repos/alexhersh/calico-docker/events","assignees_url":"https://api.github.com/repos/alexhersh/calico-docker/assignees{/user}","branches_url":"https://api.github.com/repos/alexhersh/calico-docker/branches{/branch}","tags_url":"https://api.github.com/repos/alexhersh/calico-docker/tags","blobs_url":"https://api.github.com/repos/alexhersh/calico-docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alexhersh/calico-docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alexhersh/calico-docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/alexhersh/calico-docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alexhersh/calico-docker/statuses/{sha}","languages_url":"https://api.github.com/repos/alexhersh/calico-docker/languages","stargazers_url":"https://api.github.com/repos/alexhersh/calico-docker/stargazers","contributors_url":"https://api.github.com/repos/alexhersh/calico-docker/contributors","subscribers_url":"https://api.github.com/repos/alexhersh/calico-docker/subscribers","subscription_url":"https://api.github.com/repos/alexhersh/calico-docker/subscription","commits_url":"https://api.github.com/repos/alexhersh/calico-docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/alexhersh/calico-docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/alexhersh/calico-docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/alexhersh/calico-docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/alexhersh/calico-docker/contents/{+path}","compare_url":"https://api.github.com/repos/alexhersh/calico-docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alexhersh/calico-docker/merges","archive_url":"https://api.github.com/repos/alexhersh/calico-docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alexhersh/calico-docker/downloads","issues_url":"https://api.github.com/repos/alexhersh/calico-docker/issues{/number}","pulls_url":"https://api.github.com/repos/alexhersh/calico-docker/pulls{/number}","milestones_url":"https://api.github.com/repos/alexhersh/calico-docker/milestones{/number}","notifications_url":"https://api.github.com/repos/alexhersh/calico-docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alexhersh/calico-docker/labels{/name}","releases_url":"https://api.github.com/repos/alexhersh/calico-docker/releases{/id}","created_at":"2015-07-07T18:49:20Z","updated_at":"2015-07-07T18:49:20Z","pushed_at":"2015-10-14T17:19:20Z","git_url":"git://github.com/alexhersh/calico-docker.git","ssh_url":"git@github.com:alexhersh/calico-docker.git","clone_url":"https://github.com/alexhersh/calico-docker.git","svn_url":"https://github.com/alexhersh/calico-docker","homepage":"http://www.projectcalico.org","size":13756,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"projectcalico:master","ref":"master","sha":"f02e64dd85c9d7e8b32fa365b6249029651ebfb7","user":{"login":"projectcalico","id":12304728,"avatar_url":"https://avatars.githubusercontent.com/u/12304728?v=3","gravatar_id":"","url":"https://api.github.com/users/projectcalico","html_url":"https://github.com/projectcalico","followers_url":"https://api.github.com/users/projectcalico/followers","following_url":"https://api.github.com/users/projectcalico/following{/other_user}","gists_url":"https://api.github.com/users/projectcalico/gists{/gist_id}","starred_url":"https://api.github.com/users/projectcalico/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/projectcalico/subscriptions","organizations_url":"https://api.github.com/users/projectcalico/orgs","repos_url":"https://api.github.com/users/projectcalico/repos","events_url":"https://api.github.com/users/projectcalico/events{/privacy}","received_events_url":"https://api.github.com/users/projectcalico/received_events","type":"Organization","site_admin":false},"repo":{"id":29629333,"name":"calico-docker","full_name":"projectcalico/calico-docker","owner":{"login":"projectcalico","id":12304728,"avatar_url":"https://avatars.githubusercontent.com/u/12304728?v=3","gravatar_id":"","url":"https://api.github.com/users/projectcalico","html_url":"https://github.com/projectcalico","followers_url":"https://api.github.com/users/projectcalico/followers","following_url":"https://api.github.com/users/projectcalico/following{/other_user}","gists_url":"https://api.github.com/users/projectcalico/gists{/gist_id}","starred_url":"https://api.github.com/users/projectcalico/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/projectcalico/subscriptions","organizations_url":"https://api.github.com/users/projectcalico/orgs","repos_url":"https://api.github.com/users/projectcalico/repos","events_url":"https://api.github.com/users/projectcalico/events{/privacy}","received_events_url":"https://api.github.com/users/projectcalico/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/projectcalico/calico-docker","description":"Project Calico deployed in a Docker container","fork":false,"url":"https://api.github.com/repos/projectcalico/calico-docker","forks_url":"https://api.github.com/repos/projectcalico/calico-docker/forks","keys_url":"https://api.github.com/repos/projectcalico/calico-docker/keys{/key_id}","collaborators_url":"https://api.github.com/repos/projectcalico/calico-docker/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/projectcalico/calico-docker/teams","hooks_url":"https://api.github.com/repos/projectcalico/calico-docker/hooks","issue_events_url":"https://api.github.com/repos/projectcalico/calico-docker/issues/events{/number}","events_url":"https://api.github.com/repos/projectcalico/calico-docker/events","assignees_url":"https://api.github.com/repos/projectcalico/calico-docker/assignees{/user}","branches_url":"https://api.github.com/repos/projectcalico/calico-docker/branches{/branch}","tags_url":"https://api.github.com/repos/projectcalico/calico-docker/tags","blobs_url":"https://api.github.com/repos/projectcalico/calico-docker/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/projectcalico/calico-docker/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/projectcalico/calico-docker/git/refs{/sha}","trees_url":"https://api.github.com/repos/projectcalico/calico-docker/git/trees{/sha}","statuses_url":"https://api.github.com/repos/projectcalico/calico-docker/statuses/{sha}","languages_url":"https://api.github.com/repos/projectcalico/calico-docker/languages","stargazers_url":"https://api.github.com/repos/projectcalico/calico-docker/stargazers","contributors_url":"https://api.github.com/repos/projectcalico/calico-docker/contributors","subscribers_url":"https://api.github.com/repos/projectcalico/calico-docker/subscribers","subscription_url":"https://api.github.com/repos/projectcalico/calico-docker/subscription","commits_url":"https://api.github.com/repos/projectcalico/calico-docker/commits{/sha}","git_commits_url":"https://api.github.com/repos/projectcalico/calico-docker/git/commits{/sha}","comments_url":"https://api.github.com/repos/projectcalico/calico-docker/comments{/number}","issue_comment_url":"https://api.github.com/repos/projectcalico/calico-docker/issues/comments{/number}","contents_url":"https://api.github.com/repos/projectcalico/calico-docker/contents/{+path}","compare_url":"https://api.github.com/repos/projectcalico/calico-docker/compare/{base}...{head}","merges_url":"https://api.github.com/repos/projectcalico/calico-docker/merges","archive_url":"https://api.github.com/repos/projectcalico/calico-docker/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/projectcalico/calico-docker/downloads","issues_url":"https://api.github.com/repos/projectcalico/calico-docker/issues{/number}","pulls_url":"https://api.github.com/repos/projectcalico/calico-docker/pulls{/number}","milestones_url":"https://api.github.com/repos/projectcalico/calico-docker/milestones{/number}","notifications_url":"https://api.github.com/repos/projectcalico/calico-docker/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/projectcalico/calico-docker/labels{/name}","releases_url":"https://api.github.com/repos/projectcalico/calico-docker/releases{/id}","created_at":"2015-01-21T23:46:47Z","updated_at":"2015-10-13T08:29:57Z","pushed_at":"2015-10-14T17:42:08Z","git_url":"git://github.com/projectcalico/calico-docker.git","ssh_url":"git@github.com:projectcalico/calico-docker.git","clone_url":"https://github.com/projectcalico/calico-docker.git","svn_url":"https://github.com/projectcalico/calico-docker","homepage":"http://www.projectcalico.org","size":17671,"stargazers_count":163,"watchers_count":163,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":33,"mirror_url":null,"open_issues_count":30,"forks":33,"open_issues":30,"watchers":163,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/projectcalico/calico-docker/pulls/515"},"html":{"href":"https://github.com/projectcalico/calico-docker/pull/515"},"issue":{"href":"https://api.github.com/repos/projectcalico/calico-docker/issues/515"},"comments":{"href":"https://api.github.com/repos/projectcalico/calico-docker/issues/515/comments"},"review_comments":{"href":"https://api.github.com/repos/projectcalico/calico-docker/pulls/515/comments"},"review_comment":{"href":"https://api.github.com/repos/projectcalico/calico-docker/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/projectcalico/calico-docker/pulls/515/commits"},"statuses":{"href":"https://api.github.com/repos/projectcalico/calico-docker/statuses/adc1f8627c872cd2a95906bc7d165686ce726dbb"}}}}