2015-07-12 00:04:52 -04:00
<!-- BEGIN MUNGE: UNVERSIONED_WARNING -->
<!-- BEGIN STRIP_FOR_RELEASE -->
2015-07-16 13:02:26 -04:00
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< img src = "http://kubernetes.io/img/warning.png" alt = "WARNING"
width="25" height="25">
< h2 > PLEASE NOTE: This document applies to the HEAD of the source tree< / h2 >
If you are using a released version of Kubernetes, you should
refer to the docs that go with that version.
2015-12-14 13:37:38 -05:00
<!-- TAG RELEASE_LINK, added by the munger automatically -->
2015-07-16 13:02:26 -04:00
< strong >
2015-11-03 13:17:57 -05:00
The latest release of this document can be found
[here ](http://releases.k8s.io/release-1.1/docs/getting-started-guides/docker-multinode/testing.md ).
2015-07-16 13:02:26 -04:00
Documentation for other releases can be found at
[releases.k8s.io ](http://releases.k8s.io ).
< / strong >
--
2015-07-13 18:15:35 -04:00
2015-07-12 00:04:52 -04:00
<!-- END STRIP_FOR_RELEASE -->
<!-- END MUNGE: UNVERSIONED_WARNING -->
2015-07-17 18:35:41 -04:00
2015-04-07 00:47:04 -04:00
## Testing your Kubernetes cluster.
To validate that your node(s) have been added, run:
```sh
kubectl get nodes
```
That should show something like:
2015-07-16 22:01:02 -04:00
2015-07-18 22:05:35 -04:00
```console
2015-06-14 22:38:50 -04:00
NAME LABELS STATUS
10.240.99.26 kubernetes.io/hostname=10.240.99.26 Ready
127.0.0.1 kubernetes.io/hostname=127.0.0.1 Ready
2015-04-07 00:47:04 -04:00
```
2015-09-02 17:51:19 -04:00
If the status of any node is `Unknown` or `NotReady` your cluster is broken, double check that all containers are running properly, and if all else fails, contact us on [Slack ](../../troubleshooting.md#slack ).
2015-04-07 00:47:04 -04:00
### Run an application
2015-07-16 22:01:02 -04:00
2015-04-07 00:47:04 -04:00
```sh
2015-05-21 16:53:10 -04:00
kubectl -s http://localhost:8080 run nginx --image=nginx --port=80
2015-04-07 00:47:04 -04:00
```
2015-07-19 01:58:13 -04:00
now run `docker ps` you should see nginx running. You may need to wait a few minutes for the image to get pulled.
2015-04-07 00:47:04 -04:00
2015-07-13 14:11:34 -04:00
### Expose it as a service
2015-07-16 22:01:02 -04:00
2015-04-07 00:47:04 -04:00
```sh
kubectl expose rc nginx --port=80
```
2015-10-26 20:47:18 -04:00
Run the following command to obtain the IP of this service we just created. There are two IPs, the first one is internal (CLUSTER_IP), and the second one is the external load-balanced IP.
2015-07-16 22:01:02 -04:00
2015-10-26 20:47:18 -04:00
```sh
kubectl get svc nginx
```
Alternatively, you can obtain only the first IP (CLUSTER_IP) by running:
```sh
kubectl get svc nginx --template={{.spec.clusterIP}}
2015-04-07 00:47:04 -04:00
```
2015-10-26 20:47:18 -04:00
Hit the webserver with the first IP (CLUSTER_IP):
2015-07-16 22:01:02 -04:00
2015-04-07 00:47:04 -04:00
```sh
2015-10-26 20:47:18 -04:00
curl < insert-cluster-ip-here >
2015-04-07 00:47:04 -04:00
```
Note that you will need run this curl command on your boot2docker VM if you are running on OS X.
2015-07-24 17:52:18 -04:00
### Scaling
2015-04-07 00:47:04 -04:00
Now try to scale up the nginx you created before:
```sh
2015-05-21 17:10:25 -04:00
kubectl scale rc nginx --replicas=3
2015-04-07 00:47:04 -04:00
```
And list the pods
```sh
kubectl get pods
```
2015-05-14 18:12:45 -04:00
You should see pods landing on the newly added machine.
2015-07-13 20:13:09 -04:00
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
2015-05-14 18:12:45 -04:00
[]()
2015-07-13 20:13:09 -04:00
<!-- END MUNGE: GENERATED_ANALYTICS -->