kubernetes Administration

  • DevOps | CI | CD | Kubernetes | Web3

kubernetes Administration

28 horas
Visão Geral

O curso de Administração Kubernetes é projetado para fornecer aos participantes uma compreensão profunda do Kubernetes, a plataforma de orquestração de contêineres de código aberto mais popular do mundo. Kubernetes permite a automatização da implantação, dimensionamento e gerenciamento de aplicativos em contêineres. Este curso cobre desde os conceitos básicos até os aspectos avançados da administração de clusters Kubernetes, incluindo configuração, gerenciamento, monitoramento, segurança e solução de problemas.

Os participantes aprenderão a configurar e operar clusters Kubernetes, implantar aplicativos em contêineres, gerenciar o armazenamento e a rede, implementar políticas de segurança e usar ferramentas de monitoramento e solução de problemas para garantir a alta disponibilidade e desempenho dos aplicativos.

Objetivo

Após realizar este cursokubernetes Administration, você será capaz de:

  • Planejar e criar um cluster Kubernetes, incluindo a instalação dos componentes necessários, a configuração do cluster e a adição de nós
  • Implante aplicativos no Kubernetes criando pods, serviços e armazenamento
  • Gerencie recursos do Kubernetes com escalabilidade, escalonamento automático e atualização de aplicativos
  • Integre o Kubernetes a um pipeline de integração contínua usando Jenkins
  • Solucione problemas do Kubernetes monitorando logs, diagnosticando falhas de aplicativos e solucionando problemas de acesso à rede
  • Compreender os conceitos fundamentais do Kubernetes e a arquitetura de clusters.
  • Configurar e gerenciar clusters Kubernetes em ambientes de produção.
  • Implantar, atualizar e gerenciar aplicativos em contêineres.
  • Configurar e gerenciar armazenamento e redes em Kubernetes.
  • Implementar práticas de segurança e controle de acesso em clusters Kubernetes.
  • Monitorar e solucionar problemas em clusters Kubernetes para garantir alta disponibilidade e desempenho.
  • Utilizar ferramentas e técnicas avançadas para a administração eficiente de clusters Kubernetes.
Publico Alvo
  • Administradores de Sistemas e Redes.
  • Engenheiros de DevOps.
  • Desenvolvedores de Software que trabalham com contêineres.
  • Arquitetos de Soluções.
  • Profissionais de TI interessados em aprender Kubernetes.
  • Qualquer pessoa responsável pela implantação, gestão e operação de aplicativos em contêineres em ambientes de produção.
Pre-Requisitos
  • Compreenda as habilidades de administração do Linux
  • Sinta-se confortável usando a linha de comando
  • Ser capaz de editar arquivos usando um editor de texto de linha de comando
  • Experiência com containers e networking
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

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. Skip Kubernetes Scheduler
  3. Scheduling Process
  4. Scheduling Process - Predicates
  5. Scheduling Process - Priorities
  6. Scheduling Algorithm
  7. Kubernetes Scheduling Algorithm
  8. Scheduling Conflicts
  9. Controlling Scheduling
  10. Label Selectors
  11. Node Affinity and Anti-affinity
  12. Node Affinity Example
  13. Node Antiaffinity Example
  14. 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 Nodes
  11. Debugging Replication Controllers and Services
  12. Upgrading Kubernetes
  13. Upgrade Process
  14. Determine Which Version to Upgrade To
  15. Upgrade kubeadm
  16. Upgrade Control Plane Node
  17. Upgrade kubelet and kubectl
  18. Upgrade Worker Nodes
  19. 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 Git
  12. Build Triggers
  13. Schedule Build Jobs
  14. Polling the SCM
  15. Maven Build Steps
  16. Configuring Jenkins to Access Kubernetes
  17. Jenkins Pipeline
  18. Jenkins Pipeline Output
  19. Installing Jenkins Plugins

Kubernetes Cluster Administration Overview

  1. Architecture Diagram
  2. Components
  3. Kubernetes Cluster
  4. Master Node
  5. Kube-Control-Manager
  6. Nodes
  7. Other Components
  8. Interacting with Kubernetes

Planning and Designing a Kubernetes Cluster

  1. Cloud Native Security
  2. Code Security
  3. Container Security
  4. Cluster Security
  5. Cloud/Data Source Security
  6. Access Management
  7. API Server Ports
  8. API Access
  9. Security Policies
  10. RBAC Role Based Access Control
  11. Role Example
  12. ClusterRole Example
  13. Granting Roles to Users
  14. Security Contexts
  15. Kubernetes Namespaces
  16. Namespace Advantages
  17. Initial Namespaces
  18. Custom Namespaces
  19. Namespaced Objects
  20. kubectl Commands and Namespaces
  21. Uses for Namespaces

Managing Kubernetes Clusters

  1. Kubernetes Cluster
  2. Points of Configuration
  3. Sizing a Cluster
  4. Resizing a Cluster
  5. Horizontal auto-scaling
  6. Maintenance on a Node
  7. Kubernetes Cluster Limits
  8. Considerations for Running Large Clusters
  9. Considerations for Running Multiple Clusters
  10. Multi-Cluster Architectural Choices
  11. Resource Quotas
  12. Example Resource Allocation
  13. Cluster Failure Modes
  14. Cluster Troubleshooting Workflow

Deployment Strategies

  1. Rolling Updates
  2. Parameters for Rolling Updates
  3. Strategy Parameters in Deployment Specs
  4. Deployment Strategies
  5. Recreate
  6. Ramped
  7. Blue/Green
  8. Canary
  9. a/b Testing
  10. Deployment Status
  11. History
  12. Versioning of Deployments
  13. Labeling a Deployment Version in Kubernetes
  14. Versioning with Helm
  15. Deployment Tools

Autoscaling

  1. Autoscaling
  2. HorizonalPodAutoscaler (HPA)
  3. Autoscale Command
  4. Autoscale Yaml
  5. Generating Traffic for Testing
  6. Response to Changing Traffic
  7. Get HPA --watch Mode
  8. Scaling Based on Requested Resources
  9. Scaling Based on Direct Value
  10. Metrics Types for Scaling
  11. Scaling Based on Multiple Metrics

Lab Exercises

  • Lab 1. Creating a Docker Account and Obtain an Access Token
  • Lab 2. Configuring Minikube/Kubernetes to Use a Custom Docker Account
  • Lab 3. Accessing the Kubernetes API
  • Lab 4. Working with Kubernetes Workloads
  • Lab 5. Scheduling and Node Management
  • Lab 6. Accessing Applications
  • Lab 7. Using Persistent Storage
  • Lab 8. Getting Started with Helm
  • Lab 9. Build CI Pipeline with Jenkins
  • Lab 10. Kubernetes Cluster Overview
  • Lab 11. Planning a Kubernetes Cluster
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