(1)掌握在 openEuler 系统中使用 Minikube 部署 Kubernetes 单节点集群的完整流程; (2)掌握 kubectl 基本命令,能够完成 Deployment 与 Service 的创建、暴露与访问; (3)理解容器化应用的基本运行原理,培养云原生技术的实践能力; (4)结合企业级容器化部署场景,强化动手排错与配置优化的综合运维素养。
本实验内容主要分为两个阶段。第一阶段为Minikube集群部署,包括在openEuler系统中安装Docker容器运行时,下载并配置Minikube与kubectl工具,利用国内镜像源启动Kubernetes单节点集群,并验证集群状态。第二阶段为应用部署与验证,使用kubectl命令部署Nginx应用,通过Service暴露服务,掌握查看Pod日志、详情等常用操作,最终完成服务访问测试及故障排查能力的验证。
步骤1:安装Docker容器运行时。
首先执行 sudo yum install -y yum-utils 安装必要工具,接着添加 Docker 官方仓库。使用 sudo yum install -y docker-ce docker-ce-cli containerd.io 安装 Docker 软件。完成后,运行 sudo systemctl start docker 启动服务并设置开机自启。最后执行 sudo usermod -aG docker $USER 将用户加入 docker 组,使用 newgrp docker 刷新组权限,便于后续操作。
步骤2:安装Minikube与kubectl工具。
利用 curl -Lo minikube ... 下载 Minikube v1.33.1 的二进制文件,通过 chmod +x 赋予执行权限后移动至系统目录。同样方式下载 kubectl v1.28.0 客户端。安装完成后,分别输入 minikube version 和 kubectl version --client 命令,确认工具版本信息正确,安装成功。
步骤3:配置镜像并启动集群。
由于网络原因,先手动执行 docker pull 拉取阿里云的 kicbase 基础镜像。随后运行 minikube start 命令,关键参数包括:指定 --driver=docker,设置 --image-mirror-country='cn' 和阿里云镜像仓库路径,指定基础镜像版本及 Kubernetes 版本 v1.28.0,并分配 --memory=2200 MB 内存,完成单节点集群的启动。
步骤4:验证集群运行状态。
集群启动后,输入 minikube status 查看整体状态。执行 kubectl get nodes 检查节点状态是否为 Ready,这是集群可用的关键标志。最后通过 kubectl get pods -A 查看命名空间下的所有系统 Pod,确保 kube-system 等核心组件 Pod 处于 Running 状态。
步骤5:部署应用并暴露服务。
执行 kubectl create deployment nginx --image=nginx 部署 Nginx 应用。使用 kubectl expose deployment nginx --type=NodePort --port=80 将服务暴露为 NodePort 类型。通过 kubectl get svc 查看服务信息,并运行 minikube service nginx --url 获取具体的访问 IP 与端口号。
步骤6:访问验证与故障排查。
根据获取的 URL,使用 curl 命令在终端访问,或使用浏览器访问,若返回 Nginx 欢迎页则验证成功。过程中若遇到 ImagePullBackOff 错误,需应用国内镜像源修复。最后,使用 kubectl delete deployment nginx 和 kubectl delete service nginx 清理资源,完成实验。
实验结果: 成功在openEuler上部署了Minikube单节点集群,节点状态显示Ready。Nginx应用部署顺利,通过NodePort暴露服务后,使用curl访问返回了Nginx欢迎页,验证了容器化应用的网络连通性。常用kubectl命令执行无误,各项验证指标均达到预期目标。
个人收获: 深入理解了Kubernetes核心组件的运作原理。通过配置镜像源解决了网络问题,掌握了国内环境下的部署优化技巧。本次实操提升了云原生技术的应用能力,加深了对容器编排及运维排错的理解。
本文作者:Linxiong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!