2.vps-k8s-app-install.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/sh
  2. set -e
  3. yum install wget git jq psmisc net-tools yum-utils device-mapper-persistent-data lvm2 vim tar runc -y
  4. yum install ipvsadm ipset sysstat conntrack -y
  5. if [ ! -f /usr/local/bin/containerd ]; then
  6. wget https://github.com/containerd/containerd/releases/download/v1.6.18/containerd-1.6.18-linux-amd64.tar.gz
  7. tar Cxzvf /usr/local containerd-1.6.18-linux-amd64.tar.gz
  8. mkdir -p /etc/containerd
  9. containerd config default > /etc/containerd/config.toml
  10. # 修改 SystemdCgroup
  11. if grep -F 'SystemdCgroup =' /etc/containerd/config.toml
  12. then
  13. sed -i s#'SystemdCgroup.*=.*false'#'SystemdCgroup = true'#g /etc/containerd/config.toml
  14. else
  15. sed -i '/\[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options\]/a\ SystemdCgroup = true' /etc/containerd/config.toml
  16. fi
  17. mkdir -p /usr/local/lib/systemd/system/
  18. wget https://raw.githubusercontent.com/containerd/containerd/main/containerd.service -O /usr/local/lib/systemd/system/containerd.service
  19. systemctl daemon-reload
  20. systemctl enable --now containerd
  21. fi
  22. if [ ! -f /usr/local/bin/crictl ]; then
  23. VERSION="v1.26.0"
  24. wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz
  25. sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
  26. #rm -f crictl-$VERSION-linux-amd64.tar.gz
  27. cat > /etc/crictl.yaml <<EOF
  28. runtime-endpoint: unix:///run/containerd/containerd.sock
  29. image-endpoint: unix:///run/containerd/containerd.sock
  30. timeout: 10
  31. debug: false
  32. EOF
  33. fi
  34. if [ ! -f /usr/local/bin/cfssl ]; then
  35. wget https://github.com/cloudflare/cfssl/releases/download/v1.6.3/cfssl_1.6.3_linux_amd64 -O /usr/local/bin/cfssl
  36. wget https://github.com/cloudflare/cfssl/releases/download/v1.6.3/cfssljson_1.6.3_linux_amd64 -O /usr/local/bin/cfssljson
  37. chmod +x /usr/local/bin/cfssl
  38. chmod +x /usr/local/bin/cfssljson
  39. fi
  40. if [ ! -f /usr/local/bin/etcd ]; then
  41. wget https://github.com/etcd-io/etcd/releases/download/v3.5.7/etcd-v3.5.7-linux-amd64.tar.gz
  42. tar -zxvf etcd-v3.5.7-linux-amd64.tar.gz --strip-components=1 -C /usr/local/bin etcd-v3.5.7-linux-amd64/etcd{,ctl}
  43. fi
  44. if [ ! -f /usr/local/bin/kubectl ]; then
  45. wget https://dl.k8s.io/v1.26.1/kubernetes-server-linux-amd64.tar.gz
  46. tar -xvf kubernetes-server-linux-amd64.tar.gz --strip-components=3 -C /usr/local/bin kubernetes/server/bin/kube{let,ctl,-apiserver,-controller-manager,-scheduler,-proxy}
  47. fi