Last active
June 28, 2024 06:55
-
-
Save rssws/e2d82275ef04940b50294dafb3fa6bdd to your computer and use it in GitHub Desktop.
Revisions
-
rssws revised this gist
Jul 23, 2022 . 1 changed file with 1 addition and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -98,6 +98,7 @@ main () { fi # Swap can cause problem for `kubeadm init` # This works only temporarily. See the blow comments for a permanent solution. sudo swapoff -a install_docker -
rssws revised this gist
Jul 23, 2022 . 1 changed file with 5 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -62,9 +62,12 @@ setup_master () { sudo mv flanneld-amd64 /opt/bin/flanneld kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml # Print join information again kubeadm token create --print-join-command # Untaint master node to allow pod scheduling on master node # kubectl taint nodes --all node-role.kubernetes.io/master- # kubectl taint nodes --all node-role.kubernetes.io/control-plane- } setup_worker () { -
rssws revised this gist
Jul 23, 2022 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -94,6 +94,9 @@ main () { exit 1 fi # Swap can cause problem for `kubeadm init` sudo swapoff -a install_docker install_kubernetes if [[ "${variant}" == "master" ]]; then -
rssws revised this gist
Jul 23, 2022 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -105,4 +105,4 @@ main () { echo "Done!" } main "$@"; exit -
rssws revised this gist
Jul 23, 2022 . 1 changed file with 71 additions and 61 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,71 +1,50 @@ install_docker () { distro=$(cat /etc/*-release | grep DISTRIB_ID | awk -F '=' '{print $2}' | awk '{print tolower($0)}') distroList=("debian" "ubuntu") if [[ -n "${distro}" ]]; then if [[ " ${distroList[*]} " =~ " ${distro} " ]]; then echo "Installing kubernetes on $distro" else echo "Upsupported system distro: ${distro}" echo "<distro> must be one of: ${distroList[*]}" exit 1 fi else echo "Unknown system distro" exit 1 fi # Install docker sudo apt-get update sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/${distro}/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/${distro} \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin } install_kubernetes () { # Install kubernetes (kubeadm) sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl # Remove containerd config and restart sudo rm /etc/containerd/config.toml sudo systemctl restart containerd } setup_master () { # Initialize master node using kubeadm @@ -96,3 +75,34 @@ setup_worker () { echo "kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash <hash>" echo "===================================================================================" } main () { variant=$1 variantList=("master" "worker") if [[ -n "${variant}" ]]; then if [[ " ${variantList[*]} " =~ " ${variant} " ]]; then echo "Installing kubernetes for ${variant} node" else echo "Upsupported variant: ${variant}" echo "<variant> must be one of: ${variantList[*]}" exit 1 fi else echo "Unknown variant" echo "Usage: $0 [master|worker]" exit 1 fi install_docker install_kubernetes if [[ "${variant}" == "master" ]]; then setup_master else setup_worker fi echo "Done!" } main -
rssws revised this gist
Jul 23, 2022 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -11,7 +11,7 @@ if [[ -n "${variant}" ]]; then fi else echo "Unknown variant" echo "Usage: $0 [master|worker]" exit 1 fi -
rssws revised this gist
Jul 23, 2022 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -60,9 +60,9 @@ sudo rm /etc/containerd/config.toml sudo systemctl restart containerd if [[ "${variant}" == "master" ]]; then setup_master else setup_worker fi echo "Done!" -
rssws revised this gist
Jul 16, 2022 . 2 changed files with 98 additions and 46 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,98 @@ variant=$1 variantList=("master" "worker") if [[ -n "${variant}" ]]; then if [[ " ${variantList[*]} " =~ " ${variant} " ]]; then echo "Installing kubernetes for ${variant} node" else echo "Upsupported variant: ${variant}" echo "<variant> must be one of: ${variantList[*]}" exit 1 fi else echo "Unknown variant" echo "Usage: $0 <variant=[master|worker]>" exit 1 fi distro=$(cat /etc/*-release | grep DISTRIB_ID | awk -F '=' '{print $2}' | awk '{print tolower($0)}') distroList=("debian" "ubuntu") if [[ -n "${distro}" ]]; then if [[ " ${distroList[*]} " =~ " ${distro} " ]]; then echo "Installing kubernetes on $distro" else echo "Upsupported system distro: ${distro}" echo "<distro> must be one of: ${distroList[*]}" exit 1 fi else echo "Unknown system distro" exit 1 fi # Install docker sudo apt-get update sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/${distro}/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/${distro} \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # Install kubernetes (kubeadm) sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl # Remove containerd config and restart sudo rm /etc/containerd/config.toml sudo systemctl restart containerd if [[ "${variant}" == "master" ]]; then setup_master() else setup_worker() fi echo "Done!" setup_master () { # Initialize master node using kubeadm sudo kubeadm init --pod-network-cidr=10.244.0.0/16 # Run kubernetes as a regular user sudo mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config # Apply flannel add-on sudo apt-get install -y wget wget https://github.com/flannel-io/flannel/releases/download/v0.18.1/flanneld-amd64 sudo mkdir -p /opt/bin sudo mv flanneld-amd64 /opt/bin/flanneld kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml # Untaint master node to allow pod scheduling on master node kubectl taint nodes --all node-role.kubernetes.io/master- kubectl taint nodes --all node-role.kubernetes.io/control-plane- } setup_worker () { # Join master node echo "===================================================================================" echo "Joining master node by running the following command:" echo "-----------------------------------------------------------------------------------" echo "kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash <hash>" echo "===================================================================================" } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,46 +0,0 @@ -
rssws created this gist
Jul 16, 2022 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,46 @@ # Install docker sudo apt-get update sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # Install kubernetes (kubeadm) sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl # Remove containerd config and restart sudo rm /etc/containerd/config.toml sudo systemctl restart containerd # Initialize master node using kubeadm sudo kubeadm init --pod-network-cidr=10.244.0.0/16 # Run kubernetes as a regular user sudo mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config # Apply flannel add-on sudo apt-get install -y wget wget https://github.com/flannel-io/flannel/releases/download/v0.18.1/flanneld-amd64 sudo mkdir -p /opt/bin sudo mv flanneld-amd64 /opt/bin/flanneld kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml # Untaint master node to allow pod scheduling on master node kubectl taint nodes --all node-role.kubernetes.io/master- kubectl taint nodes --all node-role.kubernetes.io/control-plane-