Minikube 安装与使用详细指南(Centos7 踩坑版)

目录

      • [Minikube 安装与使用详细指南](#Minikube 安装与使用详细指南)
        • [一、安装 Minikube](#一、安装 Minikube)
          • [1. 前置条件](#1. 前置条件)
          • [2. 安装步骤](#2. 安装步骤)
            • [安装Docker (二进制)](#安装Docker (二进制))
            • [安装minikube (二进制下载)](#安装minikube (二进制下载))
        • [二、启动 Minikube 集群](#二、启动 Minikube 集群)
        • [三、使用 kubectl 操作集群](#三、使用 kubectl 操作集群)
          • [问题:coredns pod 不断重启 (coredns CrashLoopBackOff)](#问题:coredns pod 不断重启 (coredns CrashLoopBackOff))
        • 四、部署应用示例
          • [通过kubectl port-forward 外部访问](#通过kubectl port-forward 外部访问)
        • [五、Minikube 常用命令](#五、Minikube 常用命令)
        • [六、卸载 Minikube](#六、卸载 Minikube)
        • 报错处理

Minikube 安装与使用详细指南

Minikube 是一个用于在本地运行单节点 Kubernetes 集群的工具,适合开发、测试和学习 Kubernetes。

官方文档:https://minikube.sigs.k8s.io/docs/

以下是详细的安装和使用步骤:

一、安装 Minikube
1. 前置条件
  • 支持的操作系统:Linux、macOS、Windows
  • 必须安装容器或虚拟机管理器(任选其一):
    • Docker(推荐)
    • HyperKit(macOS)
    • VirtualBox
    • KVM2(Linux)
    • VMware
  • 至少 2GB 内存、2 核 CPU、20GB 磁盘空间
  • 🔔【重要】 如果Centos7操作系统,记得升级内核
2. 安装步骤
安装Docker (二进制)

参考:
CentOS 7上通过二进制包安装Docker

安装minikube (二进制下载)
bash 复制代码
# 安装 Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
二、启动 Minikube 集群
bash 复制代码
# 启动集群(默认使用 Docker 驱动)
minikube start

# 若需指定驱动(如 VirtualBox)
minikube start --driver=virtualbox

# 验证集群状态
minikube status
# 输出示例:
# minikube: Running
# cluster: Running
# kubectl: Correctly Configured: pointing to minikube-vm at 192.168.49.2

这里我直接运行的minikube start 但是提示:

X 因 DRV_AS_ROOT 错误而退出:docker 驱动不应使用 root 权限。

所以我加了-- force 执行了 minikube start --force 还算顺利的启动了。

三、使用 kubectl 操作集群

Minikube 会自动配置 kubectl(Kubernetes 命令行工具),无需额外安装:

bash 复制代码
# 将以下内容添加到你的 shell 配置中
alias kubectl="minikube kubectl --"

# 查看节点
kubectl get nodes
# 输出示例:
# NAME       STATUS   ROLES           AGE   VERSION
# minikube   Ready    control-plane   5m    v1.28.3

# 查看集群信息
kubectl cluster-info

# 查看命名空间
kubectl get namespaces

# 查看默认命名空间的 Pod
kubectl get pods
问题:coredns pod 不断重启 (coredns CrashLoopBackOff)
bash 复制代码
$ kubectl -n kube-system logs -f coredns-7db6d8ff4d-mp9pd
Listen: listen tcp :53: bind: permission denied

这个问题有复现 可以参考下面的minikube/issues 查看:

https://github.com/kubernetes/minikube/issues/18950

这里报错的原因主要应该是内核版本低导致的,我通过将内核版本 从 3.10.0 升级到 5.4.278 ,然后重启服务器,解决了。 升级内核的步骤可以参考我这篇文章。

Centos7 停止维护一年后,还有多少人在使用,离线升级内核记录&&替代方案选型

四、部署应用示例

以部署一个 Nginx 为例:

bash 复制代码
# 创建 Deployment
kubectl create deployment hello-minikube--image=nginx:1.23

# 查看 Deployment
kubectl get deployments

# 暴露端口(创建 Service)
kubectl expose deployment hello-minikube  --type=NodePort --port=80

# 查看 Service
# 输出示例:
[root@work ~]# kubectl get svc hello-minikube
NAME             TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
hello-minikube   NodePort   10.99.147.10   <none>        80:31852/TCP   62m


# 访问应用(Minikube 提供快捷命令)
[root@work bin]# minikube service hello-minikube
┌───── ┬────────┬────── ┬───────────── ┐
│ NAMESPACE │      NAME      │ TARGET PORT │            URL            │
├───── ┼────────┼────── ┼───────────── ┤
│ default   │ hello-minikube │ 80          │ http://192.168.49.2:31852 │
└───── ┴────────┴────── ┴───────────── ┘
* 正通过默认浏览器打开服务 default/hello-minikube...
  http://192.168.49.2:31852

# 会自动打开浏览器访问应用
# 因为我是在Linux Centos7 上,没有浏览器,通过curl命令执行:
通过kubectl port-forward 外部访问

使用 kubectl port-forward 连接到在 Kubernetes 集群中运行的 pod 服务。 这种类型的连接对很有用

bash 复制代码
kubectl port-forward --address 0.0.0.0  pod/hello-minikube-54db9457b4-fqjz7 18081:80

Window主机,访问Centos7主机服务地址: http://192.168.37.200:18081/

五、Minikube 常用命令
bash 复制代码
# 停止集群
minikube stop

# 删除集群(重置环境)
minikube delete

# 查看集群 IP
minikube ip

# 进入 Minikube 节点内部
minikube ssh

# 启用附加组件(如 Dashboard、Ingress 等)
minikube addons enable dashboard  # 启用 Dashboard
minikube addons enable ingress    # 启用 Ingress 控制器

# 打开 Dashboard(图形化界面)
minikube dashboard
# 会自动打开浏览器访问 Dashboard

# 查看已启用的附加组件
minikube addons list
六、卸载 Minikube
bash 复制代码
# Linux/macOS
minikube delete
sudo rm -rf /usr/local/bin/minikube

# Windows(Chocolatey)
minikube delete
choco uninstall minikube
报错处理
相关推荐
似水流年 光阴已逝4 小时前
从Jar包到K8s上线:全流程拆解+高可用实战
java·kubernetes·jar
行思理5 小时前
Dockerfile 各指令说明
运维·macos·docker·容器·php
FreeBuf_5 小时前
Docker Compose曝路径遍历漏洞,可致任意覆写文件(CVE-2025-62725)
docker·容器·eureka
dwedwswd5 小时前
亲子娱乐升级!Docker 电视盒子 ADB 安装助手,儿童 APP 一键装满电视
docker·娱乐·电视盒子
半梦半醒*6 小时前
k8s——资源管理
linux·运维·docker·容器·kubernetes·自动化
小Pawn爷6 小时前
构建Django的Web镜像
前端·python·docker·django
梁萌6 小时前
在linux上使用docker搭建ELK日志框架
elk·elasticsearch·docker·kibana·logstash·日志框架
落世繁华7 小时前
Docker快速部署--Mysql一键初始化
运维·mysql·docker·容器·一键部署
胡耀超7 小时前
AI应用开发入门,docker部署 Milvus + GPUStack (Attu+MinIO)的基础入门!
人工智能·docker·ai·大模型·milvus·rag·gpustack