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
报错处理
相关推荐
U***e632 小时前
Docker增强现实开发
docker·容器·ar
qq_5470261793 小时前
Docker 搭建单节点MySQL服务
mysql·adb·docker
Yuriey4 小时前
K8s部署实践-基于Debian13(Trixie)
云原生·容器·kubernetes
哈里谢顿4 小时前
ubuntu 节点无法连接google
kubernetes
java_logo4 小时前
GPUSTACK Docker 容器化部署指南
运维·mongodb·docker·云原生·容器·eureka·express
阿巴阿巴啊啊啊4 小时前
docker基本操作命令
运维·docker·容器
DreamLife☼5 小时前
Docker-日志与监控:集中采集与性能分析实战
docker·grafana·efk·可观测性·容器监控·cadvisor·prometheus 监控
喜欢你,还有大家6 小时前
DaemonSet && service && ingress的
linux·架构·kubernetes
Yyyy4827 小时前
K8s认证授权
云原生·容器·kubernetes
Just_Do_IT_OK7 小时前
Docker--Spark
docker·容器·spark