Skip to content

Latest commit

 

History

History
92 lines (87 loc) · 7.08 KB

README.md

File metadata and controls

92 lines (87 loc) · 7.08 KB

Google DevOps Workshop

Code for the demos and labs for this workshop

by Jerry Meisner and Christoph Champ for Redapt, Inc. (August 2018)

Modified by Jonathan Dawson for Redapt, Inc. (October 2018)

Table of Contents

  1. Introduction
  2. Docker
    1. Overview
      1. Benefits of Containers
      2. Install Docker
      3. Docker commands
      4. Docker Directives
      5. Container Volume Management
      6. Images
      7. Networking
      8. Monitoring
      9. Events
      10. Docker Image Repositories (Public/Private)
    2. Docker Compose
    3. Containerization
      1. Dependencies and Image Size
      2. Configurability and Security
      3. Tagging and Versioning
      4. .NET Core - ReactJS
      5. Java Spring Boot
      6. Windows Containers
  3. Kubernetes / GKE
    1. Overview / Moving Parts
      1. ETCD
      2. Kubernetes API
      3. Controller Manager / Scheduler / Kubelet / Proxy
      4. Networking (Flannel/Calico)
      5. Primitives (Deployments / Services / Pods / etc)
      6. RBAC / Service Accounts
      7. Cloud Provider
    2. Environment Strategies (NonProd/Prod vs Dev/Test/Cert/Prod)
      1. Namespaces
      2. Environments
      3. Service Discovery / KubeDNS
      4. Workloads
    3. Standing up your First Cluster
      1. Minikube (Local)
      2. Docker Desktop
      3. GKE
      4. kubectl
      5. Labels, Selectors, and Annotations
      6. Private Repo Image Pull Secrets
    4. Deploying Stateless Applications
      1. Deployments
      2. Jobs
      3. DaemonSets
      4. ConfigMaps and Secrets
      5. Revisiting our .NET Core - ReactJS example
    5. Deploying Stateful Applications
      1. Volume Management
      2. Stateful Sets
    6. System Services
      1. Standard Kube-System Pods
      2. Third Party Add-Ons (Datadog, Helm)
    7. Ingress / Traffic Routing
      1. Defining Services (ClusterIP / NodePort / LoadBalancer)
      2. Ingress Controllers / Rules
      3. Considerations for gRPC
    8. Auto-Scaling / SRE
      1. Resources (Limits / Requests)
      2. NodeSelector/Affinity/Anti-Affinity
      3. Liveness / Readiness Probes
      4. Horizontal Pod Autoscaling
      5. Cluster Scaling
    9. Revisiting Section 2.3.4 .NET Core - ReactJS
      1. Setting Up Redis
      2. Setting Up Our Web App
  4. Pipelines
    1. Helm
      1. Install Helm
      2. Reading Charts
      3. Creating Charts
      4. State Metrics
      5. Ingress Controller
      6. ELK Stack (Logging)
      7. Jenkins Stack
    2. Jenkins on K8s
      1. Install Jenkins
      2. Test Pipeline
      3. Building an App
    3. Containers as a Build Artifact / Promoting Builds
    4. Integration Testing Microservices