Updated cloudconfig.sh output examples
Updated cloudconfig.sh output examples to match what the tool currently prints. Added specific gcutil commands to get public IP addresses, and create the firewall rules.
This commit is contained in:
		
							parent
							
								
									f8712143bd
								
							
						
					
					
						commit
						8aacbfacd3
					
				|  | @ -51,45 +51,10 @@ cluster/cloudcfg.sh list /pods | |||
| 
 | ||||
| You'll see a single redis master pod. It will also display the machine that the pod is running on. | ||||
| 
 | ||||
| ```javascript | ||||
| Using master: kubernetes-master (external IP: 1.2.3.4) | ||||
| { | ||||
|     "kind": "cluster#podList", | ||||
|     "items": [ | ||||
|         { | ||||
|             "id": "redis-master-2", | ||||
|             "labels": { | ||||
|                 "name": "redis-master" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "name": "master", | ||||
|                             "image": "dockerfile/redis", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 6379, | ||||
|                                     "containerPort": 6379 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-3.c.{project-id}.internal" | ||||
|             } | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| ``` | ||||
| Name                Image(s)            Host                                          Labels | ||||
| ----------          ----------          ----------                                    ---------- | ||||
| redis-master-2      dockerfile/redis    kubernetes-minion-3.c.briandpe-api.internal   name=redis-master | ||||
| ``` | ||||
| 
 | ||||
| If you ssh to that machine, you can run `docker ps` to see the actual pod: | ||||
|  | @ -122,18 +87,11 @@ The pod that you created in Step One has the label `name=redis-master`, so the c | |||
| 
 | ||||
| Once you have that service description, you can create the service with the `cloudcfg` cli: | ||||
| 
 | ||||
| ```js | ||||
| ```shell | ||||
| $ cluster/cloudcfg.sh -c examples/guestbook/redis-master-service.json create /services | ||||
| 
 | ||||
| Using master: kubernetes-master (external IP: 1.2.3.4) | ||||
| { | ||||
|     "id": "redismaster", | ||||
|     "port": 10000, | ||||
|     "labels": { | ||||
|         "name": "redis-master" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| Name                Label Query         Port | ||||
| ----------          ----------          ---------- | ||||
| redismaster         name=redis-master   10000 | ||||
| ``` | ||||
| 
 | ||||
| Once created, the service proxy on each minion is configured to set up a proxy on the specified port (in this case port 10000). | ||||
|  | @ -166,45 +124,11 @@ Create a file named `redis-slave-controller.json` that contains: | |||
| 
 | ||||
| Then you can create the service by running: | ||||
| 
 | ||||
| ```js | ||||
| ```shell | ||||
| $ cluster/cloudcfg.sh -c examples/guestbook/redis-slave-controller.json create /replicationControllers | ||||
| 
 | ||||
| Using master: kubernetes-master (external IP: 1.2.3.4) | ||||
| { | ||||
|     "id": "redisSlaveController", | ||||
|     "desiredState": { | ||||
|         "replicas": 2, | ||||
|         "replicasInSet": { | ||||
|             "name": "redisslave" | ||||
|         }, | ||||
|         "podTemplate": { | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/redis-slave", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 6380, | ||||
|                                     "containerPort": 6379 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "labels": { | ||||
|                 "name": "redisslave" | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|     "labels": { | ||||
|         "name": "redisslave" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| Name                   Image(s)                   Label Query         Replicas | ||||
| ----------             ----------                 ----------          ---------- | ||||
| redisSlaveController   brendanburns/redis-slave   name=redisslave     2 | ||||
| ``` | ||||
| 
 | ||||
| The redis slave configures itself by looking for the Kubernetes service environment variables in the container environment.  In particular, the redis slave is started with the following command: | ||||
|  | @ -215,111 +139,13 @@ redis-server --slaveof $SERVICE_HOST $REDISMASTER_SERVICE_PORT | |||
| 
 | ||||
| Once that's up you can list the pods in the cluster, to verify that the master and slaves are running: | ||||
| 
 | ||||
| ```js | ||||
| ```shell | ||||
| $ cluster/cloudcfg.sh list /pods | ||||
| 
 | ||||
| Using master: kubernetes-master (external IP: 23.236.49.160) | ||||
| { | ||||
|     "kind": "cluster#podList", | ||||
|     "items": [ | ||||
|         { | ||||
|             "id": "redis-master-2", | ||||
|             "labels": { | ||||
|                 "name": "redis-master" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "name": "master", | ||||
|                             "image": "dockerfile/redis", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 6379, | ||||
|                                     "containerPort": 6379 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-3.c.{project-id}.internal" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "id": "4d65822107fcfd52", | ||||
|             "labels": { | ||||
|                 "name": "redisslave", | ||||
|                 "replicationController": "redisSlaveController" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/redis-slave", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 6380, | ||||
|                                     "containerPort": 6379 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-3.c.{project-id}.internal" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "id": "78629a0f5f3f164f", | ||||
|             "labels": { | ||||
|                 "name": "redisslave", | ||||
|                 "replicationController": "redisSlaveController" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/redis-slave", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 6380, | ||||
|                                     "containerPort": 6379 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-2.c.{project-id}.internal" | ||||
|             } | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| Name                Image(s)                   Host                                          Labels | ||||
| ----------          ----------                 ----------                                    ---------- | ||||
| redis-master-2      dockerfile/redis           kubernetes-minion-3.c.briandpe-api.internal   name=redis-master | ||||
| 4d65822107fcfd52    brendanburns/redis-slave   kubernetes-minion-3.c.briandpe-api.internal   name=redisslave,replicationController=redisSlaveController | ||||
| 78629a0f5f3f164f    brendanburns/redis-slave   kubernetes-minion-4.c.briandpe-api.internal   name=redisslave,replicationController=redisSlaveController | ||||
| ``` | ||||
| 
 | ||||
| You will see a single redis master pod and two redis slave pods. | ||||
|  | @ -342,18 +168,11 @@ This time the label query for the service is `name=redis-slave`. | |||
| 
 | ||||
| Now that you have created the service specification, create it in your cluster with the `cloudcfg` CLI: | ||||
| 
 | ||||
| ```js | ||||
| ```shell | ||||
| $ cluster/cloudcfg.sh -c examples/guestbook/redis-slave-service.json create /services | ||||
| 
 | ||||
| Using master: kubernetes-master (external IP: 1.2.3.4) | ||||
| { | ||||
|     "id": "redisslave", | ||||
|     "port": 10001, | ||||
|     "labels": { | ||||
|         "name": "redisslave" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| Name                Label Query         Port | ||||
| ----------          ----------          ---------- | ||||
| redisslave          name=redisslave     10001 | ||||
| ``` | ||||
| 
 | ||||
| ### Step Five: Create the frontend pod. | ||||
|  | @ -385,251 +204,25 @@ Create a file named `frontend-controller.json`: | |||
| 
 | ||||
| With this file, you can turn up your frontend with: | ||||
| 
 | ||||
| ```js | ||||
| ```shell | ||||
| $ cluster/cloudcfg.sh -c examples/guestbook/frontend-controller.json create /replicationControllers | ||||
| 
 | ||||
| Using master: kubernetes-master (external IP: 1.2.3.4) | ||||
| { | ||||
|     "id": "frontendController", | ||||
|     "desiredState": { | ||||
|         "replicas": 3, | ||||
|         "replicasInSet": { | ||||
|             "name": "frontend" | ||||
|         }, | ||||
|         "podTemplate": { | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/php-redis", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 8080, | ||||
|                                     "containerPort": 80 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "labels": { | ||||
|                 "name": "frontend" | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|     "labels": { | ||||
|         "name": "frontend" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| Name                 Image(s)                 Label Query         Replicas | ||||
| ----------           ----------               ----------          ---------- | ||||
| frontendController   brendanburns/php-redis   name=frontend       3 | ||||
| ``` | ||||
| 
 | ||||
| Once that's up you can list the pods in the cluster, to verify that the master, slaves and frontends are running: | ||||
| 
 | ||||
| ```js | ||||
| ```shell | ||||
| $ cluster/cloudcfg.sh list /pods | ||||
| 
 | ||||
| Using master: kubernetes-master (external IP: 1.2.3.4) | ||||
| { | ||||
|     "kind": "cluster#podList", | ||||
|     "items": [ | ||||
|         { | ||||
|             "id": "redis-master-2", | ||||
|             "labels": { | ||||
|                 "name": "redis-master" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "name": "master", | ||||
|                             "image": "dockerfile/redis", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 6379, | ||||
|                                     "containerPort": 6379 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-3.c.{project-id}.internal" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "id": "4d65822107fcfd52", | ||||
|             "labels": { | ||||
|                 "name": "redisslave", | ||||
|                 "replicationController": "redisSlaveController" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/redis-slave", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 6380, | ||||
|                                     "containerPort": 6379 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-3.c.{project-id}.internal" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "id": "55104dc76695721d", | ||||
|             "labels": { | ||||
|                 "name": "frontend", | ||||
|                 "replicationController": "frontendController" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/php-redis", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 8080, | ||||
|                                     "containerPort": 80 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-3.c.{project-id}.internal" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "id": "78629a0f5f3f164f", | ||||
|             "labels": { | ||||
|                 "name": "redisslave", | ||||
|                 "replicationController": "redisSlaveController" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/redis-slave", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 6380, | ||||
|                                     "containerPort": 6379 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-2.c.{project-id}.internal" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "id": "380704bb7b4d7c03", | ||||
|             "labels": { | ||||
|                 "name": "frontend", | ||||
|                 "replicationController": "frontendController" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/php-redis", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 8080, | ||||
|                                     "containerPort": 80 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-2.c.{project-id}.internal" | ||||
|             } | ||||
|         }, | ||||
|         { | ||||
|             "id": "365a858149c6e2d1", | ||||
|             "labels": { | ||||
|                 "name": "frontend", | ||||
|                 "replicationController": "frontendController" | ||||
|             }, | ||||
|             "desiredState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": [ | ||||
|                         { | ||||
|                             "image": "brendanburns/php-redis", | ||||
|                             "ports": [ | ||||
|                                 { | ||||
|                                     "hostPort": 8080, | ||||
|                                     "containerPort": 80 | ||||
|                                 } | ||||
|                             ] | ||||
|                         } | ||||
|                     ] | ||||
|                 } | ||||
|             }, | ||||
|             "currentState": { | ||||
|                 "manifest": { | ||||
|                     "version": "", | ||||
|                     "volumes": null, | ||||
|                     "containers": null | ||||
|                 }, | ||||
|                 "host": "kubernetes-minion-4.c.{project-id}.internal" | ||||
|             } | ||||
|         } | ||||
|     ] | ||||
| } | ||||
| 
 | ||||
| Name                Image(s)                   Host                                          Labels | ||||
| ----------          ----------                 ----------                                    ---------- | ||||
| redis-master-2      dockerfile/redis           kubernetes-minion-3.c.briandpe-api.internal   name=redis-master | ||||
| 4d65822107fcfd52    brendanburns/redis-slave   kubernetes-minion-3.c.briandpe-api.internal   name=redisslave,replicationController=redisSlaveController | ||||
| 380704bb7b4d7c03    brendanburns/php-redis     kubernetes-minion-3.c.briandpe-api.internal   name=frontend,replicationController=frontendController | ||||
| 55104dc76695721d    brendanburns/php-redis     kubernetes-minion-2.c.briandpe-api.internal   name=frontend,replicationController=frontendController | ||||
| 365a858149c6e2d1    brendanburns/php-redis     kubernetes-minion-1.c.briandpe-api.internal   name=frontend,replicationController=frontendController | ||||
| 78629a0f5f3f164f    brendanburns/redis-slave   kubernetes-minion-4.c.briandpe-api.internal   name=redisslave,replicationController=redisSlaveController | ||||
| ``` | ||||
| 
 | ||||
| You will see a single redis master pod, two redis slaves, and three frontend pods. | ||||
|  | @ -676,6 +269,17 @@ if (isset($_GET['cmd']) === true) { | |||
| } ?> | ||||
| ``` | ||||
| 
 | ||||
| To play with the service itself, find the name of a frontend, grab the external IP of that host from the [Google Cloud Console][cloud-console], and visit `http://<host-ip>:8080`. You may need to open the firewall for port 8080 using the [console][cloud-console] or the `gcutil` tool. | ||||
| To play with the service itself, find the name of a frontend, grab the external IP of that host from the [Google Cloud Console][cloud-console] or the `gcutil` tool, and visit `http://<host-ip>:8080`.  | ||||
| 
 | ||||
| ```shell | ||||
| $ gcutil listinstances | ||||
| ``` | ||||
| 
 | ||||
| You may need to open the firewall for port 8080 using the [console][cloud-console] or the `gcutil` tool. The following command will allow traffic from any source to instances tagged `kubernetes-minion`: | ||||
| 
 | ||||
| ```shell | ||||
| $ gcutil addfirewall --allowed=tcp:8080 --target_tags=kubernetes-minion kubernetes-minion-8080 | ||||
| ``` | ||||
| For details about limiting traffic to specific sources, see the [gcutil documentation][https://developers.google.com/compute/docs/gcutil/reference/firewall#addfirewall] | ||||
| 
 | ||||
| [cloud-console]: https://console.developer.google.com | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue