搭建Ubuntu Kubernetes集群是一个相对复杂的过程,需要按照一定的步骤进行。以下是一个基本的指南,帮助你在Ubuntu系统上搭建Kubernetes集群。
在正式开始部署Kubernetes集群之前,先要进行如下准备工作。基础环境相关配置操作,在三台主机(假设分别为master、node1、node2)上都需要执行。
sudo apt update
sudo apt install vim lrzsz unzip wget net-tools tree bash-completion telnet -y
sudo swapoff -a
sudo sed -i '/swap/s/^/#/' /etc/fstab
cat <<eof | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
eof
sudo sysctl --system
sudo apt -y install ntp
sudo ntpdate ntp.aliyun.com
所有节点都要操作。在Ubuntu系统中安装Docker时,官方推荐Ubuntu系统最好是64位。
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do
sudo apt-get remove $pkg;
done
sudo apt update
sudo apt upgrade
sudo apt-get -y install ca-certificates
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
根据你的网络情况,配置Docker加速器。
sudo systemctl start docker
sudo systemctl enable docker
cat <<eof | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://packages.cloud.google.com/apt/ kubernetes-xenial main
eof
sudo apt-get update
sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
sudo systemctl enable kubelet && sudo systemctl start kubelet
sudo kubeadm init
kubeadm init --pod-network-cidr=10.244.0.0/16
编辑/etc/kubernetes/admin.conf
文件,设置kubeconfig
路径。
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo kubeadm join 192.168.93.139:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
在其他节点(node1、node2)上执行以下命令:
sudo kubeadm join 192.168.93.139:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef
在master节点上安装Flannel网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
在node节点上也执行相同的命令。
在master节点上查看节点状态:
kubectl get nodes
你应该能看到所有节点都处于Ready状态。
以上步骤是一个基本的Ubuntu Kubernetes集群搭建流程。根据你的具体需求和环境,可能需要进行一些调整和优化。