You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

53 rivejä
1.6 KiB

  1. #!/bin/bash
  2. set -e
  3. echo "=== 開始安裝 Worker node 必要元件 ==="
  4. # 1. 關閉 swap
  5. sudo swapoff -a
  6. sudo sed -i '/ swap / s/^/#/' /etc/fstab
  7. # 2. 啟用橋接網路所需 kernel module + ip forward
  8. cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
  9. overlay
  10. br_netfilter
  11. EOF
  12. sudo modprobe overlay
  13. sudo modprobe br_netfilter
  14. cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
  15. net.bridge.bridge-nf-call-iptables = 1
  16. net.bridge.bridge-nf-call-ip6tables = 1
  17. net.ipv4.ip_forward = 1
  18. EOF
  19. sudo sysctl --system
  20. # 3. 安裝 containerd
  21. sudo apt-get update
  22. sudo apt-get install -y containerd
  23. sudo mkdir -p /etc/containerd
  24. sudo containerd config default | sudo tee /etc/containerd/config.toml
  25. sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
  26. sudo systemctl restart containerd
  27. sudo systemctl enable containerd
  28. # 4. 安裝 kubeadm, kubelet, kubectl
  29. sudo apt-get update
  30. sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
  31. sudo mkdir -p /etc/apt/keyrings
  32. curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
  33. echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | \
  34. sudo tee /etc/apt/sources.list.d/kubernetes.list
  35. sudo apt-get update
  36. sudo apt-get install -y kubelet kubeadm kubectl
  37. sudo apt-mark hold kubelet kubeadm kubectl
  38. sudo systemctl enable kubelet
  39. echo "=== Worker node 基本元件安裝完成 ==="
  40. echo
  41. kubeadm join 10.10.0.85:6443 --token ol93f3.0q7aj9wkxnsrho2k --discovery-token-ca-cert-hash sha256:b70d07e8a53c73719eb16f6d48ded95add1b3c4b5974077d95a53ac44f53ebdd