在 Ubuntu 22 上深入了解和搭建 Minikube

在 Ubuntu 22 上深入了解和搭建 Minikube

Minikube 是一个开源工具,使开发者能够在本地计算机上运行单节点的 Kubernetes 集群,非常适合于开发、测试和学习 Kubernetes 的基础知识。在这篇文章中,我们将深入了解 Minikube 的工作原理,并提供在 Ubuntu 22 系统上搭建 Minikube 的详细步骤。

什么是 Minikube?

Minikube 是一个轻量级的 Kubernetes 实现,旨在帮助用户快速构建本地的 Kubernetes 环境。其核心特性包括:

  • 单节点集群:Minikube 运行一个单节点的 Kubernetes 集群,适合开发和测试。
  • 多种驱动:支持多种虚拟化驱动,包括 VirtualBox、VMware、Hyper-V 等,也支持通过 Docker 驱动在容器中运行。
  • 易于使用:提供简单的命令行工具,便于集群的启动、停止和管理。

Minikube 的工作原理

Minikube 通过创建和管理虚拟机或容器来运行一个单节点的 Kubernetes 集群。它将 Kubernetes 的各个组件(如 API server、scheduler、controller-manager 等)运行在一个节点上。Minikube 还包括了一些有用的工具,如 kubectl 命令行工具,用于与 Kubernetes 集群进行交互。

在 Ubuntu 22 上安装 Minikube

安装依赖

首先,确保你的系统安装了必要的依赖项:

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl

安装 Docker

Minikube 可以使用 Docker 作为其虚拟化驱动程序。按照以下步骤安装 Docker:

sudo apt-get install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

验证 Docker 是否安装成功:

docker --version

示例输出

Docker version 20.10.7, build f0df350

使用国内镜像安装 kubectl

由于网络原因无法访问 Google 的 Kubernetes 存储库,我们可以使用 Azure China 的 Kubernetes 镜像源来下载和安装 kubectl:

  1. 获取稳定版本号:

    VERSION=$(curl -s https://mirror.azure.cn/kubernetes/kubectl/stable.txt)
    echo $VERSION
    

    示例输出

    v1.22.0
    
  2. 下载 kubectl:

    curl -LO "https://mirror.azure.cn/kubernetes/kubectl/$VERSION/bin/linux/amd64/kubectl"
    
  3. 安装 kubectl:

    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
    
  4. 验证安装:

    kubectl version --client
    

    示例输出

    Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.0", GitCommit:"abcdef", GitTreeState:"clean", BuildDate:"2022-07-15T12:00:00Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}
    

安装 Minikube

从 Minikube 的官方网站下载并安装最新版本的 Minikube:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

验证 Minikube 是否安装成功:

minikube version

示例输出

minikube version: v1.33.1
commit: 2f223910e89575eb6b2cf301748c1126d88a1585

启动 Minikube

使用以下命令启动 Minikube:

minikube start --driver=docker

示例输出

😄  minikube v1.33.1 on Ubuntu 22.04 (vbox/amd64)
✨  Using the docker driver based on user configuration
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
🔥  Creating docker container (CPUs=2, Memory=4000MB) ...
🐳  Preparing Kubernetes v1.23.3 on Docker 20.10.7 ...
    ▪ kubelet.housekeeping-interval=5m
🚀  Launching Kubernetes ...
    ▪ apiserver.advertise-address=192.168.99.100
🌟  Enabling addons: default-storageclass, storage-provisioner
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

启用 Ingress 插件

为了使局域网内的其他机器能够访问 Minikube Dashboard,你需要启用 Ingress 插件:

minikube addons enable ingress

示例输出

💡  ingress is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub.
You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS
    ▪ Using image registry.k8s.io/ingress-nginx/controller:v1.10.1
    ▪ Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1
    ▪ Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.4.1
🔎  Verifying ingress addon...
🌟  The 'ingress' addon is enabled

让局域网内其他机器访问 Minikube Dashboard

使用 kubectl port-forward

  1. 获取 Dashboard 服务名称:

    kubectl get svc -n kubernetes-dashboard
    

    示例输出

    NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
    kubernetes-dashboard   ClusterIP   10.96.183.235    <none>        80/TCP    10m
    
  2. 进行端口转发:

    kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 8080:80 --address 0.0.0.0 &
    
  3. 在局域网内的其他机器上,通过以下 URL 访问 Dashboard:

    http://<your-host-ip>:8080/
    

    其中 <your-host-ip> 是运行 Minikube 的主机的 IP 地址。

    如果需要后台运行,可以用nohup命令:

    nohup kubectl port-forward -n kubernetes-dashboard service/kubernetes-dashboard 8080:80 --address 0.0.0.0 > port-forward.log 2>&1 &
    

设置防火墙(可选)

如果你在机器上启用了防火墙,可能需要开放相应的端口:

sudo ufw allow 8001

参考链接

在这里插入图片描述

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
以下是在 Ubuntu 22.04 上使用 Minikube 进行安装配置的步骤: 1. 安装 kubectl 首先,您需要安装 `kubectl` 工具,它是 Kubernetes 命令行工具。您可以使用以下命令在 Ubuntu 22.04 上安装 `kubectl`: ``` sudo apt-get update && sudo apt-get install -y kubectl ``` 2. 安装虚拟化软件 在 Ubuntu 中,您可以使用 `KVM` 或 `VirtualBox` 作为虚拟化软件。如果您选择使用 `KVM`,则需要安装以下软件包: ``` sudo apt-get update && sudo apt-get install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils ``` 如果您选择使用 `VirtualBox`,则可以使用以下命令安装: ``` sudo apt-get update && sudo apt-get install -y virtualbox virtualbox-ext-pack ``` 3. 安装 Minikube 您可以使用以下命令在 Ubuntu 22.04 上安装 Minikube: ``` curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ && sudo install minikube-linux-amd64 /usr/local/bin/minikube ``` 4. 启动 MinikubeUbuntu 22.04 上,您可以使用以下命令启动 Minikube: ``` minikube start --driver=<your-driver> ``` 其中,`<your-driver>` 是您选择的虚拟化软件的名称,例如:`kvm2` 或 `virtualbox`。 5. 验证 Minikube 您可以使用以下命令验证 Minikube 是否已成功启动: ``` kubectl version ``` 如果一切正常,您应该能够看到类似于以下输出: ``` Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2021-10-27T18:44:34Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2021-10-27T18:37:38Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"} ``` 这表示您的 Minikube 已经准备就绪,并且您可以开始使用 Kubernetes 集群了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑风风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值