{"action":"created","comment":{"url":"https://api.github.com/repos/openshift/openshift-docs/pulls/comments/79171196","id":79171196,"diff_hunk":"@@ -0,0 +1,176 @@\n+[[getting-traffic-into-cluster]]\n+= Getting Traffic Into The Cluster\n+{product-author}\n+{product-version]\n+:data-uri:\n+:icons:\n+:experimental:\n+:toc: macro\n+:toc-title:\n+:prewrap!:\n+\n+toc::[]\n+\n+ifdef::openshift-origin,openshift-enterprise,openshift-dedicated[]\n+== Overview\n+There are many ways to access the cluster. This section describes some\n+commonly used approaches.\n+\n+The recommendation is:\n+\n+- If you have HTTP/HTTPS -- Use the\n+xref:../dev_guide/getting_traffic_into_cluster.adoc#using-a-router[Router],\n+- If you have a TLS-encrypted protocol other than HTTPS (i.e., TLS with\n+the SNI header) --\n+Use the xref:../dev_guide/getting_traffic_into_cluster.adoc#using-a-router[Router],\n+- Otherwise -- Use\n+xref:../dev_guide/getting_traffic_into_cluster.adoc#using-the-loadbalancer[LoadBalancer],\n+xref:../dev_guide/getting_traffic_into_cluster.adoc#using-externalIP[ExternalIP], or\n+xref:../dev_guide/getting_traffic_into_cluster.adoc#using-nodeport[NodePort].\n+\n+TCP or UDP offers several approaches:\n+\n+- Use the non-cloud\n+xref:../dev_guide/getting_traffic_into_cluster.adoc#using-the-loadbalancer[LoadBalancer],\n+but that limits you to a single ingress IP (can be a VIP, but still will be\n+a single machine for initial load balancing). It simplifies the admin job,\n+but uses one IP per service.\n+- Manually assign\n+xref:../dev_guide/getting_traffic_into_cluster.adoc#using-externalIP[ExternalIPs]\n+to the service. Here you can assign a set of IPs, so can have multiple\n+machines for the incoming load balancing. But this requires elevated\n+permissions to assign, and manual tracking of what IP:ports that have been used.\n+- Use xref:../dev_guide/getting_traffic_into_cluster.adoc#using-nodeport[NodePorts]\n+to expose the service on ALL nodes in the cluster. This is more wasteful\n+of scarce port resources. However, it is a little easier to set up multiple.\n+Again, this requires more privilege.\n+\n+The router is the most common way to access the cluster.\n+This is limited to HTTP/HTTPS(SNI)/TLS(SNI) which covers web applications.\n+\n+ExternalIP or NodePort is useful when the HTTP protocol is not being used or\n+non-standard ports are in use. There is more manual setup and monitoring\n+involved.\n+\n+The admin needs to set up the external to the cluster networking environment\n+so that requests can reach the cluster. For example, names can be configured\n+into \n+xref:../install_config/install/prerequisites.html#prereq-dns[DNS]\n+to point to specific nodes or other IP addresses in the cluster.\n+The DNS wildcard feature can be used to confiugre a subset of names to an\n+IP address in the cluster.  This is convenient when using routers because\n+it allows the users to set up routes within the cluster without further\n+admin attention.\n+\n+The admin must make sure the local firewall on each node permits the\n+request to reach the IP address.\n+\n+The xref:../admin_guide/high_availability.adoc#[High Availability] section\n+describes how to make this highly available using replicated services.\n+\n+endif::[]\n+\n+\n+[[using-a-router]]\n+== Using a Router\n+\n+This is the most common way to access the cluster. A\n+xref:../install_config/configuring_routing.adoc#[ router] is configured\n+to accept external requests and proxy them based on the configured routes.\n+This is limited to HTTP/HTTPS(SNI)/TLS(SNI) which covers web applications.\n+\n+An administrator can create a\n+xref:../install_config/install/prerequisites.html#prereq-dns[wild-card DNS]\n+entry, and then set up a router, after that the users can self-service\n+the ingress without having to bother the admins. The router has controls\n+to allow the admin to specify whether the users can self-provision\n+hostnames, or if they must fit a pattern the admin defines. The other\n+solutions require the admin to do it, or it requires that they delegate\n+a lot of privilege.\n+\n+A set of routes can be created in the various projects. The overall\n+set of routes is available to the set of routers. Each router selects\n+from the set of routes.  All routers see all routes unless restricted\n+by labels on the router, this is called router\n+xref:../architecture/core_concepts/routes.adoc:#router-sharding[sharding].\n+\n+The xref:../admin_guide/high_availability.adoc#[High Availability] section","path":"dev_guide/getting_traffic_into_cluster.adoc","position":97,"original_position":97,"commit_id":"3a1f68f44a822be15d283ef0e20f005ef8e308ca","original_commit_id":"3a1f68f44a822be15d283ef0e20f005ef8e308ca","user":{"login":"ahardin-rh","id":16197393,"avatar_url":"https://avatars.githubusercontent.com/u/16197393?v=3","gravatar_id":"","url":"https://api.github.com/users/ahardin-rh","html_url":"https://github.com/ahardin-rh","followers_url":"https://api.github.com/users/ahardin-rh/followers","following_url":"https://api.github.com/users/ahardin-rh/following{/other_user}","gists_url":"https://api.github.com/users/ahardin-rh/gists{/gist_id}","starred_url":"https://api.github.com/users/ahardin-rh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahardin-rh/subscriptions","organizations_url":"https://api.github.com/users/ahardin-rh/orgs","repos_url":"https://api.github.com/users/ahardin-rh/repos","events_url":"https://api.github.com/users/ahardin-rh/events{/privacy}","received_events_url":"https://api.github.com/users/ahardin-rh/received_events","type":"User","site_admin":false},"body":"s/#/#admin-guide-high-availability","created_at":"2016-09-16T13:42:29Z","updated_at":"2016-09-16T13:42:29Z","html_url":"https://github.com/openshift/openshift-docs/pull/2827#discussion_r79171196","pull_request_url":"https://api.github.com/repos/openshift/openshift-docs/pulls/2827","_links":{"self":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/comments/79171196"},"html":{"href":"https://github.com/openshift/openshift-docs/pull/2827#discussion_r79171196"},"pull_request":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/2827"}}},"pull_request":{"url":"https://api.github.com/repos/openshift/openshift-docs/pulls/2827","id":84882978,"html_url":"https://github.com/openshift/openshift-docs/pull/2827","diff_url":"https://github.com/openshift/openshift-docs/pull/2827.diff","patch_url":"https://github.com/openshift/openshift-docs/pull/2827.patch","issue_url":"https://api.github.com/repos/openshift/openshift-docs/issues/2827","number":2827,"state":"open","locked":false,"title":"Document how to get traffic into the cluster","user":{"login":"pecameron","id":13967482,"avatar_url":"https://avatars.githubusercontent.com/u/13967482?v=3","gravatar_id":"","url":"https://api.github.com/users/pecameron","html_url":"https://github.com/pecameron","followers_url":"https://api.github.com/users/pecameron/followers","following_url":"https://api.github.com/users/pecameron/following{/other_user}","gists_url":"https://api.github.com/users/pecameron/gists{/gist_id}","starred_url":"https://api.github.com/users/pecameron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pecameron/subscriptions","organizations_url":"https://api.github.com/users/pecameron/orgs","repos_url":"https://api.github.com/users/pecameron/repos","events_url":"https://api.github.com/users/pecameron/events{/privacy}","received_events_url":"https://api.github.com/users/pecameron/received_events","type":"User","site_admin":false},"body":"This describes how to get traffic into the cluster. It is a high level\r\ndiscussion with links to detailed material.\r\n\r\nSigned-off-by: Phil Cameron <pcameron@redhat.com>","created_at":"2016-09-12T14:38:11Z","updated_at":"2016-09-16T13:42:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7f3c7b0564065825c8a0198f97e658747e212263","assignee":{"login":"ahardin-rh","id":16197393,"avatar_url":"https://avatars.githubusercontent.com/u/16197393?v=3","gravatar_id":"","url":"https://api.github.com/users/ahardin-rh","html_url":"https://github.com/ahardin-rh","followers_url":"https://api.github.com/users/ahardin-rh/followers","following_url":"https://api.github.com/users/ahardin-rh/following{/other_user}","gists_url":"https://api.github.com/users/ahardin-rh/gists{/gist_id}","starred_url":"https://api.github.com/users/ahardin-rh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahardin-rh/subscriptions","organizations_url":"https://api.github.com/users/ahardin-rh/orgs","repos_url":"https://api.github.com/users/ahardin-rh/repos","events_url":"https://api.github.com/users/ahardin-rh/events{/privacy}","received_events_url":"https://api.github.com/users/ahardin-rh/received_events","type":"User","site_admin":false},"assignees":[{"login":"ahardin-rh","id":16197393,"avatar_url":"https://avatars.githubusercontent.com/u/16197393?v=3","gravatar_id":"","url":"https://api.github.com/users/ahardin-rh","html_url":"https://github.com/ahardin-rh","followers_url":"https://api.github.com/users/ahardin-rh/followers","following_url":"https://api.github.com/users/ahardin-rh/following{/other_user}","gists_url":"https://api.github.com/users/ahardin-rh/gists{/gist_id}","starred_url":"https://api.github.com/users/ahardin-rh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahardin-rh/subscriptions","organizations_url":"https://api.github.com/users/ahardin-rh/orgs","repos_url":"https://api.github.com/users/ahardin-rh/repos","events_url":"https://api.github.com/users/ahardin-rh/events{/privacy}","received_events_url":"https://api.github.com/users/ahardin-rh/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/openshift/openshift-docs/pulls/2827/commits","review_comments_url":"https://api.github.com/repos/openshift/openshift-docs/pulls/2827/comments","review_comment_url":"https://api.github.com/repos/openshift/openshift-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openshift/openshift-docs/issues/2827/comments","statuses_url":"https://api.github.com/repos/openshift/openshift-docs/statuses/3a1f68f44a822be15d283ef0e20f005ef8e308ca","head":{"label":"pecameron:gettraffic","ref":"gettraffic","sha":"3a1f68f44a822be15d283ef0e20f005ef8e308ca","user":{"login":"pecameron","id":13967482,"avatar_url":"https://avatars.githubusercontent.com/u/13967482?v=3","gravatar_id":"","url":"https://api.github.com/users/pecameron","html_url":"https://github.com/pecameron","followers_url":"https://api.github.com/users/pecameron/followers","following_url":"https://api.github.com/users/pecameron/following{/other_user}","gists_url":"https://api.github.com/users/pecameron/gists{/gist_id}","starred_url":"https://api.github.com/users/pecameron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pecameron/subscriptions","organizations_url":"https://api.github.com/users/pecameron/orgs","repos_url":"https://api.github.com/users/pecameron/repos","events_url":"https://api.github.com/users/pecameron/events{/privacy}","received_events_url":"https://api.github.com/users/pecameron/received_events","type":"User","site_admin":false},"repo":{"id":60121047,"name":"openshift-docs","full_name":"pecameron/openshift-docs","owner":{"login":"pecameron","id":13967482,"avatar_url":"https://avatars.githubusercontent.com/u/13967482?v=3","gravatar_id":"","url":"https://api.github.com/users/pecameron","html_url":"https://github.com/pecameron","followers_url":"https://api.github.com/users/pecameron/followers","following_url":"https://api.github.com/users/pecameron/following{/other_user}","gists_url":"https://api.github.com/users/pecameron/gists{/gist_id}","starred_url":"https://api.github.com/users/pecameron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pecameron/subscriptions","organizations_url":"https://api.github.com/users/pecameron/orgs","repos_url":"https://api.github.com/users/pecameron/repos","events_url":"https://api.github.com/users/pecameron/events{/privacy}","received_events_url":"https://api.github.com/users/pecameron/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/pecameron/openshift-docs","description":"OpenShift Documentation","fork":true,"url":"https://api.github.com/repos/pecameron/openshift-docs","forks_url":"https://api.github.com/repos/pecameron/openshift-docs/forks","keys_url":"https://api.github.com/repos/pecameron/openshift-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pecameron/openshift-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pecameron/openshift-docs/teams","hooks_url":"https://api.github.com/repos/pecameron/openshift-docs/hooks","issue_events_url":"https://api.github.com/repos/pecameron/openshift-docs/issues/events{/number}","events_url":"https://api.github.com/repos/pecameron/openshift-docs/events","assignees_url":"https://api.github.com/repos/pecameron/openshift-docs/assignees{/user}","branches_url":"https://api.github.com/repos/pecameron/openshift-docs/branches{/branch}","tags_url":"https://api.github.com/repos/pecameron/openshift-docs/tags","blobs_url":"https://api.github.com/repos/pecameron/openshift-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pecameron/openshift-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pecameron/openshift-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/pecameron/openshift-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pecameron/openshift-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/pecameron/openshift-docs/languages","stargazers_url":"https://api.github.com/repos/pecameron/openshift-docs/stargazers","contributors_url":"https://api.github.com/repos/pecameron/openshift-docs/contributors","subscribers_url":"https://api.github.com/repos/pecameron/openshift-docs/subscribers","subscription_url":"https://api.github.com/repos/pecameron/openshift-docs/subscription","commits_url":"https://api.github.com/repos/pecameron/openshift-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/pecameron/openshift-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/pecameron/openshift-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/pecameron/openshift-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/pecameron/openshift-docs/contents/{+path}","compare_url":"https://api.github.com/repos/pecameron/openshift-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pecameron/openshift-docs/merges","archive_url":"https://api.github.com/repos/pecameron/openshift-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pecameron/openshift-docs/downloads","issues_url":"https://api.github.com/repos/pecameron/openshift-docs/issues{/number}","pulls_url":"https://api.github.com/repos/pecameron/openshift-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/pecameron/openshift-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/pecameron/openshift-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pecameron/openshift-docs/labels{/name}","releases_url":"https://api.github.com/repos/pecameron/openshift-docs/releases{/id}","deployments_url":"https://api.github.com/repos/pecameron/openshift-docs/deployments","created_at":"2016-05-31T20:27:24Z","updated_at":"2016-05-31T20:27:25Z","pushed_at":"2016-09-15T14:38:43Z","git_url":"git://github.com/pecameron/openshift-docs.git","ssh_url":"git@github.com:pecameron/openshift-docs.git","clone_url":"https://github.com/pecameron/openshift-docs.git","svn_url":"https://github.com/pecameron/openshift-docs","homepage":"https://docs.openshift.org/latest/welcome/index.html","size":15116,"stargazers_count":0,"watchers_count":0,"language":"CSS","has_issues":false,"has_downloads":true,"has_wiki":false,"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":"openshift:master","ref":"master","sha":"b95fd344627e47ca705ae5d9d27eda73c4dedab4","user":{"login":"openshift","id":792337,"avatar_url":"https://avatars.githubusercontent.com/u/792337?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"repo":{"id":21740844,"name":"openshift-docs","full_name":"openshift/openshift-docs","owner":{"login":"openshift","id":792337,"avatar_url":"https://avatars.githubusercontent.com/u/792337?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openshift/openshift-docs","description":"OpenShift Documentation","fork":false,"url":"https://api.github.com/repos/openshift/openshift-docs","forks_url":"https://api.github.com/repos/openshift/openshift-docs/forks","keys_url":"https://api.github.com/repos/openshift/openshift-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openshift/openshift-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openshift/openshift-docs/teams","hooks_url":"https://api.github.com/repos/openshift/openshift-docs/hooks","issue_events_url":"https://api.github.com/repos/openshift/openshift-docs/issues/events{/number}","events_url":"https://api.github.com/repos/openshift/openshift-docs/events","assignees_url":"https://api.github.com/repos/openshift/openshift-docs/assignees{/user}","branches_url":"https://api.github.com/repos/openshift/openshift-docs/branches{/branch}","tags_url":"https://api.github.com/repos/openshift/openshift-docs/tags","blobs_url":"https://api.github.com/repos/openshift/openshift-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openshift/openshift-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openshift/openshift-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/openshift/openshift-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openshift/openshift-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/openshift/openshift-docs/languages","stargazers_url":"https://api.github.com/repos/openshift/openshift-docs/stargazers","contributors_url":"https://api.github.com/repos/openshift/openshift-docs/contributors","subscribers_url":"https://api.github.com/repos/openshift/openshift-docs/subscribers","subscription_url":"https://api.github.com/repos/openshift/openshift-docs/subscription","commits_url":"https://api.github.com/repos/openshift/openshift-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/openshift/openshift-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/openshift/openshift-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/openshift/openshift-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/openshift/openshift-docs/contents/{+path}","compare_url":"https://api.github.com/repos/openshift/openshift-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openshift/openshift-docs/merges","archive_url":"https://api.github.com/repos/openshift/openshift-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openshift/openshift-docs/downloads","issues_url":"https://api.github.com/repos/openshift/openshift-docs/issues{/number}","pulls_url":"https://api.github.com/repos/openshift/openshift-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/openshift/openshift-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/openshift/openshift-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openshift/openshift-docs/labels{/name}","releases_url":"https://api.github.com/repos/openshift/openshift-docs/releases{/id}","deployments_url":"https://api.github.com/repos/openshift/openshift-docs/deployments","created_at":"2014-07-11T15:14:42Z","updated_at":"2016-09-09T07:21:34Z","pushed_at":"2016-09-16T12:14:10Z","git_url":"git://github.com/openshift/openshift-docs.git","ssh_url":"git@github.com:openshift/openshift-docs.git","clone_url":"https://github.com/openshift/openshift-docs.git","svn_url":"https://github.com/openshift/openshift-docs","homepage":"https://docs.openshift.org/latest/welcome/index.html","size":25468,"stargazers_count":52,"watchers_count":52,"language":"CSS","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":255,"mirror_url":null,"open_issues_count":213,"forks":255,"open_issues":213,"watchers":52,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/2827"},"html":{"href":"https://github.com/openshift/openshift-docs/pull/2827"},"issue":{"href":"https://api.github.com/repos/openshift/openshift-docs/issues/2827"},"comments":{"href":"https://api.github.com/repos/openshift/openshift-docs/issues/2827/comments"},"review_comments":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/2827/comments"},"review_comment":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openshift/openshift-docs/pulls/2827/commits"},"statuses":{"href":"https://api.github.com/repos/openshift/openshift-docs/statuses/3a1f68f44a822be15d283ef0e20f005ef8e308ca"}}}}
{"actor":{"display_login":"ahardin-rh"}}