Skip to content

Latest commit

 

History

History

contents

kubernetes-training

Versions

  1. Kubernetes: v1.25.3
  2. kustomize: v4.2.0 (released on 2021-07-02)
  3. Helm: v3.11.2
  4. Traefik: v2.9.0
  5. ArgoCD: v2.8.4
  6. Prometheus-Operator: v0.43.1
  7. Prometheus: latest
  8. Grafana: latest
  9. Strimzi: 0.24.0
  10. Kind: v0.17.0
  11. Ingress Nginx Controller: controller-v1.7.0
  12. Conftest: v0.25.0
  13. Istio: 1.19.0
  14. PostgresOperator: v1.7.1 (released on 2021-11-04)
  15. Cert Manager: v1.7.1 (released on 2022-02-05)

Contents

Contents are organized based on Cloud Native Trail Map:

alt text

1. CONTAINERIZATION

  1. Containers 101: attach vs. exec - what's the difference?

2. CI/CD

  1. ArgoCD
  2. Conftest
  3. Kyverno: https://kyverno.io/
  4. Polaris: https://www.fairwinds.com/polaris

3. ORCHESTRATION & APPLICATION DEFINITION

  1. Kubernetes
    1. Useful Commands

      • DNS
        kubectl apply -f https://k8s.io/examples/admin/dns/dnsutils.yaml
        kubectl exec -i -t dnsutils -- nslookup kubernetes.default
        
      • Debug with ephemeral containers (alpha in 1.22, beta in 1.23)
        kubectl run ephemeral-demo --image=k8s.gcr.io/pause:3.1 --restart=Never
        kubectl debug -it ephemeral-demo --image=busybox --target=ephemeral-demo
        
      • Create pod with busyboxy-curl
        kubectl run -it --rm=true busybox --image=yauritux/busybox-curl --restart=Never
        
    2. Kubernetes Cluster

      1. local cluster: kind, minikube, Docker Desktop
      2. kubeadm-local: Set up Kubernetes Cluster with kubeadm (local)
      3. Kubernetes The Hard Way: Set up Kubernetes Cluster on GCP (kubernetes-the-hard-way)
    3. Kubernetes Components

      1. kubernetes-scheduler
      2. etcd
      3. kube-apiserver
      4. kube-controller-manager
      5. kube-proxy
      6. kubelet
    4. Kubernetes Operator

      1. client-go
      2. apimachinery
      3. controller-runtime
    5. More Practices of Applications on Kubernetes

    6. Kubernetes Features

      1. Autoscaler HPA with custom metrics
      2. amazon-eks-workshop
    7. Kubernetes Extensions

      1. kubernetes-operator
      2. kubernetes-scheduler
      3. plugins (todo)
    8. Namespaces

      1. hierarchical namespaces (HNC)
    9. Deloyment Managemet

      1. Knative
      2. Skaffold: https://skaffold.dev/ (ToDo)
    10. Middleware (Operator)

      1. strimzi
      2. eck
    11. Security

      1. Cert Manager
    12. Machine Learning

      1. kubeflow
  2. Helm
    1. Helm vs Kustomize

4. OBSERVABILITY & ANALYTICS

  1. Prometheus
    1. Prometheus Operator
  2. Jaeger: https://www.jaegertracing.io/
    1. Opentelemetry & Jaeger
  3. Opentelemetry (ToDo)
  4. fluentd (ToDo)
  5. [Thanos (todo)] https://thanos.io/
  6. Grafana
  7. Grafana Operator
  8. Grafana Loki
  9. Grafana Tempo

5. SERVICE PROXY, DISCOVERY & MESH

  1. Istio
  2. Envoy
  3. CoreDNS (ToDo)
  4. Linkerd (ToDo)

6. NETWORKING, POLICY & SECURITY

  1. Open Policy Agent
    1. gatekeeper
    2. conftest
  2. CNI (ToDo)
  3. falco (ToDo)
  4. Kubernetes Gateway API
    1. Envoy Gateway
    2. Istio
    3. Kong
    4. NGINX Kubernetes Gateway
    5. traefik
  5. Ingress
    1. ingress-nginx-controller

7. DISTRIBUTED DATABASE & STORAGE

  1. etcd
  2. Vitess: https://github.com/vitessio/vitess (ToDo)
  3. Rook: https://rook.io/ (ToDo)
  4. TiDB: https://github.com/pingcap/tidb (ToDo)
  5. TimescaleDB: https://github.com/timescale/timescaledb-kubernetes (ToDo)
  6. Others: Databases
    1. mysql-operator
    2. postgres-operator

8. STREAMING & MESSAGING

  1. gRPC: https://grpc.io/ (ToDo)
  2. NATS: https://nats.io/ (ToDo)
  3. cloudevents: https://cloudevents.io/ (ToDo)

9. CONTAINER REGISTRY & RUNTIME

  1. containerd: https://containerd.io/ (ToDo)
  2. harbor: https://goharbor.io/ (ToDo)
  3. cri-o: https://cri-o.io/ (ToDo)

10. SOFTWARE DISTRIBUTION

  1. The Update Framework: https://theupdateframework.io/ (ToDo)
  2. Notary: https://notaryproject.dev/ (ToDo)