Kore Kubernetes
☸️

Kore Kubernetes

Kore Kubernetes

☸️ What is Kubernetes?

🤖 For Robots

Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides a framework for managing and coordinating the operation of multiple containers across a cluster of hosts. Kubernetes allows for efficient utilization of resources, ensures high availability and fault tolerance, and simplifies the management of complex container-based applications.

👨‍👨‍👧 For People

Simply put, Kubernetes or K8s is a platform made up of a collection of tools that allows us to easily orchestrate(deploy and manage) container workloads at scale.

❓Why K8s?

Deploying a single container is easy, deploying dozens is a bit harder. What do you do when you need to deploy dozens of applications and thousands of containers? Thats the problem K8s solves. In a world where containerized workloads have become the norm, Kubernetes may be the single most in demand tool for digital engineering in the past 4 or 5 years. Its a big and complicated suite of technology and learning it will absolutely set you apart from the pack.

💡
People call it K8s because there are 8 letters between the K and the s in Kubernetes!

👨‍👩‍👧‍👦Who is this for?

This course is designed for people entering a digital engineering field that helps create digital products via software, and more specifically for those who will be managing the products operation and not necessarily its creation. This includes but is not limited to:

  • DevOps Engineers
  • Site Reliability Administrators
  • Cloud Engineers
  • Software Engineers
  • Platform Engineers
  • Systems Administrators
  • System Engineers

👶🏽Prerequisites?

This course, like many of our courses dive deep into a specific technology. While you may be able to grasp the concepts of the technology, to get the most out of this course its best you have learned or performed the following:

  • Good Linux/Unix command line skills. No need to be an expert but you should be able to navigate the directory tree, create files and directories and maybe have installed a program or two via the CLI
  • A solid understanding of containerization, specifially Docker
  • Nice to haves:
    • An understanding of how the interenet works
    • An understanding of basic networking

🎓Curriculum

1. Introduction to Kubernetes (K8s)

  • What is Kubernetes?
  • History and evolution of Kubernetes
  • Need for orchestration in containerized applications

2. Kubernetes Architecture

  • Cluster components:
    • Control Plane (Master Nodes)
      • kube-apiserver
      • etcd
      • kube-controller-manager
      • kube-scheduler
    • Worker Nodes
      • kubelet
      • kube-proxy
      • Container runtime
  • Pods and the significance of a Pod in K8s

3. Setting Up a Kubernetes Cluster

  • Minikube and local Kubernetes setup
  • K8s installation on cloud platforms (EKS, GKE, AKS)
  • Using kubeadm for custom cluster setup

4. Kubectl & Dashboard

  • Introduction to kubectl
  • Basic kubectl commands
  • Setting up and using the Kubernetes Dashboard

5. Kubernetes Objects & Controllers

  • Understanding YAML configuration files
  • Deployments, ReplicaSets, and ReplicationControllers
  • Services (ClusterIP, NodePort, LoadBalancer)
  • ConfigMaps and Secrets
  • StatefulSets
  • DaemonSets
  • Jobs and CronJobs

6. Storage Solutions in Kubernetes

  • Volumes
  • Persistent Volumes (PV) and Persistent Volume Claims (PVC)
  • Storage Classes and Dynamic Provisioning
  • Stateful applications and storage considerations

7. Networking in Kubernetes

  • Pod Networking
  • Service Networking
  • Network Policies
  • Ingress and Ingress Controllers
  • Service Mesh (brief introduction to Istio and Linkerd)

8. Monitoring, Logging, and Troubleshooting

  • Monitoring tools (Prometheus, Grafana)
  • Logging solutions (Elasticsearch, Fluentd, and Kibana - EFK stack)
  • Debugging common issues
  • Kubernetes events and audit logs

9. Kubernetes Security

  • Role-Based Access Control (RBAC)
  • Pod Security Policies (PSP)
  • Network policies for security
  • Securing the API server
  • Secrets management
  • Third-party tools and best practices (OPA/Gatekeeper, kube-bench)

10. Advanced Scheduling

  • Node and Pod Affinity/Anti-affinity
  • Taints and Tolerations
  • Resource quotas and limits

11. High Availability & Disaster Recovery

  • Multi-master setups
  • Cluster federation
  • Backup and recovery strategies (using tools like Velero)

12. Continuous Deployment & GitOps in Kubernetes

  • CI/CD pipelines in K8s
  • Introduction to tools like ArgoCD, Jenkins X, and Flux
  • Helm: Package management in Kubernetes
  • GitOps principles and practices

13. Custom Resource Definitions (CRDs) & Operators

  • Extending Kubernetes API with CRDs
  • Introduction to Operators and the Operator Framework

14. Advanced Topics & Integrations

  • Service Mesh deep dive (Istio)
  • Multi-cluster and Hybrid Cloud setups
  • Integrating Kubernetes with cloud-native tools and platforms
  • Kubernetes API and client libraries

15. Best Practices and Future of Kubernetes

  • Cluster maintenance and upgrades
  • Community and its significance
  • Emerging trends in Kubernetes and CNCF ecosystem

MASTERMND Academy by mastermnd, llc