Update k8s_infra_installer.sh

This commit is contained in:
jinho0928
2020-12-24 13:01:22 +09:00
committed by GitHub
parent eba5346ca0
commit bfde64df99

View File

@@ -110,95 +110,164 @@ function install_crio() {
sudo exit 100
fi
}
function install_docker() {
echo "========================================================================="
echo "========================== start install docker ========================="
echo "========================================================================="
#centos
if [[ ${os_check} == "\"CentOS Linux\"" ]]; then
# install docker
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
# check docker
sudo systemctl status docker
sudo rm -rf /etc/docker/daemon.json
# edit docker config
sudo cat << "EOF" | sudo tee -a /etc/docker/daemon.json
{
"insecure-registries": ["{imageRegistry}"]
}
EOF
sudo rm -rf ${yaml_dir}/kubeadm-config.yaml
# edit kubeadm config
sudo cat << "EOF" | sudo tee -a ${yaml_dir}/kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: {k8sVersion}
controlPlaneEndpoint: {apiServer}:6443
imageRepository: {imageRegistry}/k8s.gcr.io
networking:
serviceSubnet: 10.96.0.0/16
podSubnet: {podSubnet}
apiServer:
extraArgs:
advertise-address: {apiServer}
EOF
sudo sed -i "s|{imageRegistry}|${imageRegistry}|g" /etc/docker/daemon.json
sudo sed -i 's/registry.fedoraproject.org/{imageRegistry}/g' /etc/containers/registries.conf
sudo sed -i "s|{imageRegistry}|${imageRegistry}|g" /etc/containers/registries.conf
sudo systemctl restart docker
elif [[ ${os_check} = "\"Ubuntu\"" ]]; then
# install docker
sudo apt-get -y install docker
sudo systemctl enable docker.service
sudo systemctl start docker.service
# check docker
sudo systemctl status docker
# others
else
sudo echo "This OS is not supported."
sudo exit 100
fi
}
function install_kube() {
echo "========================================================================="
echo "========================================================================="
echo "======================= start install kubernetes ======================"
echo "========================================================================="
#install kubernetes
if [[ -z ${k8sVersion} ]]; then
k8sVersion=1.17.6
k8sVersion=1.17.6
else
k8sVersion=${k8sVersion}
k8sVersion=${k8sVersion}
fi
if [[ -z ${apiServer} ]]; then
apiServer=127.0.0.1
apiServer=127.0.0.1
else
apiServer=${apiServer}
apiServer=${apiServer}
fi
if [[ -z ${podSubnet} ]]; then
podSubnet=10.244.0.0/16
podSubnet=10.244.0.0/16
else
podSubnet=${podSubnet}
podSubnet=${podSubnet}
fi
# centos
if [[ ${os_check} == "\"CentOS Linux\"" ]]; then
#install kubernetes components
sudo yum install -y kubeadm-${k8sVersion}-0 kubelet-${k8sVersion}-0 kubectl-${k8sVersion}-0
sudo systemctl enable --now kubelet
#install kubernetes components
sudo yum install -y kubeadm-${k8sVersion}-0 kubelet-${k8sVersion}-0 kubectl-${k8sVersion}-0
sudo systemctl enable --now kubelet
# ubuntu
elif [[ ${os_check} = "\"Ubuntu\"" ]]; then
#install kubernetes components
sudo apt-get install -y kubeadm-${k8sVersion}-0 kubelet-${k8sVersion}-0 kubectl-${k8sVersion}-0
sudo systemctl enable kubelet
#install kubernetes components
sudo apt-get install -y kubeadm-${k8sVersion}-0 kubelet-${k8sVersion}-0 kubectl-${k8sVersion}-0
sudo systemctl enable kubelet
# others
else
echo "This OS is not supported."
exit 100
fi
sudo echo '1' > /proc/sys/net/ipv4/ip_forward
sudo echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
sudo echo '1' > /proc/sys/net/ipv4/ip_forward
sudo echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
#change kubeadm yaml
sudo sed -i "s|{k8sVersion}|v${k8sVersion}|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|{apiServer}|${apiServer}|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|{podSubnet}|\"${podSubnet}\"|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|{imageRegistry}|${imageRegistry}|g" ${yaml_dir}/kubeadm-config.yaml
#change kubeadm yaml
sudo sed -i "s|{k8sVersion}|v${k8sVersion}|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|{apiServer}|${apiServer}|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|{podSubnet}|${podSubnet}|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|{imageRegistry}|${imageRegistry}|g" ${yaml_dir}/kubeadm-config.yaml
# kube init
sudo kubeadm init --config=${yaml_dir}/kubeadm-config.yaml --upload-certs
# kube init
sudo kubeadm init --config=${yaml_dir}/kubeadm-config.yaml --upload-certs
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
echo "========================================================================="
echo "====================== complete install kubernetes ===================="
echo "========================================================================="
echo "========================================================================="
echo "====================== complete install kubernetes ===================="
echo "========================================================================="
}
function uninstall() {
kubeadm reset -f
sudo sed -i "s|v${k8sVersion}|{k8sVersion}|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|${apiServer}|{apiServer}|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|\"${podSubnet}\"|{podSubnet}|g" ${yaml_dir}/kubeadm-config.yaml
sudo sed -i "s|${imageRegistry}|{imageRegistry}|g" ${yaml_dir}/kubeadm-config.yaml
sudo rm -rf $HOME/.kube
kubeadm reset --cri-socket=/var/run/crio/crio.sock
sudo yum remove -y kubeadm-1.17.6-0 kubelet-1.17.6-0 kubectl-1.17.6-0
sudo yum remove -y crio or sudo yum remove -y docker-ce
sudo yum remove -y keepalived
echo "========================================================================="
echo "===================== uninstall kubernetes success ===================="
echo "========================================================================="
}
function main(){
case "${1:-}" in
up)
set_env
install_crio
install_kube
;;
up_docker)
set_env
install_docker
install_kube
;;
delete)
uninstall
;;
@@ -206,6 +275,7 @@ function main(){
set +x
echo " service list:" >&2
echo " $0 up" >&2
echo " $0 up_docker" >&2
echo " $0 delete" >&2
;;
esac