当前位置:首页 > 系统教程 > 正文

从零搭建K8s集群:基于Ubuntu 22.04虚拟机的容器化部署实战指南

从零搭建K8s集群:基于Ubuntu 22.04虚拟机的容器化部署实战指南

本文将带领你使用Ubuntu 22.04虚拟机一步步搭建一个K8s集群,并部署一个容器化项目,让你快速掌握Kubernetes实战技能。

准备工作

首先,你需要一台安装Ubuntu 22.04的虚拟机(建议分配2核CPU、4GB内存以上)。确保系统更新:

sudo apt update && sudo apt upgrade -y

同时,确保虚拟机可以访问互联网,并且关闭swap(Kubernetes要求):

sudo swapoff -asudo sed -i "/ swap / s/^\(.*\)$/#�/g" /etc/fstab

步骤一:安装Docker

Kubernetes使用容器运行时,这里我们安装Docker。执行以下命令:

sudo apt install -y docker.iosudo systemctl enable dockersudo systemctl start docker

验证安装:docker --version

步骤二:安装kubeadm、kubelet、kubectl

添加Kubernetes官方APT仓库并安装工具:

sudo apt install -y apt-transport-https ca-certificates curlsudo curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpgecho "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt updatesudo apt install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectl

步骤三:初始化集群

在master节点上执行初始化:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

注意记录生成的加入命令,后续工作节点加入需要。

步骤四:配置kubectl

执行以下命令配置普通用户使用kubectl:

mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config

步骤五:安装Pod网络(Calico)

这里我们选择Calico作为网络插件:

kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25/manifests/calico.yaml

等待所有Pod运行:kubectl get pods --all-namespaces -w

步骤六:允许master节点调度Pod(单节点集群)

如果你的集群只有一个节点(master),需要去除taint:

kubectl taint nodes --all node-role.kubernetes.io/control-plane-

步骤七:部署示例项目(Nginx)

创建一个nginx deployment:

kubectl create deployment nginx --image=nginxkubectl expose deployment nginx --port=80 --type=NodePort

查看服务端口:kubectl get svc

从零搭建K8s集群:基于Ubuntu 22.04虚拟机的容器化部署实战指南 K8s集群  Ubuntu 22.04 容器化部署 Kubernetes实战 第1张

如图,你可以通过NodeIP:NodePort访问nginx欢迎页。

步骤八:验证部署

使用curl或浏览器访问虚拟机IP和NodePort,看到nginx欢迎页即成功。

至此,你已经成功在Ubuntu 22.04虚拟机上搭建了K8s集群并完成了容器化部署。这就是一个完整的Kubernetes实战过程。

总结

通过本教程,你学习了如何在Ubuntu 22.04上使用kubeadm创建K8s集群,并部署了一个简单项目。接下来可以尝试部署更复杂的应用,深入理解Kubernetes的强大功能。