Basic installation

On Centos7, RPMs are from Ceontos7 extras repository

1 master, 2 nodes

RPM verisons
Hostnames, IP, subnets, IP ranges
Ports
Services
configuration files
service processes
First pod - Hello Kubernetes!
$ kubectl run node-hello --image=gcr.io/google-samples/node-hello:1.0 --port=8080

$ kubectl get deploy
NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
node-hello   1         1         1            1           1h

$ kubectl get po
NAME                          READY     STATUS    RESTARTS   AGE
node-hello-3526609615-fqf4k   1/1       Running   0          1h


$ kubectl expose deploy/node-hello --type=NodePort
service "node-hello" exposed

$ kubectl get svc -l run=node-hello
NAME         CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
hello-node   10.254.139.8   <nodes>       8080:30881/TCP   11s

$ kubectl get po -l run=node-hello -o wide
NAME                          READY     STATUS    RESTARTS   AGE       IP           NODE
node-hello-3526609615-fqf4k   1/1       Running   0          1h        172.30.5.2   node-3

$ curl http://node-3:30881
Hello Kubernetes!

$ curl http://node-2:30881
Hello Kubernetes!

2nd pod with replicas
$ kubectl run kubernetes-bootcamp --image=jocatalin/kubernetes-bootcamp:v1 --port=8080
deployment "kubernetes-bootcamp" created

$ kubectl get deploy
NAME                  DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kubernetes-bootcamp   1         1         1            1           16s


$ kubectl get po
NAME                                   READY     STATUS    RESTARTS   AGE
kubernetes-bootcamp-2019480069-jtswf   1/1       Running   0          18s

$ kubectl expose deploy/kubernetes-bootcamp --type=NodePort
service "kubernetes-bootcamp" exposed

$ kubectl get svc
NAME                  CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
kubernetes            10.254.0.1       <none>        443/TCP          1h
kubernetes-bootcamp   10.254.195.177   <nodes>       8080:32693/TCP   13s

$ kubectl get po -o wide
NAME                                   READY     STATUS    RESTARTS   AGE       IP            NODE
kubernetes-bootcamp-2019480069-jtswf   1/1       Running   0          1m        172.30.93.2   node-2

$ curl http://node-2:32693
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-2019480069-jtswf | v=1
$ curl http://node-2:32693
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-2019480069-jtswf | v=1
$ kubectl logs kubernetes-bootcamp-2019480069-jtswf
Kubernetes Bootcamp App Started At: 2017-04-04T19:45:42.811Z | Running On:  kubernetes-bootcamp-2019480069-jtswf 
Running On: kubernetes-bootcamp-2019480069-jtswf | Total Requests: 1 | App Uptime: 112.899 seconds | Log Time: 2017-04-04T19:47:35.710Z
Running On: kubernetes-bootcamp-2019480069-jtswf | Total Requests: 2 | App Uptime: 127.612 seconds | Log Time: 2017-04-04T19:47:50.423Z

$ kubectl scale deploy/kubernetes-bootcamp --replicas=4
deployment "kubernetes-bootcamp" scaled

$ kubectl get po -o wide
NAME                                   READY     STATUS    RESTARTS   AGE       IP            NODE
kubernetes-bootcamp-2019480069-220qd   1/1       Running   0          57m       172.30.5.3    node-3
kubernetes-bootcamp-2019480069-ftzgl   1/1       Running   0          57m       172.30.5.2    node-3
kubernetes-bootcamp-2019480069-jtswf   1/1       Running   0          59m       172.30.93.2   node-2
kubernetes-bootcamp-2019480069-k0gkq   1/1       Running   0          57m       172.30.93.3   node-2

$ curl http://node-2:32693
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-2019480069-ftzgl | v=1
$ curl http://node-3:32693
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-2019480069-220qd | v=1
$ curl http://node-3:32693
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-2019480069-k0gkq | v=1
$ curl http://node-2:32693
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-2019480069-jtswf | v=1