-
-
Save jloveland/df1bdec4705220eb5990 to your computer and use it in GitHub Desktop.
| # Reference: | |
| https://www.cloudgear.net/blog/2015/5-minutes-kubernetes-setup/ | |
| # install homebrew and cask | |
| ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | |
| # install virtualbox | |
| brew cask install virtualbox | |
| # install dockertoolbox | |
| brew cask install dockertoolbox | |
| # add this to your bash profile and source into current shell | |
| eval $(docker-machine env dev) | |
| # clone demo kubernetes | |
| cd ~/Code | |
| git clone https://github.com/cloudgear-net/demo-kubernetes.git | |
| # bring up kubernetes | |
| cd demo-kubernetes | |
| docker-compose up | |
| # install kubernetes | |
| brew install kubernetes-cli | |
| # setup ssh tunnel for kubectl which uses port 8080 | |
| docker-machine ssh default -L 8080:localhost:8080 | |
| # use kubectl to list the nodes | |
| kubectl get nodes | |
| ########################################################### | |
| # NAME LABELS STATUS AGE | |
| # default kubernetes.io/hostname=default Ready 36m | |
| ########################################################### | |
| # Create demo service | |
| kubectl run service-demo --image=geku/go-app:0.1 --port=5000 | |
| kubectl get pods -l run=service-demo | |
| # Scale service to 3 instances | |
| kubectl scale rc service-demo --replicas=3 | |
| kubectl get pods -l run=service-demo | |
| # list replication controllers | |
| kubectl get rc | |
| ###################################################################################### | |
| # CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE | |
| # service-demo service-demo geku/go-app:0.1 run=service-demo 3 11m | |
| ###################################################################################### | |
| # expose our service on port 80 | |
| kubectl expose rc service-demo --port=80 --target-port=5000 --type=NodePort | |
| # This creates a load balancer and assigns our service a virtual IP where we can reach a random instance of our service. | |
| # Additionally it maps it to a random port on our host server. | |
| # get the node port on your host server | |
| kubectl get -o yaml service/service-demo | grep nodePort | |
| # this returns nodePort: 31538 | |
| # now you can curl the load balanced service multiple times and get results from the different machines | |
| curl $(docker-machine ip default):32382/json | |
| ################################################################################ | |
| # {"hostname":"service-demo-qk3kf","env":["PATH=/usr/local/sbin:/usr/local/bin | |
| ################################################################################ | |
| curl $(docker-machine ip default):32382/json | |
| ################################################################################ | |
| # {"hostname":"service-demo-i1tdt","env":["PATH=/usr/local/sbin:/usr/local/bin | |
| ################################################################################ | |
| # By sending multiple requests you can see that they are answered by different instances (varying hostname). | |
| # remove all pods and the service | |
| kubectl delete service/service-demo | |
| kubectl delete rc/service-demo | |
eval $(docker-machine env dev)
Docker machine "dev" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
should I run?
$ docker-machine create dev
docker-machine ssh default -L 8080:localhost:8080
Docker machine "default" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
should it be "dev"?
or
docker-machine create default ?
Second one: docker-machine create default
Run "brew cask install docker-toolbox" instead of "brew cask install docker-toolbox"
Run "docker-machine create dev" before "eval $(docker-machine env dev)"
clone demo kubernetes
##Make directory name "Code"
cd ~/Code
git clone https://github.com/cloudgear-net/demo-kubernetes.git
bring up kubernetes
cd demo-kubernetes
docker-compose up ### this is taking more than 5 minutes ...
docker-compose up is running for more than 30 mins ... Please advise
brew changed the docker toolbox package to:
brew cask install docker-toolbox