Advanced Docker with Kubernetes Workshop (3DS)

My notes from attended training course "Advanced Docker with Kubernetes on 8 and 15 July 2018" @ 3DS INTERACTIVE CO.,LTD.

Day 1 - First Half

Setup

Repositories

Course Materials: https://github.com/praparn/kubernetes_20180701 
Docker Hub: https://hub.docker.com/u/labdocker/ 

Workshop 1: Install minikube

Install Oracle VirtualBox or DockerToolbox first.

$ brew cask install minikube
$ kubectl get-k8s-versions
$ minikube config set kubernetes-version v1.9.0
$ minikube start --vm-driver=virtualbox profile=minikubelab1
$ kubectl config get-contexts
$ kubectl config use-context minikube

Kubernetes tends to be stable at every other minor versions i,e. v1.7.0, 1.9.0, 1.11.0, ...

If minikube stucks at 'Starting cluster components...', check out this solution.

$ minikube status
$ minikube ip
$ minikube ssh
  $ docker version
$ kubectl get nodes
$ kubectl get cs

Kubectl command syntax are kubectl Verb Object vs. docker Object Verb 

$ kubectl run webtest --image=labdocker/nginx:latest --port=80
$ kubectl expose deployment webtest --target-port=80 --type=NodePort
$ kubectl get pods
$ kubectl get deployment
$ kubectl get svc
$ kubectl describe svc
$ kubectl get svc webtest
$ kubectl describe svc webtest
$ curl http://192.168.99.100:30930

To enable autocomplete for kubectl, check out this guide.

Cloud Native Landscape

CNCF Cloud Native Interactive Landscape

Kubernetes is now a project of CNCF, after Google invented it.

Cloud Native Landscape Diagram (Full Resolution)

What are the best Docker orchestration tools?

In Thailand, the green bank is going for OpenShift while purple bank is going for Kubernetes.

Alternative Playground

Introduction

What is Orchestrator

Why is Orchestrator

Kubernetes Introduction

Kubernetes Features

Kubernetes Architecture

https://thenewstack.io/kubernetes-an-overview/ 

image-1531021210348.png

image-1531021227969.png

Etcd (Open-source): Key-value database for keep state of nodes/Pods/Container