Created
June 1, 2021 13:00
-
-
Save ipochi/39d7d0e281aeeab78c58619d0677a278 to your computer and use it in GitHub Desktop.
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 characters
| #!/bin/sh | |
| # Source: http://kubernetes.io/docs/getting-started-guides/kubeadm/ | |
| ### setup terminal | |
| apt-get install -y dialog apt-utils bash-completion binutils | |
| echo 'colorscheme ron' >> ~/.vimrc | |
| echo 'set tabstop=2' >> ~/.vimrc | |
| echo 'set shiftwidth=2' >> ~/.vimrc | |
| echo 'set expandtab' >> ~/.vimrc | |
| echo 'source <(kubectl completion bash)' >> ~/.bashrc | |
| echo 'alias k=kubectl' >> ~/.bashrc | |
| echo 'alias c=clear' >> ~/.bashrc | |
| echo 'complete -F __start_kubectl k' >> ~/.bashrc | |
| sed -i '1s/^/force_color_prompt=yes\n/' ~/.bashrc | |
| ## disable swap | |
| swapoff -a | |
| ### install k8s and docker | |
| apt-get remove -y docker.io kubelet kubeadm kubectl kubernetes-cni | |
| apt-get autoremove -y | |
| apt-get install -y etcd-client vim build-essential | |
| systemctl daemon-reload | |
| curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - | |
| cat <<EOF > /etc/apt/sources.list.d/kubernetes.list | |
| deb http://apt.kubernetes.io/ kubernetes-xenial main | |
| EOF | |
| KUBE_VERSION=1.21.0 | |
| apt-get update | |
| apt-get install -y docker.io kubelet=${KUBE_VERSION}-00 kubeadm=${KUBE_VERSION}-00 kubectl=${KUBE_VERSION}-00 kubernetes-cni=0.8.7-00 | |
| cat > /etc/docker/daemon.json <<EOF | |
| { | |
| "exec-opts": ["native.cgroupdriver=systemd"], | |
| "log-driver": "json-file", | |
| "storage-driver": "overlay2" | |
| } | |
| EOF | |
| mkdir -p /etc/systemd/system/docker.service.d | |
| # Restart docker. | |
| systemctl daemon-reload | |
| systemctl restart docker | |
| # start docker on reboot | |
| systemctl enable docker | |
| docker info | grep -i "storage" | |
| docker info | grep -i "cgroup" | |
| systemctl enable kubelet && systemctl start kubelet && systemctl restart docker | |
| ### init k8s | |
| rm /root/.kube/config | |
| kubeadm reset -f | |
| kubeadm init --kubernetes-version=${KUBE_VERSION} --ignore-preflight-errors=NumCPU --skip-token-print | |
| mkdir -p ~/.kube | |
| sudo cp -i /etc/kubernetes/admin.conf ~/.kube/config | |
| kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')&env.IPALLOC_RANGE=172.30.0.0/16" | |
| echo | |
| echo "### COMMAND TO ADD A WORKER NODE ###" | |
| kubeadm token create --print-join-command --ttl 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment