安装minikube

本文详细指导如何在CentOS 7上下载并安装kubectl和minikube,解决启动过程中的驱动问题和权限问题,包括VirtualBox安装、Docker组权限设置及镜像问题。通过实例演示了部署、服务暴露和端口转发,以完成Kubernetes环境搭建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载安装 kubectl

sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && sudo chmod +x kubectl && sudo mv kubectl /usr/local/bin/

下载minikube

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

sudo install minikube-linux-amd64 /usr/local/bin/minikube

依赖环境

minikube需要VirtualBox环境

安装 VirtualBox

# 下载地址
https://download.virtualbox.org/virtualbox/6.1.34/VirtualBox-6.1-6.1.34_150636_el7-2.x86_64.rpm

# 安装
sudo rpm -ivh VirtualBox-6.1-6.1.34_150636_el7-2.x86_64.rpm
# 报错的话就是依赖环境没安装 安装完下面的重新尝试安装VirtualBox
sudo yum install compat-libstdc++-33 SDL
sudo yum install gcc kernel-devel make libGL qt qt-devel libXmu

启动minikube

这是重新执行 minikube start 还是报错

[zlf@zlf nzb]$ minikube start
😄  minikube v1.25.2 on Centos 7.9.2009
👎  Unable to pick a default driver. Here is what was considered, in preference order:
    ▪ docker: Not healthy: "docker version --format {{.Server.Os}}-{{.Server.Version}}" exit status 1: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version: dial unix /var/run/docker.sock: connect: permission denied
    ▪ docker: Suggestion: Add your user to the 'docker' group: 'sudo usermod -aG docker $USER && newgrp docker' <https://docs.docker.com/engine/install/linux-postinstall/>
    ▪ virtualbox: Not healthy: warning from virtualbox WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (3.10.0-1160.25.1.el7.x86_64) or it failed to
         load. Please recompile the kernel module and install it by

           sudo /sbin/vboxconfig

         You will not be able to start VMs until this problem is fixed.
6.1.34r150636

    ▪ virtualbox: Suggestion: Read the docs for resolution <https://minikube.sigs.k8s.io/docs/reference/drivers/virtualbox/>
💡  Alternatively you could install one of these drivers:
    ▪ kvm2: Not installed: exec: "virsh": executable file not found in $PATH
    ▪ vmware: Not installed: exec: "docker-machine-driver-vmware": executable file not found in $PATH
    ▪ podman: Not installed: exec: "podman": executable file not found in $PATH

❌  Exiting due to DRV_NOT_HEALTHY: Found driver(s) but none were healthy. See above for suggestions how to fix installed drivers.

我们执行 minikube start --driver=docker,还是报错,但是错误少了。

[zlf@zlf nzb]$ minikube start --driver=docker
😄  minikube v1.25.2 on Centos 7.9.2009
✨  Using the docker driver based on user configuration

💣  Exiting due to PROVIDER_DOCKER_NEWGRP: "docker version --format -" exit status 1: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version: dial unix /var/run/docker.sock: connect: permission denied
💡  Suggestion: Add your user to the 'docker' group: 'sudo usermod -aG docker $USER && newgrp docker'
📘  Documentation: https://docs.docker.com/engine/install/linux-postinstall/

执行 sudo usermod -aG docker $USER && newgrp docker 将当前用户加入docker组

当我们执行 minikube start 看到下述报错时

docker: Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate is valid for *.toasttab.com, not registry-1.docker.io.

执行下面的即可

minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'

在这里插入图片描述
查看状态
minikube status,表示启动成功
在这里插入图片描述

启动minikube dashboard

执行minikube dashboard
如果出现如下报错

[zlf@zlf nzb]$ minikube dashboard
🤔  Verifying dashboard health ...
🚀  Launching proxy ...
🤔  Verifying proxy health ...
🎉  Opening http://127.0.0.1:44973/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
START /bin/firefox "http://127.0.0.1:44973/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/"
Failed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Running without a11y support!
Error: no DISPLAY environment variable specified
xdg-open: no method available for opening 'http://127.0.0.1:44973/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/'

❌  Exiting due to HOST_BROWSER: failed to open browser: exit status 3

采用一下方式进行启动

nohup  kubectl proxy --port=10888 --address='192.168.8.128' --accept-hosts='^.*' > ./nohup.out &

访问http://192.168.8.128:10888/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ 即可看到如下页面
在这里插入图片描述

测试小案例

创建部署

kubectl create deployment hello-minikube --image=registry.aliyuncs.com/google_containers/echoserver:1.10
# 将该pod 暴露他的端口为8080 
kubectl expose deployment hello-minikube --type=NodePort --port=8080

查看状态

[zlf@zlf ~]$ kubectl get pod
NAME                              READY   STATUS    RESTARTS   AGE
hello-minikube-6899fcbcf5-4rx8m   1/1     Running   0          15s

查看该service的url

[zlf@zlf ~]$ minikube service hello-minikube --url
http://192.168.49.2:31013

将端口转发到本机的端口,这样供给外界访问

## 端口转发,将pod的8080端口流量转发到本机7080端口
## --address 0.0.0.0  这个参数用于设置监听地址,默认值是localhost。如果设置为localhost,那么k8s会监听127.0.0.1和::1这两个地址,所以我们要设置为0.0.0.0 不设置的话外界pc无法访问

kubectl port-forward --address 0.0.0.0 service/hello-minikube  7080:8080

访问成功
在这里插入图片描述

<think>好的,我需要帮助用户了解如何通过Docker安装Minikube。首先,我得整理用户提供的引用内容,看看里面有哪些关键步骤和信息。 用户提到的引用[1]和[4]都提到使用rootless Docker可能会有问题,建议使用rootfull Docker,也就是标准安装。所以安装Docker应该是第一步。根据引用[5],安装Docker需要更新系统、安装依赖、添加Docker仓库,然后安装Docker引擎,并启动服务。还要记得把用户加入docker组,避免每次用sudo,这跟引用[2]提到的权限问题一致。 接下来是安装kubectl,引用[5]提到了下载kubectl二进制文件,并赋予执行权限,然后移动到PATH目录。这部分需要详细说明,确保用户能正确安装。 然后是安装Minikube本身。引用[3]提到用Homebrew安装,但用户可能是在Linux环境下,所以需要提供两种方法:用curl直接下载二进制文件,或者用包管理器如Homebrew。引用[4]中的启动命令是minikube start --vm-driver=docker,但根据最新文档,应该使用--driver参数,所以可能需要调整。 验证安装部分,需要检查kubectl是否能够连接到Minikube集群,以及节点状态是否正常。可能还要提醒用户如果遇到问题,检查Docker服务是否运行,用户是否在docker组里,以及是否需要使用sudo或者调整驱动参数。 用户的问题还可能涉及常见错误,比如引用[1]中的权限错误,这时候需要确保用户加入了docker组,或者使用sudo。引用[4]提到资源紧张的问题,可能需要调整内存和CPU配置,比如minikube config set memory和cpus参数。 最后生成相关问题的时候,需要考虑用户后续可能遇到的疑问,比如驱动选择、无法启动的解决办法,以及如何访问部署的应用。 现在需要把这些步骤整理成一个清晰的指南,分步骤说明,确保每个环节都准确,并且引用正确的来源。同时注意使用正确的LaTeX格式,比如命令用行内代码块,独立代码段用三个反引号。还要检查所有命令是否正确,比如Docker安装步骤是否适用于Ubuntu,kubectl的安装方法是否通用。 可能还需要注意不同操作系统的差异,比如在Linux和Mac上安装Minikube的命令是否一致,但用户的问题主要是通过Docker安装,所以重点在Docker的配置上。另外,提醒用户如果之前安装Minikube,可能需要先删除旧配置,避免冲突。 总结下来,步骤应该是:安装Docker -> 配置用户组 -> 安装kubectl -> 安装Minikube -> 启动Minikube -> 验证安装 -> 常见问题处理。每个步骤都需要详细说明,并引用对应的参考资料。</think>### 通过Docker安装Minikube的完整指南 #### 一、安装Docker(基础环境) 1. **更新系统并安装依赖** ```bash sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg ``` 2. **添加Docker官方GPG密钥** ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` 3. **设置Docker仓库** ```bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 4. **安装Docker引擎** ```bash sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io ``` 5. **启动Docker服务并设置开机自启** ```bash sudo systemctl enable --now docker ``` 6. **将当前用户加入`docker`组** 避免每次使用`sudo`执行Docker命令[^2]: ```bash sudo usermod -aG docker $USER && newgrp docker ``` --- #### 二、安装kubectl(Kubernetes命令行工具) 1. **下载最新稳定版二进制文件** ```bash curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" ``` 2. **赋予执行权限并移动到系统路径** ```bash chmod +x kubectl && sudo mv kubectl /usr/local/bin/ ``` --- #### 三、安装Minikube 1. **通过curl直接安装** ```bash curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube ``` 2. **或通过包管理器安装(如Homebrew)** ```bash brew install minikube # 适用于Mac用户[^3] ``` --- #### 四、启动Minikube集群 1. **指定Docker为驱动** ```bash minikube start --driver=docker # 需确保Docker已运行[^4] ``` 2. **查看集群状态** ```bash minikube status ``` --- #### 五、验证安装 1. **检查kubectl连接** ```bash kubectl cluster-info ``` 2. **查看节点状态** ```bash kubectl get nodes ``` 正常输出示例: ``` NAME STATUS ROLES AGE VERSION minikube Ready control-plane 1m v1.28.0 ``` --- #### 六、常见问题处理 | 问题现象 | 解决方法 | |---------|----------| | `Exiting due to DRV_NOT_DETECTED` | 确认Docker服务已启动:`sudo systemctl restart docker` [^5] | | 权限不足错误 | 重新执行用户组配置:`newgrp docker` 或重启系统[^1] | | 资源分配不足 | 调整配置:`minikube config set memory 4096 --driver=docker` | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值