Certificate Authentication

Advanced Docker and Kubernetes Certificate for RYAN FLOOD

Add to LinkedIn

Certificate ID: 
766719
Authentication Code: 
86859
Certified Person Name: 
RYAN FLOOD
Trainer Name: 
Konrad Mosoń
Duration Days: 
3
Duration Hours: 
21
Course Name: 
Advanced Docker and Kubernetes
Course Date: 
5 June 2024 10:00 to 7 June 2024 17:00
Course Outline: 

[Day 01]

Containerization Fundamentals – Ecosystem and Architecture

Docker Overview -The Moby project & Docker products (Docker CE & Docker EE)

Docker Containers Usage

  • Anatomy of containers (Architecture, Namespaces, cgroups, UnionFS, runc, Containerd)
  • Running and Inspecting a container
  • Starting, stopping, and removing containers
  • Exec into a running container
  • Attaching to a running container
  • Retrieving container logs

Docker Images Usage

  • The layered filesystem, the writable container layer
  • Inspect Images
  • Tagging an image
  • Utilize a registry to store an image
  • Layers
  • Push/Pull Images to/from registry
  • Delete Images

Using Dockerfile to create a Docker image

  • Dockerfile Instructions (add, copy, volumes, expose, entrypoint, etc
  • Writing complex Dockerfile
  • Building an image
  • Multistep builds
  • Best Practices

Docker Storage and Volumes

  • Modifying the container layer
  • Creating, Mounting and Removing Volumes
  • Sharing data between containers
  • Using host volumes
  • Defining volumes in images

Docker Networking

  • Bridge network, Host network and null network
  • Port Publishing
  • The container network model
  • Network firewalling
  • Deploy a service on a Docker overlay network

Docker Compose

  • Declarative versus Imperative
  • Running a multi-service app
  • Scaling a service
  • Building and pushing an application

 

[Day 02]

Orchestrators Overview

Kubernetes Cluster

  • Installing Kubernetes on a Public Cloud Provider (Google, Amazon, Azure)
  • Installing Kubernetes locally Using minikube
  • Overview of Kubernetes architecture
  • The Kubernetes Client
  • Cluster Components (Kubernetes Proxy, Kubernetes DNS, Kubernetes UI)
  • Common kubectl Commands

Pods

  • Creating a Pod & Pod Manifest
  • Running Pods - Listing Pods, Pod Details, Deleting a Pod
  • Accessing Pod - Port Forwarding, Logs, Exec, Copying Files
  • Health Checks - Liveness Probe, Readiness Probe
  • Resource Management – Requests, Limits
  • Persisting Data with Volumes
  • Different Ways of Using Volumes with Pods

Labels and Annotations

  • Applying Labels, Modifying Labels, Label Selectors

Service Discovery

  • Service Object & Service DNS
  • Endpoints, Manual Service Discovery, kube-proxy and Cluster Ips, Cluster IP Environment Variables

Replicasets

  • Designing with ReplicaSets - Reconciliation Loops
  • Creating, Inspecting & Deleting a ReplicaSet
  • Scaling ReplicaSets - Imperatively, Declaratively & Autoscaling

 

[Day 03]

DaemonSets

  • Creating, Updating & Deleting a DaemonSets
  • DaemonSet Scheduler, Limiting DaemonSets to Specific Nodes

Jobs (One Shot, Parallelism, Work Queues, Cron)

Creating & Using a ConfigMaps

Creating & Consuming Secrets

Deployments

  • Creating, Managing and Deleting a Deployments
  • Updating Deployments - Scaling, Updating a Container Image, Rollout History
  • Deployment Strategies - Recreate, Rolling Update, Slowing Rollouts

StatefulSets

  • Importing External Services
  • Running a MySQL Singleton
  • Dynamic Volume Provisioning
  • Automating MongoDB Cluster Creation
  • Persistent Volumes and StatefulSets

Using Kubernetes Namespaces to manage different environments

  • Managing test, staging, and production environments within the same cluster
  • Kubernetes Namespaces best practices

Resource Quota

  • Compute Resource
  • Storage Resource
  • Object Count

Kubernetes Security

  • Authentication – Normal Users, Service Accounts
  • Authorization – ABAC, Webhook, RBAC, etc
  • Admission Controller

Monitoring Kubernetes

  • Cluster logging with Elasticsearch and fluentd
  • Container level monitoring (cAdvisor UI, Influxdb, Prometheus)

Helm Introduction

  • Helm package manager as a Continuous Integration (CI) / Continuous Deployment (CD) tool.
Course Name Eng: 
Advanced Docker and Kubernetes