自动化Linux上的K8S安装可以通过编写一个shell脚本来实现,该脚本将处理从环境配置到组件安装的整个流程。以下是一个基本的Kubernetes安装脚本示例,它涵盖了安装Docker、Kubeadm、Kubelet和Kubectl,初始化Master节点,加入Worker节点,以及部署网络插件等步骤。
#!/bin/bash
# 设置Kubernetes版本和Docker版本
KUBE_VERSION="1.23.9"
DOCKER_VERSION="18.06.1"
# 更新系统包
apt-get update && apt-get upgrade -y
# 安装Docker
wget https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum install -y docker-ce-$DOCKER_VERSION.ce-3.el7
systemctl enable docker && systemctl start docker
# 安装Kubeadm, Kubelet和Kubectl
yum install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install -y kubelet kubeadm kubectl
# 初始化Master节点
kubeadm init --pod-network-cidr=10.244.0.0/16
# 设置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 安装网络插件,例如Flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 验证安装
kubectl get nodes
请注意,这个脚本是为CentOS系统设计的,如果你使用的是Ubuntu或其他Linux发行版,可能需要调整包管理器的命令和版本号。此外,脚本中的版本号、镜像源和参数可能需要根据你的具体需求进行调整。