Skip to content

Project CNCF

All the articles in "Project CNCF".

  • Checking resource usage with kubectl top, kubectl logs container selection, previous containers, and stdout/stderr, where log files live on the node, and comparing symptoms after breaking Service selectors, targetPort, readiness, CoreDNS, and NetworkPolicy one at a time.

  • A record of stopping the kubelet and containerd, deliberately breaking the kubelet config and static Pod manifests, then tracking down the cause with kubectl, systemctl, journalctl, crictl, and /var/log/pods on a kubeadm cluster.

  • The split of roles between GatewayClass, Gateway, and HTTPRoute, host/path/header matching and weighted splitting, allowedRoutes and ReferenceGrant for Routes and backends in other namespaces, and how it differs from Ingress, checked on a kubeadm cluster with NGINX Gateway Fabric and ingress-nginx installed.

  • The Kubernetes network model, Pod-to-Pod traffic across nodes, how kube-proxy turns Services into iptables rules, NodePort and LoadBalancer, editing the CoreDNS Corefile, and Pod dnsPolicy, checked hands-on on a kubeadm + Calico cluster.

  • How metrics-server feeds CPU usage to the HPA, kubectl autoscale and the autoscaling/v2 HPA, watching it scale up under load and back down 5 minutes after the load stops, and how it differs from VPA, on a kubeadm cluster.

  • nodeName, nodeSelector, node affinity, taints and tolerations, Pod anti-affinity, topology spread constraints, and PriorityClass with preemption, placed hands-on on a kubeadm cluster with 2 workers.

  • Where CRI (between the kubelet and the container runtime), CNI (Pod networking), and CSI (storage) are configured on a node, installing cluster components with Helm and Kustomize, and how an Operator manages components through CRDs, checked on a kubeadm cluster.

  • Starting from the fact that Kubernetes has no User object: issuing a user certificate with a CertificateSigningRequest and adding it to a kubeconfig, what changes when a ClusterRole is bound with a RoleBinding vs a ClusterRoleBinding, and aggregated and default ClusterRoles, checked on a kubeadm cluster.

  • Version skew rules, the order for upgrading from 1.34 to 1.35 with kubeadm plus drain/uncordon, etcd backup and restore with etcdctl and etcdutl, and checking and renewing kubeadm certificates, all run hands-on on a VM cluster.

  • From node prep (swap, sysctl, containerd cgroup driver) to kubeadm init/join, installing a CNI, and a stacked-etcd HA control plane behind kube-vip, all run hands-on on 3 VMs.