Curso Docker and Kubernetes Fundamentals

  • DevOps | CI | CD | Kubernetes | Web3

Curso Docker and Kubernetes Fundamentals

24 horas
Visão Geral

Este Curso Docker and Kubernetes Fundamentals, oferece uma combinação de conceitos teóricos, bem como laboratórios práticos do mundo real, permitindo que os alunos apliquem seus conhecimentos. O Curso Docker and Kubernetes Fundamentals, cobre habilidades essenciais de Kubernetes e Docker e apresenta brevemente a integração contínua.

Objetivo

Após realizar este Curso Docker and Kubernetes Fundamentals, você será capaz de:

  • Os usos fundamentais da tecnologia de contêineres e os princípios arquitetônicos de como aplicar contêineres a desafios técnicos.
  • Crie contêineres com soluções empacotadas e software personalizado.
  • Use os ambientes CLI do Docker e do Kubernetes para implantar soluções em ambientes locais (Docker) e de cluster (Kubernetes).
  • Como serviços com estado – como bancos de dados, soluções de streaming e outros aplicativos especializados – podem ser implantados em configurações altamente disponíveis com redundância e descoberta de serviços/balanceamento de carga.
  • Como outros componentes – podem ser usados ​​para integrar serviços na plataforma Kubernetes.
  • Como o Docker e tecnologias como Jenkins podem ser usados ​​para testar e construir contêineres continuamente com base em alterações no código-fonte.
Publico Alvo
  • Desenvolvedores,
  • arquitetos de sistemas,
  • líderes de equipes técnicas,
  • administradores de sistemas e profissionais de DevOps que desejam compreender e usar Kubernetes em ambientes de nuvem.
Pre-Requisitos
  • Proficiência com a interface de linha de comando do Linux (CLI)
  • Amplo conhecimento de administração de sistemas Linux: sistema de arquivos Linux, rede e scripts bash.
  • Conceitos e metodologias de programação de computadores. Exemplos completos de código do curso são fornecidos nas linguagens de programação Python e Java.
Materiais
Português/Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

Docker and Linux Container Technology: Introduction and Use-Cases

  1. Modern Infrastructure Terminology
  2. Virtualization
  3. Hypervisors
  4. Hypervisor Types
  5. Type 1 Hypervisors
  6. Type 2 Hypervisors
  7. Type 1 vs. Type 2 Processing
  8. Paravirtualization
  9. Virtualization Qualities
  10. Disadvantages of Virtualization
  11. Containerization
  12. Virtualization vs. Containerization
  13. Where to Use Virtualization and Containerization
  14. Containerization: High-Level
  15. Popular Containerization Systems
  16. What are Linux Containers
  17. Docker
  18. OpenVZ
  19. Solaris Zones (Containers)
  20. Container Orchestration Tools
  21. Docker Swarm
  22. Kubernetes
  23. Mesos and Marathon
  24. Docker Use-Cases
  25. Microservices
  26. Microservices and Containers / Clusters

Docker in Action

  1. Docker Basics
  2. Where Can I Run Docker?
  3. Installing Docker Container Engine
  4. Docker Toolbox
  5. What is Docker?
  6. Docker Architecture
  7. Docker Architecture Diagram
  8. Docker Images
  9. Docker Containers
  10. Docker Integration
  11. Docker Services
  12. Docker Application Container Public Repository
  13. Docker Run Command
  14. Starting, Inspecting, and Stopping Docker Containers
  15. Docker Volume
  16. Dockerfile
  17. Docker Compose
  18. Using Docker Compose
  19. Dissecting docker-compose.yml
  20. Specifying services
  21. Dependencies between containers
  22. Injecting Environment Variables

Managing Docker State

  1. State and Data in Docker
  2. Volumes
  3. More About Volumes
  4. Uses for Volumes
  5. Working With Volumes
  6. Create Volume
  7. Use Volumes with Containers
  8. Bind Mounts
  9. Using Bind Mounts
  10. tmpfs Mounts
  11. Storing Data in the Container
  12. Storage Drivers
  13. Remote Data Storage
  14. Networking
  15. The Default Bridge Network
  16. User-Defined Bridge Networks
  17. Docker Network Commands
  18. Creating a User-Defined Bridge Network

Open Container Initiative and Container Runtime Interface

  1. Open Container Initiative (OCI)
  2. Docker
  3. Docker Engine Architecture
  4. runC
  5. containerd
  6. containerd Benefits
  7. CRI-O
  8. CRI-O Components
  9. Kubernetes and CRI-O
  10. Using Container Runtimes with Minikube
  11. Docker Runtime and Kubernetes
  12. Putting Things Together

Kubernetes Architecture

  1. Kubernetes Basics
  2. What is Kubernetes?
  3. Container Orchestration
  4. Architecture Diagram
  5. Components
  6. Kubernetes Cluster
  7. Master Node
  8. Kube-Control-Manager
  9. Nodes
  10. Pod
  11. Using Pods to Group Containers
  12. Label
  13. Label Syntax
  14. Label Selector
  15. Annotation
  16. Persistent Storage
  17. Resource Quota
  18. Interacting with Kubernetes

Working with Kubernetes

  1. Installation
  2. Startup
  3. Kubernetes Tools
  4. kubectl Command Line Interface
  5. API Proxy
  6. Dashboard
  7. Kubernetes Component Hierarchy
  8. Deployments
  9. Deployment Commands
  10. Updating Deployments
  11. Network Considerations
  12. Services
  13. Namespaces
  14. Labels
  15. Annotations
  16. Other Useful Commands

Kubernetes Workload

  1. Kubernetes Workload
  2. Managing Workloads
  3. Imperative commands
  4. Imperative Object Configuration
  5. Declarative Object Configuration
  6. Configuration File Schema
  7. Understanding API Version
  8. Obtaining API Versions
  9. Stateless Applications
  10. Sample Deployment Manifest File
  11. Working with Deployments
  12. Stateful Applications
  13. Sample Stateful Manifest File
  14. Working with StatefulSet
  15. Jobs
  16. Sample Job Manifest File
  17. Working with Batch Job
  18. DaemonSets
  19. Sample Daemon Manifest File
  20. Rolling Updates

Scheduling and Node Management

  1. Kubernetes Scheduler
  2. Kubernetes Scheduler Overview (contd.)
  3. Kubernetes Scheduler Overview (contd.)
  4. Skip Kubernetes Scheduler
  5. Scheduling Process
  6. Scheduling Process - Predicates and Priorities
  7. Scheduling Algorithm
  8. Kubernetes Scheduling Algorithm
  9. Scheduling Conflicts
  10. Controlling Scheduling
  11. Label Selectors
  12. Node Affinity and Anti-affinity
  13. Node Affinity Example
  14. Node Antiaffinity Example
  15. Taints and Tolerations

Managing Networking

  1. Kubernetes Networking Components
  2. The Kubernetes Network Model
  3. Networking Scenarios
  4. Container-Container Communication
  5. Pod-Pod Communication
  6. 1.3 Pod-Service Communication
  7. External-Service Communication
  8. Accessing Applications
  9. Useful Commands
  10. Container Network Interface (CNI)
  11. What is CNI’s Role?
  12. CNI Configuration Format
  13. Sample CNI Configuration
  14. Running the CNI Plugins

Managing Persistent Storage

  1. Storage Methods
  2. Container OS file system storage
  3. Docker Volumes
  4. Kubernetes Volumes
  5. K8S Volume Types
  6. Cloud Resource Types
  7. configMaps
  8. Creating configMaps from Literals
  9. Creating configMaps from files
  10. Using configMaps
  11. emptyDir
  12. Using an emptyDir Volume
  13. Other Volume Types
  14. Persistent Volumes
  15. Creating a Volume
  16. Persistent Volume Claim
  17. Persistent Volume
  18. Pod that uses Persistent Volume
  19. Secrets
  20. Creating Secrets from Files
  21. Creating Secrets from Literals
  22. Using Secrets
  23. Security Context
  24. Security Context Usage

Working with Helm

  1. What is Helm?
  2. Installing Helm
  3. Helm and KUBECONFIG
  4. Helm Features
  5. Helm Terminology
  6. Searching for Charts with helm CLI
  7. Adding Repositories
  8. Helm Hub - Search
  9. Helm Hub - Chart Page
  10. Installing a Chart
  11. Upgrading a Release
  12. Rolling Back a Release
  13. Creating Custom Charts
  14. Common Chart Files
  15. Helm Templates
  16. Installing A Custom Chart
  17. Packaging Custom Charts

Logging, Monitoring, and Troubleshooting

  1. Differences Between Logging and Monitoring
  2. Logging in Kubernetes
  3. Basic Logging
  4. Logging Agents
  5. Fluentd and Elastic Stack
  6. Monitoring with Prometheus
  7. Kubernetes and Prometheus - Metrics
  8. Alerting
  9. Debugging Pods
  10. Debugging Pods (Contd.)
  11. Debugging Nodes
  12. Debugging Replication Controllers and Services
  13. Upgrading Kubernetes
  14. Upgrade Process
  15. Determine Which Version to Upgrade To
  16. Upgrade kubeadm
  17. Upgrade Control Plane Node
  18. Upgrade kubelet and kubectl
  19. Upgrade Worker Nodes
  20. Recovering From a Failure State

Continuous Integration Fundamentals

  1. Jenkins Continuous Integration
  2. Jenkins Features
  3. Running Jenkins
  4. Downloading and Installing Jenkins
  5. Running Jenkins as a Stand-Alone Application
  6. Running Jenkins on an Application Server
  7. Installing Jenkins as a Windows Service
  8. Different types of Jenkins job
  9. Configuring Source Code Management(SCM)
  10. Working with Subversion
  11. Working with Subversion (cont'd)
  12. Working with Git
  13. Build Triggers
  14. Schedule Build Jobs
  15. Polling the SCM
  16. Maven Build Steps
  17. Configuring Jenkins to Access Kubernetes
  18. Jenkins Pipeline
  19. Jenkins Pipeline Output
  20. Installing Jenkins Plugins

Lab Exercises

  • Lab 1. Creating a Docker Account and Obtaining an Access Token
  • Lab 2. Managing Containers
  • Lab 3. Building Images
  • Lab 4. Dockerfiles
  • Lab 5. Getting Started with Docker Compose
  • Lab 6. Docker Volumes
  • Lab 7. Custom Network Management
  • Lab 8. Configuring Minikube/Kubernetes to Use a Custom Docker Account
  • Lab 9. Accessing the Kubernetes API
  • Lab 10. Working with Kubernetes Workloads
  • Lab 11. Scheduling and Node Management
  • Lab 12. Accessing Applications
  • Lab 13. Using Persistent Storage
  • Lab 14. Getting Started with Helm
  • Lab 15. Build CI Pipeline with Jenkins
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h