Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

5 Painless Demos to Get You Started with Kubernetes


Published on

A short and sweet overview of Kubernetes' architecture with 5 super easy demos to get you from zero Kubernetes' knowledge to first deployments. Slides by Jakub Nowakowski, jnowakowski8, Amartus' Test Lead and a Certified Kubernetes Administrator.

Published in: Technology
  • Be the first to comment

5 Painless Demos to Get You Started with Kubernetes

  1. 1. 5 Painless Demos to Get You Started with Kubernetes Jakub Nowakowski Automation | Test Lead @ Amartus jnowakowski8
  2. 2. What’s On 1. A short story of containers 2. Containers orchestration 3. Why Kubernetes? 4. Cluster components 5. Pod >> Deployment >> Service 6. Networking 7. Cluster bootstrapping 8. Time for some action!
  3. 3. A Short Story of Containers • Packages with application, dependencies, binaries and configurations • Consistent on all environments • Lightweight and isolated • Infrastructure-agnostic • Way to handle microservices
  4. 4. Containers Orchestration
  5. 5. Photo by Axel Ahoi on Unsplash
  6. 6. Kubernetes Kubernetes (or k8s) in Greek κυβερνήτης means helmsman. Hence the logo! History: • Created by Google (Borg) ~15 years ago • Open sourced in 2014 • Donated to Cloud Native Computing Foundation (2015) • Container-centric management environment. • Automates deployment, scaling, and operations of application containers. • Orchestrates computing, networking, and storage infrastructure. • Infrastructure- and vendor-agnostic (physical/virtual machines, bare metal/cloud/hybrid).
  7. 7. Cluster Components Master Node
  8. 8. Pod >> Deployment >> Service source: Master Nodes
  9. 9. Networking Pod-to-pod (need configuration) Container-to-container (local) External-to-pod (k8s services), i.e.: • ClusterIp • NodePort Requirements: • no ports brokering • no NAT Solutions: • routing • overlay network (SDN) (Flannel, Calico, Weave Net, ...)
  10. 10. Cluster Bootstrapping minikube – the easiest way to start a local, single-node cluster in a VM $ minikube start kubeadm – configure k8s components with single command on each machine node1:~$ kubadm init node2:~$ kubeadm join -–token <TOKEN> <MASTER_IP>:6443 --discovery-token-ca-cert-hash sha256:<HASH> and many more... Picking the Right Solution (
  11. 11. 11 2-Mar-18 Photo by Mitchell Orr on Unsplash
  12. 12. Demo 0: Minikube Quickly bootstrap a k8s cluster with Minikube. Resources: Install Minikube Commands: $ minikube start $ minikube status $ kubectl cluster-info $ kubectl get nodes $ minikube dashboard $ minikube stop
  13. 13. Demo 1: Pod, Deployment, Service Use kubectl CLI Create a deployment and expose it outside the cluster as a NodePort service. Perform operations with kubectl CLI. Commands: $ kubectl get pods,deployments,services $ kubectl create deployment --image=<IMAGE> <NAME> $ kubectl expose deployment <NAME> --type=NodePort --port=<PORT>
  14. 14. Demo 2: Scaling and updates YAML manifests Create a deployment and a service with an YAML manifest file. Scale it and update an image of the container. Commands: $ kubectl apply -f <FILE> $ kubectl scale deployment <NAME> --replicas=<NUMBER> $ kubectl set image deployment/<NAME> <CONTAINER>=<IMAGE>
  15. 15. Demo 3: Multiple containers in a pod Create a deployment with two containers in one pod. Scale it and expose one of the containers. Commands: $ kubectl apply -f <FILE>
  16. 16. Demo 4: Multiple pods Create three deployments with different scaling and connections between them. Expose frontend to outside of the cluster. Commands: $ kubectl apply -f <FILE>
  17. 17. Confidential | Copyright@2018 Amartus @amartus_com company/amartus Questions?