User Tools

Site Tools


new_kubernetes_training

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
new_kubernetes_training [2026/05/05 15:07] adminnew_kubernetes_training [2026/05/05 15:23] (current) – [13. Install Metrics Server] admin
Line 1: Line 1:
-Comprehensive Kubernetes Installation Guide (Ubuntu 24.04.3 LTS)+====== Comprehensive Kubernetes Installation Guide (Ubuntu 24.04.3 LTS) ====== 
 + 
 +----
    
-====== **1. System Update** ====== +====== 1. System Update ====== 
 +<code>
 sudo apt update && sudo apt upgrade -y sudo apt update && sudo apt upgrade -y
 +</code>
 ====== 2. Disable Swap ====== ====== 2. Disable Swap ======
 +<code>
 sudo swapoff -a sudo swapoff -a
 sudo sed -i '/ swap / s/^/#/' /etc/fstab sudo sed -i '/ swap / s/^/#/' /etc/fstab
 free -h free -h
 +</code>
 ====== 3. Kernel Modules ====== ====== 3. Kernel Modules ======
 +<code>
 cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
 overlay overlay
Line 19: Line 21:
 sudo modprobe overlay sudo modprobe overlay
 sudo modprobe br_netfilter sudo modprobe br_netfilter
 +</code>
  
-4. Sysctl Configuration+====== 4. Sysctl Configuration ====== 
 +<code>
 cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-iptables=1
Line 27: Line 31:
 EOF EOF
 sudo sysctl --system sudo sysctl --system
 +</code>
  
-5. Install containerd+====== 5. Install containerd ====== 
 +<code>
 sudo apt install -y containerd sudo apt install -y containerd
 sudo mkdir -p /etc/containerd sudo mkdir -p /etc/containerd
Line 36: Line 42:
 sudo systemctl restart containerd sudo systemctl restart containerd
 sudo systemctl enable containerd sudo systemctl enable containerd
 +</code>
  
-6. Install Kubernetes Components+====== 6. Install Kubernetes Components ====== 
 +<code>
 sudo apt install -y apt-transport-https ca-certificates curl gpg sudo apt install -y apt-transport-https ca-certificates curl gpg
 curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | \ curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | \
Line 47: Line 55:
 sudo apt install -y kubelet kubeadm kubectl sudo apt install -y kubelet kubeadm kubectl
 sudo apt-mark hold kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl
 +</code>
  
-7. Initialize Control Plane+====== 7. Initialize Control Plane ====== 
 +<code>
 sudo kubeadm init --pod-network-cidr=10.244.0.0/16 sudo kubeadm init --pod-network-cidr=10.244.0.0/16
 +</code>
  
-8. Configure kubectl+====== 8. Configure kubectl ====== 
 +<code>
 mkdir -p $HOME/.kube mkdir -p $HOME/.kube
 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
 sudo chown $(id -u):$(id -g) $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
 kubectl get nodes kubectl get nodes
 +</code>
  
-9. Install Flannel Network+====== 9. Install Flannel Network ====== 
 +<code>
 kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
 kubectl get pods -A kubectl get pods -A
 +</code>
  
-10. Join Worker Nodes+====== 10. Join Worker Nodes (Optional) ====== 
 +<code>
 sudo kubeadm join <MASTER-IP>:6443 \ sudo kubeadm join <MASTER-IP>:6443 \
 --token <TOKEN> \ --token <TOKEN> \
 --discovery-token-ca-cert-hash sha256:<HASH> --discovery-token-ca-cert-hash sha256:<HASH>
 +</code>
  
-11. Verify Cluster+====== 11. Verify Cluster ====== 
 +<code>
 kubectl get nodes -o wide kubectl get nodes -o wide
 +</code>
  
-12. Allow Pods on Control Plane (Optional)+====== 12. Allow Pods on Control Plane (Optional) ====== 
 +<code>
 kubectl taint nodes --all node-role.kubernetes.io/control-plane- kubectl taint nodes --all node-role.kubernetes.io/control-plane-
 +</code>
  
-13. Install Metrics Server+====== 13. Install Metrics Server (Optional) ====== 
 +<code>
 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.y kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.y
 kubectl patch deployment metrics-server -n kube-system \ kubectl patch deployment metrics-server -n kube-system \
 --type='json' \ --type='json' \
 -p='[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]' -p='[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]'
 +</code>
 +
 +====== 14. Troubleshooting ======
  
-14. Troubleshooting 
 Check pods: Check pods:
 +<code>
 kubectl get pods -A kubectl get pods -A
 +</code>
 Check container runtime: Check container runtime:
 +<code>
 crictl info crictl info
 +</code>
 Ensure CRDs installed before apps like Traefik/MetalLB. Ensure CRDs installed before apps like Traefik/MetalLB.
 +
new_kubernetes_training.1777990073.txt.gz · Last modified: by admin