Curso Kubernetes for Developers on AKS
24 horasVisão Geral
Este Curso Kubernetes for Developers on AKS, começa com uma introdução ao Docker e depois vai para o Azure Container Registry e para o Azure Container Instances. Abordaremos os principais conceitos, design, carga de trabalho, implantação, registro, monitoramento e solução de problemas do Kubernetes. EsteCurso Kubernetes for Developers on AKS, inclui laboratórios práticos e pode ser personalizado de acordo com suas especificações.
Objetivo
Após realizar este Curso Kubernetes for Developers on AKS, você será capaz de:
- Introdução ao Docker
- Registro de Contêiner do Azure e Instâncias de Contêiner do Azure
- Introdução ao Docker
- Construindo Imagens Docker
- Registro de Contêiner do Azure e Instâncias de Contêiner do Azure
- Conceitos básicos do KubernetesImplantação e exposição de aplicativos
- Projeto
- Carga de trabalho do Kubernetes
- Configuração de implantação
- Volume compartilhado usando o compartilhamento de arquivos do Azure
- Registro, monitoramento e solução de problemas
Publico Alvo
Este Curso Kubernetes for Developers on AKS, é destinado a desenvolvedores que precisam compreender todos os aspectos de como conteinerizar, hospedar, implantar e configurar um aplicativo em um cluster de vários nós.
Pre-Requisitos
Este Curso Kubernetes for Developers on AKS é destinado a desenvolvedores que precisam compreender todos os aspectos de como conteinerizar, hospedar, implantar e configurar um aplicativo em um cluster de vários nós.
Materiais
Português/Inglês + Exercícios + Lab PraticoConteúdo Programatico
Docker Introduction
- • What is Docker?
- • Docker Containers vs Traditional Virtualization
- • Where Can I Run Docker?
- • Docker as Platform-as-a-Service
- • Docker Integration
- • Docker Services
- • Docker Hub Container Registry
- • Alternative Container Registries
- • Competing Containerization Systems
- • Docker Command-line
- • Starting, Inspecting, and Stopping Docker Containers
Building Docker Images
- • Docker Images
- • Containerizing an Application
- • Building The Image
- • Building a Docker Images using Dockerfile
- • Sample Dockerfile
- • Environment Variables
- • Environment Variables - Example
- • Arguments
- • Multi-stage Builds
- • Stop at a Specific Build Stage
- • RUN
- • EXPOSE
- • EXPOSE (Continued)
- • COPY
- • ADD
- • CMD
- • ENTRYPOINT
- • CMD vs. ENTRYPOINT
- • VOLUME
- • Build the Image
- • .dockerignore
- • Dockerfile – Best Practices
- • Dockerfile - Best Practices (contd.)
- • Published Ports
- • Docker Documentation Link
- • Docker Registry
- • Hosting a Local Registry
- • Deploying Docker Images to a Kubernetes Cluster
- • Deploying to Kubernetes
- • Running Commands in a Container
- • Multi-Container Pod
Azure Container Registry and Azure Container Instances
- • Azure Container Registry (ACR)
- • ACR Typical Workflow
- • Container Registry SKUs
- • Creating ACR
- • Pushing Existing Docker Images into ACR
- • Build Images in ACR
- • Obtaining ACR Credentials
- • Azure Container Instances (ACI)
- • Azure Container Instance Workflow
- • Working with ACI
- • Working with ACI (contd.)
- • Deleting Container Instances and Container Registry
Kubernetes Core Concepts
- • Kubernetes Basics
- • What is Kubernetes?
- • Container Orchestration
- • Kubernetes Architecture
- • Kubernetes Concepts
- • Cluster and Namespace
- • Nodes
- • Master
- • Pod
- • Using Pods to Group Containers
- • Label
- • Label Syntax
- • Annotation
- • Label Selector
- • Replication Controller and Replica Set
- • Service
- • Storage Volume
- • Secret
- • Resource Quota
- • Authentication and Authorization
- • Routing
- • Docker Registry
- • Azure Kubernetes Service (AKS)
- • AKS Diagram
- • Deploying an AKS Cluster
- • Application Deployment on AKS
Deploying and Exposing Applications
- • Configuring AKS for Deployment
- • Kubernetes Services
- • Service Resources
- • Service Type
- • ClusterIP
- • NodePort
- • NodePort from Service Spec
- • LoadBalancer
- • LoadBalancer from Service Spec
- • ExternalName
- • Accessing Applications
- • Service Without a Selector
- • Ingress
- • Ingress Resource Example
- • Ingress Controller
- • Service Mesh
Design
- • Traditional Applications
- • Virtual Machines
- • Containerized Applications
- • Decoupled Resources
- • Transience
- • Flexible Framework
- • Application Resource Usage
- • Measuring Resource Usage
- • Docker Resource Usage Statistics
- • Docker Container Resource Constraints
- • Docker Run Command Resource Flags
- • Using Label Selectors
- • Equality Based Label Selector
- • Set Based Label Selector
- • Multi-Container Pods
- • Sidecar Container
- • Sidecar Container Uses
- • Adapter Container
Kubernetes Workload
- • Kubernetes Workload
- • Managing Workloads
- • Imperative commands
- • Imperative Object Configuration
- • Declarative Object Configuration
- • Configuration File Schema
- • Understanding API Version
- • Obtaining API Versions
- • Obtaining API Versions (contd.)
- • Stateless Applications
- • Sample Deployment Manifest File
- • Working with Deployments
- • Stateful Applications
- • Sample Stateful Manifest File
- • Working with StatefulSet
- • Jobs
- • Sample Job Manifest File
- • Working with Batch Job
- • DaemonSets
- • Sample Daemon Manifest File
- • Rolling Updates
Deployment Configuration
- • Introduction to Volumes
- • Container OS file system storage
- • Docker Volumes
- • Kubernetes Volumes
- • Volume Specs
- • K8S Volume Types
- • Cloud Resource Types
- • emptyDir
- • Using an emptyDir Volume
- • Other Volume Types
- • Persistent Volumes
- • Creating a Volume
- • Persistent Volume Claim
- • Persistent Volume
- • Pod that uses Persistent Volume
- • Dynamic Volume Provisioning
- • Requesting Dynamic Storage
- • Secrets
- • Creating Secrets from Files
- • Creating Secrets from Literals
- • Using Secrets
- • Creating configMaps from Literals
- • Creating configMaps from files
- • Using configMaps
- • Security Context
- • Security Context Usage
- • Deployment Configuration Status
- • Replicas
- • Scaling
Shared Volume using Azure Files share
- • Volumes
- • Azure Disks
- • Azure Files share
- • Azure Files share - Workflow
- • Creating a Kubernetes Secret
- • Configuring the Volume in the Container Specification
- • Verifying the Azure Files share is Mounted
Logging, Monitoring, and Troubleshooting
- • Differences Between Logging and Monitoring
- • Logging in Kubernetes
- • Basic Logging
- • Debugging Pods
- • Debugging Nodes
- • Debugging Replication Controllers and Services
- • Azure Monitor
- • Container Insights
- • Log Queries in Azure Monitor
- • Log Analytics Query Language
- • Logging Agents
- • Fluentd and Elastic Stack
- • Monitoring with Prometheus
- • Alerting
- • Upgrade Process
- • Troubleshooting
- • YAML Syntax Exceptions
- • nodeSelector
- • Troubleshooting a Failed Image Pull
- • Resource Issues when Scaling
Lab Exercises
- Lab 1. Building a Docker Image with Dockerfile
- Lab 2. Getting Started with Docker Compose
- Lab 3. Working with Container Registry and Container Instances
- Lab 4. Pushing Docker Images into ACR
- Lab 5. Accessing the Kubernetes API in AKS
- Lab 6. Accessing Applications in AKS
- Lab 7. Deploying ACR Images to AKS
- Lab 8. Working with Kubernetes Workloads in AKS
- Lab 9. Implementing the Sidecar Pattern
- Lab 10. Using Persistent Storage in AKS
- Lab 11. Using AKS Volume with Azure File share
- Lab 12. Exploring Logging and Monitoring in AKS
- Lab 13. Troubleshooting