Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes for Developers - All Day DevOps

Kubernetes for Developers - All Day DevOps

Hossam Barakat

November 06, 2019

More Decks by Hossam Barakat

Other Decks in Programming


  1. @hossambarakat_ • What is Kubernetes? • Why Kubernetes? • Kubernetes

    Architecture • Deploy Web App with DB on Kubernetes Agenda
  2. @hossambarakat_ Containers Hardware Host Operating System Application Application Application Container

    Dependencies Application Host Operating System Hardware Container Engine Container Container Container Container Hardware Host Operating System Virtual Machine Guest OS Application Virtual Machine Guest OS Application Hypervisor
  3. @hossambarakat_ • Service discovery • Scaling • Health monitoring •

    Failover • Networking • Scheduling • Coordinated app upgrades Container Orchestration
  4. @hossambarakat_ Kubernetes Architecture Master API Server Scheduler Worker Kubelet Container

    Runtime UI (Dashboard) CLI (Kubectl) Other Client(s) Container Container Cluster
  5. @hossambarakat_ Pod kind: Pod apiVersion: v1 metadata: name: tasks-app spec:

    containers: - name: tasks-app image: hossambarakat/tasklist ports: - containerPort: 80 $ Kubectl apply -f pod.yaml
  6. @hossambarakat_ Service IP: DNS: tasks-app-svc Service IP: DNS:

    mssql-service Service Pod Pod Pod
  7. Azure AKS $ az aks create -g myResourceGroup -n myCluster

    --generate-ssh-keys $ az aks upgrade --kubernetes-version 1.12.6 --name myCluster --resource-group myResourceGroup $ az aks scale -g myResourceGroup -n myCluster --node-count 6
  8. @hossambarakat_ • Scale agent nodes based on pending pods and

    nodes utilization • Scans the cluster periodically to check for pending pods or empty nodes and increases the size if possible AKS Cluster Autoscaler
  9. @hossambarakat_ • https://github.com/hossambarakat/TaskList • Introduction to Kubernetes (edX) • Learn

    Kubernetes using Interactive Hands-on Scenarios (Katacoda) • https://kubernetes.io/docs/ Resources