如何在 Debian 11 上使用 Minicube 设置 Kubernetes 集群如何在 Debian 11 上使用 Minicube 设置 Kubernetes 集群如何在 Debian 11 上使用 Minicube 设置 Kubernetes 集群如何在 Debian 11 上使用 Minicube 设置 Kubernetes 集群
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 11 上使用 Minicube 设置 Kubernetes 集群

在此页

  1. 要求
  2. 安装 Docker
  3. 安装 Kubectl
  4. 安装 Minikube
  5. 启动 Minikube
  6. 访问 Minikube Kubernetes 仪表板

Minikube 是一个免费的开源工具,带有一组内置的附加组件,可帮助您在本地系统中设置 Kubernetes 集群。 minicube 命令提供了几个子命令,允许您通过命令行界面管理 Kubernetes 集群。 Minikube 是跨平台的,支持许多操作系统,包括 Linux、macOS 和 Windows。它可以部署为 VM、容器或裸机。

本教程将教授如何在 Debian 11 上安装 Minikube。

要求

  • 您的系统上安装了 Fresh Debian 11。
  • 在您的系统上设置了根密码。

安装 Docker

在安装 Minikube 之前,必须在您的服务器上安装 Docker 包。如果没有安装,您可以使用以下命令安装它。

apt install docker.io -y

安装 Docker 后,您可以使用以下命令验证 Docker 版本。

docker --version

您应该看到以下输出。

Docker version 20.10.5+dfsg1, build 55c4c88

安装 Kubectl

Kubectl 是一个在 Kubernetes 上部署和管理应用程序的工具。默认情况下,Kubectl 在 Debian 11 默认存储库中不可用。因此,您需要使用 Snap 安装它。

首先,使用以下命令安装 Snap 包。

apt install snapd -y

接下来,使用以下命令为 Snap 包创建符号链接。

ln -s /var/lib/snapd/snap /snap

接下来,将 Snap 路径添加到您的系统配置文件。

echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | tee -a /etc/profile.d/snap.sh

接下来,使用以下命令启动并启用 Snap 服务。

systemctl enable --now snapd.service snapd.socket

接下来,使用以下命令安装 kubectl 包。

snap install kubectl --classic

接下来,使用以下命令创建 kubectl 包的符号链接。

ln -s /snap/kubectl/current/kubectl /usr/bin/

现在,使用以下命令验证 kubectl 版本。

kubectl version -o yaml

您应该看到以下输出:

clientVersion:
  buildDate: "2022-12-09T16:23:44Z"
  compiler: gc
  gitCommit: b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d
  gitTreeState: clean
  gitVersion: v1.26.0
  goVersion: go1.19.4
  major: "1"
  minor: "26"
  platform: linux/amd64
kustomizeVersion: v4.5.7

安装 Minikube

默认情况下,Minikube 软件包不包含在 Debian 默认存储库中。因此,您需要将 Minikube 二进制文件下载到您的系统中。

首先,使用以下命令下载 Minikube。

wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 -O minikube

接下来,将 Minikube 二进制文件复制到系统路径。

cp minikube /usr/local/bin/

接下来,使用以下命令设置可执行权限。

chmod +x /usr/local/bin/minikube

现在,使用以下命令验证 Minikube 版本。

minikube version

您将获得以下输出。

minikube version: v1.28.0
commit: 986b1ebd987211ed16f8cc10aed7d2c42fc8392f

完成后,您可以继续下一步。

启动 Minikube

此时,所有必需的包都已安装。您现在可以使用以下命令启动 Minikube:

minikube start --force

这将下载 docker 镜像并配置 Kubernetes 集群,如下所示:

????  minikube v1.28.0 on Debian 11.6 (kvm/amd64)
?  minikube skips various validations when --force is supplied; this may lead to unexpected behavior
?  Automatically selected the docker driver. Other choices: none, ssh
????  The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
????  If you are running minikube within a VM, consider using --driver=none:
????    https://minikube.sigs.k8s.io/docs/reference/drivers/none/
????  Using Docker driver with root privileges
????  Starting control plane node minikube in cluster minikube
????  Pulling base image ...
????  Downloading Kubernetes v1.25.3 preload ...
    > preloaded-images-k8s-v18-v1...:  385.44 MiB / 385.44 MiB  100.00% 37.08 M
    > gcr.io/k8s-minikube/kicbase:  386.27 MiB / 386.27 MiB  100.00% 27.51 MiB 
    > gcr.io/k8s-minikube/kicbase:  0 B [________________________] ?% ? p/s 10s
????  Creating docker container (CPUs=2, Memory=2200MB) ...
????  Preparing Kubernetes v1.25.3 on Docker 20.10.20 ...
    ? Generating certificates and keys ...
    ? Booting up control plane ...
    ? Configuring RBAC rules ...
????  Verifying Kubernetes components...
    ? Using image gcr.io/k8s-minikube/storage-provisioner:v5
????  Enabled addons: default-storageclass, storage-provisioner
????  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

您现在可以使用以下命令检查集群状态:

kubectl cluster-info

您应该看到以下输出:

Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

要检查正在运行的节点,请运行以下命令:

kubectl get nodes

输出:

NAME       STATUS   ROLES           AGE   VERSION
minikube   Ready    control-plane   67s   v1.25.3

您还可以使用以下命令访问 Minikube 容器:

minikube ssh

输出:

:~$ 

现在,使用以下命令退出容器 shell:

$exit

您可以随时使用以下命令停止和删除 Kubernetes 集群:

minikube stop
minikube delete

您可以使用以下命令检查 Minikube 的状态:

minikube status

输出:

minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

完成后,您可以继续下一步。

访问 Minikube Kubernetes 仪表板

默认情况下,Minikube 提供了一个 Web 仪表板,可用于管理您的集群。

您可以使用以下命令列出所有 minikube 插件:

minikube addons list

您应该看到以下输出:

|-----------------------------|----------|--------------|--------------------------------|
|         ADDON NAME          | PROFILE  |    STATUS    |           MAINTAINER           |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador                  | minikube | disabled     | 3rd party (Ambassador)         |
| auto-pause                  | minikube | disabled     | Google                         |
| cloud-spanner               | minikube | disabled     | Google                         |
| csi-hostpath-driver         | minikube | disabled     | Kubernetes                     |
| dashboard                   | minikube | disabled     | Kubernetes                     |
| default-storageclass        | minikube | enabled ?   | Kubernetes                     |
| efk                         | minikube | disabled     | 3rd party (Elastic)            |
| freshpod                    | minikube | disabled     | Google                         |
| gcp-auth                    | minikube | disabled     | Google                         |
| gvisor                      | minikube | disabled     | Google                         |
| headlamp                    | minikube | disabled     | 3rd party (kinvolk.io)         |
| helm-tiller                 | minikube | disabled     | 3rd party (Helm)               |
| inaccel                     | minikube | disabled     | 3rd party (InAccel             |
|                             |          |              | [])            |
| ingress                     | minikube | disabled     | Kubernetes                     |
| ingress-dns                 | minikube | disabled     | Google                         |
| istio                       | minikube | disabled     | 3rd party (Istio)              |
| istio-provisioner           | minikube | disabled     | 3rd party (Istio)              |
| kong                        | minikube | disabled     | 3rd party (Kong HQ)            |
| kubevirt                    | minikube | disabled     | 3rd party (KubeVirt)           |
| logviewer                   | minikube | disabled     | 3rd party (unknown)            |
| metallb                     | minikube | disabled     | 3rd party (MetalLB)            |
| metrics-server              | minikube | disabled     | Kubernetes                     |
| nvidia-driver-installer     | minikube | disabled     | Google                         |
| nvidia-gpu-device-plugin    | minikube | disabled     | 3rd party (Nvidia)             |
| olm                         | minikube | disabled     | 3rd party (Operator Framework) |
| pod-security-policy         | minikube | disabled     | 3rd party (unknown)            |
| portainer                   | minikube | disabled     | 3rd party (Portainer.io)       |
| registry                    | minikube | disabled     | Google                         |
| registry-aliases            | minikube | disabled     | 3rd party (unknown)            |
| registry-creds              | minikube | disabled     | 3rd party (UPMC Enterprises)   |
| storage-provisioner         | minikube | enabled ?   | Google                         |
| storage-provisioner-gluster | minikube | disabled     | 3rd party (Gluster)            |
| volumesnapshots             | minikube | disabled     | Kubernetes                     |
|-----------------------------|----------|--------------|--------------------------------|

接下来,使用以下命令列出集群中运行的所有容器镜像:

kubectl get pods --all-namespaces

您应该看到以下输出:

NAMESPACE     NAME                               READY   STATUS    RESTARTS        AGE
kube-system   coredns-565d847f94-9ttdq           1/1     Running   0               2m47s
kube-system   etcd-minikube                      1/1     Running   0               3m
kube-system   kube-apiserver-minikube            1/1     Running   0               3m1s
kube-system   kube-controller-manager-minikube   1/1     Running   0               3m
kube-system   kube-proxy-mr8sn                   1/1     Running   0               2m47s
kube-system   kube-scheduler-minikube            1/1     Running   0               3m
kube-system   storage-provisioner                1/1     Running   1 (2m16s ago)   2m59s

现在,运行以下命令获取 Kubernetes 仪表板的 URL:

minikube dashboard --url

您应该看到以下输出:

????  Enabling dashboard ...
    ? Using image docker.io/kubernetesui/metrics-scraper:v1.0.8
    ? Using image docker.io/kubernetesui/dashboard:v2.7.0
????  Some dashboard features require the metrics-server addon. To enable all features please run:

	minikube addons enable metrics-server	


????  Verifying dashboard health ...
????  Launching proxy ...
????  Verifying proxy health ...
http://127.0.0.1:45627/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

此时,Minikube 仪表板已安装并运行在本地主机上的端口 45627 上。但是,您只能从本地计算机访问它。如果要从外部计算机访问它,请运行以下命令。

kubectl proxy --address='0.0.0.0' --disable-filter=true

现在,打开您的网络浏览器并输入 URL http://your-server-ip:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/。您将被重定向到 Kubernetes 仪表板,如下页所示:

恭喜!您已经在 Debian 11 上成功安装了 Minikube。您现在可以通过 Web 浏览器轻松管理您的 Kubernetes 集群。如果您有任何问题,请随时问我。

©2015-2025 艾丽卡 support@alaica.com