在Ubuntu上搭建Kubernetes集群是一个涉及多个步骤的过程,以下是详细的步骤指南:
sudo apt update
sudo apt upgrade -y
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
overlay
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
sudo apt install -y ntpdate
sudo ntpdate ntp.aliyun.com
sudo apt install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
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 /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在Master节点上执行以下命令:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.1.100 --upload-certs
初始化完成后,会获得一系列命令,例如如何与Kubernetes集群互动、如何添加Worker节点等。
在每个工作节点上,使用Master节点初始化时提供的命令加入集群:
sudo kubeadm join 192.168.1.100:6443 --token <your-token> --discovery-token-ca-cert-hash <hash-value>
例如,安装Flannel网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
在Master节点上使用以下命令检查节点状态:
kubectl get nodes
如果一切正常,您应该能看到至少一个节点的状态为“Ready”。
以上步骤是在Ubuntu上安装Kubernetes的基本流程,具体版本可能会有所不同,需要根据实际情况进行调整。