Update k8s_infra_installer.sh
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user