What you'll learn:
- Learn about container and container orchestration using kubernetes
- Operate kubernetes for microservice architecture
- Use and configure nginx as ingress controller for kubernetes cluster
- How to use argocd for gitops implementation
- Kubernetes concept from the very beginning : pod, deployment, volume, service, ingress, horizontal pod autoscaling
- What is istio and how it relates with kubernetes
- Simplify, or eliminate application code by using istio & envoy proxy
- Create kubernetes analytics using prometheus & grafana for metrics visualization
- How to use helm on kubernetes, including create helm and helm repository with chartmuseum
- Istio traffic management, circuit breaker, canary release, dark launching, and security using mutual TLS (mTLS)
- Kubernetes & istio implementation using GCP (Google Cloud Platform) / GKE (Google Kubernetes Engine)
Overview
This devops bootcamp is the first among several series (coming soon!) to start -or advance- your career as DevOPs or SRE (Site Reliability Engineer).
In this course, you will learn about container technology (docker) and container orchestration (kubernetes). Those are a-must-have knowledge for DevOps engineeer, as docker and kubernetes are popular technology and well sought by many companies. You will also learn about GitOps using ArgoCD, and how to use Istio Service Mesh with Envoy proxy to ease the application management.
What We Will Learn
We will learn how to manage application written on microservice architecture. You don't need to know any programming language to works with this course. In fact, this course is not about programming language, and mostly we will works with text files, terminal, or even graphical user interface.
Learn how to reach infrastructure agility, and easier maintenance compared to traditional infrastrucutre (virtual machine, bare metal). With the help of kubernetes, along with other tools that integrates well, maintaining reliable infrasturcture become a skill that everybody can learn (by using this course, for example).
But kubernetes and docker is not the only technology required for DevOps engineer journey. In this course, we will learn real-life infrastructure architecture that leverages several technologies, integrated to kubernetes. They are:
Nginx : very popular reverse proxy, http load balancer, which is used as traffic gateway, or kubernetes ingress controller
Sealed secret : secure your username, password, and any other "secret" things on kubernetes. Update and share them safely, since the kubernetes will "seal" them and encrypt them in secure way
Grafana, Prometheus : for kubernetes & infrastructure data gathering, analytics, and visualization
Helm : a package manager for kubernetes. Think of zip archive, but kubernetes-style, that can customized
Chartmuseum : a repository for helm
ArgoCD : learn GitOps, a subset of DevOps that focusing on automatic infrastructure based on git repository. Works well since most software engineering team will already familiar with git, so they can also leverage the kubernetes power without knowing the kubernetes itself. Collaborate together, and achieve automated application deployment through GitOps with ArgoCD
Istio &Envoy Proxy : One of the most important item to works with kubernetes. Manage, secure, and monitor your traffic. Add application functionalities without even writing single line of code
Kiali : Istio user interface to visualize your traffic that runs on kubernetes cluster,and manage them!
Jaeger : distributed tracing to know how your microservices performs, which node that has problem
Lens : hate to see the black screen on terminal? Then use this tools to navigate your kubernetes cluster
Pre-requisites
laptop with at least 8 GB memory free (so you need at least 16 GB memory)
or you can use any laptop, since we will learn to use Google Kubernetes Engine (it might has limited free quota if you are new user, but it depends on google)
Course Curricullum
These are the things that you will learn, in more than 100 lectures!
what is container and why it so popular
kubernetes from zero
declarative kubernetes
resource monitoring & limiting
volume binding
kubernetes secret & configuration map
integrate and secure nginx on your kubernetes cluster
automatic horizontal scaling to maintain performance
how to use and create helm charts
how to host your own helm repository (for free)
gitops automatic application synchronization
automatic configuration synchronization
provision and manage tls certificate
distributed tracing
service mesh (using istio and envoy proxy)
traffic management on service mesh
myths / fallacies of distributed system
opentracing
opentelemetry
service mesh visualization
load balancer
canary release
dark launching
automatic timeout / retry without even writing code
mutual TLS for security