More Related Content


Openshift Workshop

  1. Agenda 1. Introduction to Kubernetes • Kubernetes Definition • Introduction to Container • Kubernetes Architecture • Kubernetes Concept • Kubernetes Configuration • Red Hat Openshift – Logical Architecture 2. Instructor led CI/CD 3. Instructor led Auto Scaling 2
  2. • Open-source Container Orchestration Tools • Developed by Google • Help manage containerized applications in different deployment environment 3 Kubernetes Definition
  3. 4 DB Monolith Business Logic UI UI Business Logic DB UI Enterprise Svc Bus Service Service UI DB DB DB DB DB MS MS MS MS MS Monolithic Service – Oriented Microservices Evolution of Application
  4. 1. VMs vs. Containers 2. Container features • Lightweight • Portable • Isolated 5 Virtual Machines Containers Infrastructure Operating System Container Runtime Bins/Lib App1 Bins/Lib App2 Infrastructure Operating System Bins/Lib App1 Bins/Lib App2 OS OS What is a Container?
  5. 1. Trend from Monolith to Microservices 2. Increase usage of Containers 3. Demand for a proper way of managing those containers 6 What Problem Does Kubernetes Solve?
  6. 7 24/7 High availability (No Downtime) Scalability (High Performance) Disaster Recovery (Backup and Restore) What are The Task of Orchestration Tool?
  7. 8 Cloud Controller Manager Runs cloud controller processes that take care of e.g. Node autoscaling, creating DNS entries, … Controller Manager Run all built-in controllers, like Node or Replication Controller Scheduler Distributes unscheduled workloads across the available worker nodes API Server Tracking state of all cluster components and managing interactions between them Cluster DNS* Provides in-cluster DNS for Pods and Services etcd Key value store for all cluster configuration data Cloud Provider API* API to manage cloud (AWS, Azure. GCP, …) resources Kubeproxy Accepts and controls network connections to the node’s Pods Kubelet Manages containers based on incoming Pod specification Container Runtime Runtime that implements the CRI, like CRI-O or containerd Watches for changes Watches for changes Reads from/ Writes to Watches for changes Talks to Worker Node(s) uses Watches for changes * Control Plane Optional Component Kubernetes Architecture
  8. Pod Replication Controller / Deployment Service Label One or More Containers Shared IP Shared Storage Volume Shared Resources Shared Lifecycle Ensures that a specified Number of pod replicas are running a any one time Grouping of pods, act as one, has stable virtual IP and DNS name Key/Value pairs associated with kubernetes objects (e.g. env=production) Kubernetes Concept 9
  9. Each configuration file has 3 parts: 1. Metadata 2. Specification 3. Status 10 apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deployment labels: app: myapp spec: replicas: 3 selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: containers: - name: myapp image: nginx Kubernetes Configuration
  10. Challenges? 11 Complex A lot of configuration Harnessing Kubenetes complexity
  11. Enterprise Kubernetes Distribution 12 Container application platform based on containers and Kubernetes for building, disturbing and running containers at scale.
  12. Red Hat Openshift – Logical Architecture 13