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

Ubuntu 22.04.5 部署若依微服务实战(基于 K8s 1.33.4 与 containerd 1.7.13 的详细教程)

Ubuntu 22.04.5 部署若依微服务实战(基于 K8s 1.33.4 与 containerd 1.7.13 的详细教程)

若依微服务(ruoyi-cloud)是一套基于 Spring Cloud 的微服务架构,而 Kubernetes 1.33.4containerd 1.7.13 是现代容器化编排的首选组合。本文将带领你在 Ubuntu 22.04.5 系统上,从零开始搭建 Kubernetes 集群并使用 containerd 作为运行时,最终成功部署若依微服务。无论你是运维新手还是开发者,都能通过本教程掌握核心步骤。

Ubuntu 22.04.5 部署若依微服务实战(基于 K8s 1.33.4 与 containerd 1.7.13 的详细教程)  Kubernetes 若依微服务 第1张

1. 环境准备:Ubuntu 22.04.5 系统初始化

首先确保你有一台安装好 Ubuntu 22.04.5 的机器(物理机或虚拟机),并拥有 root 权限。执行以下命令更新系统并关闭 swap(Kubernetes 强制要求):

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

此外,需要加载内核模块并修改系统参数:

    cat <  

2. 安装 containerd 1.7.13

Kubernetes 自 v1.24 起弃用 Docker 作为运行时,官方推荐使用 containerd。我们将安装指定版本 containerd 1.7.13。先安装依赖:

    sudo apt install -y curl gnupg lsb-release  

下载并安装 containerd:

    # 使用官方二进制安装(以 1.7.13 为例)wget https://github.com/containerd/containerd/releases/download/v1.7.13/containerd-1.7.13-linux-amd64.tar.gzsudo tar Cxzvf /usr/local containerd-1.7.13-linux-amd64.tar.gz# 安装 runcwget https://github.com/opencontainers/runc/releases/download/v1.1.10/runc.amd64sudo install -m 755 runc.amd64 /usr/local/sbin/runc# 安装 CNI 插件wget https://github.com/containernetworking/plugins/releases/download/v1.3.0/cni-plugins-linux-amd64-v1.3.0.tgzsudo mkdir -p /opt/cni/binsudo tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.3.0.tgz  

生成 containerd 默认配置文件并修改为使用 systemd cgroup 驱动:

    sudo mkdir -p /etc/containerdcontainerd config default | sudo tee /etc/containerd/config.tomlsudo sed -i "s/SystemdCgroup = false/SystemdCgroup = true/g" /etc/containerd/config.toml  

启动 containerd 并设置开机自启:

    sudo systemctl enable containerdsudo systemctl start containerd  

3. 安装 Kubernetes 1.33.4 组件

添加 Kubernetes 官方 APT 仓库并安装 kubeadm、kubelet、kubectl 版本 1.33.4

    sudo apt install -y apt-transport-https ca-certificates curlcurl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpgecho "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt updatesudo apt install -y kubelet=1.33.4-* kubeadm=1.33.4-* kubectl=1.33.4-*sudo apt-mark hold kubelet kubeadm kubectl  

初始化集群(注意替换 apiserver-advertise-address 为你的 IP):

    sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<你的IP>  

初始化成功后,按提示配置 kubectl:

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

安装网络插件(以 Flannel 为例):

    kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml  

4. 部署若依微服务

若依微服务(ruoyi-cloud)需要先构建镜像。在本地(或另一台有 Docker 的机器)克隆代码并打包:

    git clone https://gitee.com/y_project/ruoyi-cloud.gitcd ruoyi-cloud# 修改配置连接数据库等(略)mvn clean package -Dmaven.test.skip=true  

编写 Dockerfile 并构建镜像,推送到镜像仓库(如 Docker Hub)。然后编写 Kubernetes 部署文件(Deployment 和 Service)。以下是一个示例(以 ruoyi-gateway 为例):

    apiVersion: apps/v1kind: Deploymentmetadata:  name: ruoyi-gatewayspec:  replicas: 1  selector:    matchLabels:      app: ruoyi-gateway  template:    metadata:      labels:        app: ruoyi-gateway    spec:      containers:      - name: gateway        image: yourrepo/ruoyi-gateway:latest        ports:        - containerPort: 8080---apiVersion: v1kind: Servicemetadata:  name: ruoyi-gatewayspec:  selector:    app: ruoyi-gateway  ports:  - port: 8080    targetPort: 8080  type: NodePort  

应用所有服务:

    kubectl apply -f ruoyi-gateway.yaml# 类似地部署其他模块:auth、system、monitor 等  

5. 验证部署

查看 Pod 状态:

    kubectl get pods -o wide  

通过 NodePort 访问网关服务:http://<节点IP>:。若能看到若依的登录页,则说明部署成功。

至此,你已经成功在 Ubuntu 22.04.5 上使用 Kubernetes 1.33.4containerd 1.7.13 运行了 若依微服务。后续可以根据需要配置 Ingress、持久化存储等高级功能。

关键词:Ubuntu 22.04.5、Kubernetes 1.33.4、若依微服务、containerd 1.7.13