Curso Docker and Kubernetes Administration
32 horasVisão Geral
Este Curso Docker and Kubernetes Administration apresenta os contêineres e duas das ferramentas mais populares para seu gerenciamento e orquestração:
Docker e Kubernetes.
Ao realizar este Curso Docker and Kubernetes Administration os participantes ganharão uma base sólida das tecnologias Docker e Kubernetes
- Os contêineres são uma das ferramentas mais poderosas que surgiram para desenvolver e gerenciar software. Quando combinado com DevOps e práticas nativas da nuvem, permite que as organizações entreguem aplicativos e serviços de maneira eficiente em alta velocidade.
- Serão apresentados aos principais componentes do Docker e do Kubernetes, conforme se aplicam aos ambientes de desenvolvimento e produção / preparação.
- Os tópicos deste treinamento Docker e Kubernetes incluem: contêineres, ferramentas para gerenciamento local, pods, rótulos, volumes, rede, controladores de replicação, serviços e conjuntos com estado. Os alunos terão experiência prática sobre como as tecnologias podem ser usadas para fornecer software de acordo com as práticas de DevOps.
- Ao final deste curso de treinamento do Docker e Kubernetes, os participantes e as equipes entenderão como criar serviços seguros, robustos e altamente disponíveis que são resilientes e capazes de se adaptar às demandas de aplicativos rigorosos.
O que o Kubernetes pode fazer por você?
- Com serviços web modernos, os usuários esperam que os aplicativos estejam disponíveis 24 horas por dia, 7 dias por semana, e os desenvolvedores esperam implantar novas versões desses aplicativos várias vezes ao dia.
- A conteinerização ajuda a empacotar o software para atender a esses objetivos, permitindo que os aplicativos sejam lançados e atualizados sem tempo de inatividade.
- O Kubernetes ajuda você a garantir que esses aplicativos em contêiner sejam executados onde e quando você quiser, além de ajudá-los a encontrar os recursos e as ferramentas de que precisam para funcionar.
- O Kubernetes é uma plataforma de código aberto pronta para produção, projetada com a experiência acumulada do Google em orquestração de contêineres, combinada com as melhores ideias da comunidade.
Objetivo
Após realizar este Curso Docker and Kubernetes Administration você será capaz de:
- Aprenda os usos fundamentais da tecnologia de contêiner e os princípios arquitetônicos de como aplicar os contêineres aos desafios técnicos.
- Crie contêineres com soluções em pacote e software personalizado.
- Aprenda como serviços stateful - como bancos de dados, soluções de streaming como Kafka e outros aplicativos especializados como ElasticSearch - podem ser implantados em configurações altamente disponíveis com redundância e descoberta de serviço / balanceamento de carga.
- Use os ambientes Docker e Kubernetes CLI para implantar soluções em ambientes locais (Docker) e de cluster (Kubernetes).
- Veja como outros componentes - como o Kafka Connect - podem ser usados para integrar serviços na plataforma Kubernetes.
- Explore como o Docker e tecnologias como Jenkins podem ser usados para testar e construir contêineres continuamente com base nas alterações no código-fonte.
Publico Alvo
- Desenvolvedores,
- Arquitetos de sistema,
- Líderes de equipes técnicas,
- Administradores de sistemas e profissionais de DevOps que desejam entender e usar o Kubernetes em ambientes de nuvem.
Pre-Requisitos
- Proficiência com a interface de linha de comando do Linux (CLI)
- Amplo conhecimento da administração do sistema Linux: sistema de arquivos Linux, rede e script bash.
- Conceitos e metodologias de programação de computadores. Exemplos de código completos para o curso são fornecidos nas linguagens de programação Python e Java.
Informações Gerais
- Carga horaria 32h
- Se noturno o curso e ministrado de segunda-feira das 19h às 23h, total e 8 noites,
- Se aos sábados o curso e ministrado das 09h às 18h, total de 4 sábados,
- Se integral o curso e ministrado de segunda-feira a quinta-feira das 09h às 18h total de 4 dias,
Formato de entrega:
- Presencial em sala de aula,
- On-line ao vivo em tempo real na presença de um instrutor em tempo real via ferramenta meet, onde todos os participantes vão estar conectados em tempo real, com todos os tipos de acesso práticos.
Materiais
Português + Lab KubernetesConteúdo Programatico
Docker and Linux Container Technology: Introduction and Use-Cases
- Modern Infrastructure Terminology
- Virtualization
- Hypervisors
- Hypervisor Types
- Type 1 Hypervisors
- Type 2 Hypervisors
- Type 1 vs Type 2 Processing
- Paravirtualization
- Virtualization Qualities (1/2)
- Virtualization Qualities (2/2)
- Disadvantages of Virtualization
- Containerization
- Virtualization vs Containerization
- Where to Use Virtualization and Containerization
- Containerization: High-Level
- Popular Containerization Systems
- What are Linux Containers
- Docker
- OpenVZ
- Solaris Zones (Containers)
- Container Orchestration Tools
- Docker Swarm
- Kubernetes
- Mesos and Marathon
- Mesos and Marathon (contd.)
- Docker Use-Cases
- Microservices
- Microservices and Containers / Clusters
- Summary
Docker in Action
- Docker Basics
- Where Can I Run Docker?
- Installing Docker Container Engine
- Docker Toolbox
- What is Docker?
- Docker Architecture
- Docker Architecture Diagram
- Docker Images
- Docker Containers
- Docker Integration
- Docker Services
- Docker Application Container Public Repository
- Docker Run Command
- Starting, Inspecting, and Stopping Docker Containers
- Docker Volume
- Dockerfile
- Docker Compose
- Using Docker Compose
- Dissecting docker-compose.yml
- Specifying services
- Dependencies between containers
- Injecting Environment Variables
- Summary
Managing Docker State
- State and Data in Docker
- Volumes
- More About Volumes
- Uses for Volumes
- Working With Volumes
- Create Volume
- Use Volumes with Containers
- Bind Mounts
- Using Bind Mounts
- tmpfs Mounts
- Storing Data in the Container
- Storage Drivers
- Remote Data Storage
- Networking
- The Default Bridge Network
- User-Defined Bridge Networks
- Docker Network Commands
- Creating a User-Defined Bridge Network
- Summary
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
- Summary
Kubernetes Architecture
- Architecture Diagram
- Components
- Kubernetes Cluster
- Master Node
- Kube-Control-Manager
- Nodes
- Other Components
- Interacting with Kubernetes
- Summary
- Chapter 6. Working with Kubernetes
- Installation
- Startup
- Kubernetes Tools
- kubectl Command Line Interface
- API Proxy
- Dashboard
- Kubernetes Component Hierarchy
- Deployments
- Deployment Commands
- Updating Deployments
- Network Considerations
- Services
- Namespaces
- Other Useful Commands
- Summary
Scheduling and Node Management
- Kubernetes Scheduler Overview
- Trusting the Kubernetes Scheduler
- Scheduling Process
- Scheduling Process – Predicates
- Scheduling Process – Priorities
- Scheduling Algorithm
- Kubernetes Scheduling Algorithm
- Scheduling Conflicts
- Controlling Scheduling
- Label Selectors
- Label Selectors (Contd.)
- Node Affinity and Anti-affinity
- Node Affinity Example
- Node Antiaffinity Example
- Taints and Tolerations
- Taints and Tolerations (Contd.)
- Taints and Tolerations – Example
- Summary
- Chapter 8. Managing Networking
- Kubernetes Networking Components
- The Kubernetes Network Model
- Networking Scenarios
- Container-Container Communication
- Pod-Pod Communication
- 1.3 Pod-Service Communication
- External-Service Communication
- Accessing Applications
- Useful Commands
- Summary
Managing Persistent Storage
- Storage Methods
- Container OS file system storage
- Docker Volumes
- Kubernetes Volumes
- K8S Volume Types
- Cloud Resource Types
- configMaps
- Creating configMaps from Literals
- Creating configMaps from files
- Using configMaps
- emptyDir
- Using an emptyDir Volume
- Other Volume Types
- Persistent Volumes
- Creating a Volume
- Persistent Volume Claim
- Persistent Volume
- Pod that uses Persistent Volume
- Secrets
- Creating Secrets from Files
- Creating Secrets from Literals
- Using Secrets
- Security Context
- Security Context Usage
- Summary
Working with Helm
- What is Helm?
- Installing Helm
- Helm and KUBECONFIG
- Helm Features
- Helm Terminology
- Searching for Charts with helm CLI
- Adding Repositories
- Helm Hub – Search
- Helm Hub – Chart Page
- Installing a Chart
- Upgrading a Release
- Rolling Back a Release
- Creating Custom Charts
- Common Chart Files
- Helm Templates
- Installing A Custom Chart
- Packaging Custom Charts
- Summary
Continuous Integration Fundamentals
- Jenkins Continuous Integration
- Jenkins Features
- Running Jenkins
- Downloading and Installing Jenkins
- Running Jenkins as a Stand-Alone Application
- Running Jenkins on an Application Server
- Installing Jenkins as a Windows Service
- Different types of Jenkins job
- Configuring Source Code Management(SCM)
- Working with Subversion
- Working with Subversion (cont’d)
- Working with Git
- Build Triggers
- Schedule Build Jobs
- Polling the SCM
- Maven Build Steps
- Configuring Jenkins to Access Kubernetes
- Jenkins Pipeline
- Jenkins Pipeline Output
- Installing Jenkins Plugins
- Summary
Lab Exercises
- Lab 1. Managing Containers
- Lab 2. Building Images
- Lab 3. Dockerfiles
- Lab 4. Deploying Stateful Services in Docker
- Lab 5. Custom Network Management
- Lab 6. Docker Volumes
- Lab 7. Accessing the Kubernetes API
- Lab 8. Working with Kubernetes Workloads
- Lab 9. Scheduling and Node Management
- Lab 10. Accessing Applications
- Lab 11. Using Persistent Storage
- Lab 12. Getting Started with Helm
- Lab 13. Build CI Pipeline with Jenkins