如何在 Arch Linux 上使用 Minikube 设置 Kubernetes 集群

Kubernetes 是一个免费的开源平台,可让您自动部署、扩展和管理容器化应用程序。 它支持各种容器运行时,如 Docker、containerd、CRI-O 和 Kubernetes CRI(容器运行时接口)的任何实现。 Kubernetes 可自动执行多项与容器相关的任务,包括部署、推出、服务发现、存储配置、负载平衡、自动缩放等。

在这篇文章中,我们将向您展示如何在 Arch Linux 上安装 Kubernetes。

先决条件

  • Your self Cloud Platform 上的全新 Arch Linux 服务器
  • 在您的服务器上配置的根密码
  • 云服务器至少需要 2 个 vCPU 和 2GB RAM

第 1 步 – 创建您自己的云服务器

首先,登录您的你自己的云服务器. 创建一个新服务器,选择 Arch Linux 作为操作系统,至少 2GB 内存。 通过 SSH 连接到您的云服务器,并使用页面顶部突出显示的凭据登录。

第 2 步 – 配置存储库

默认情况下,默认存储库在 Arch Linux 中已过时,因此您需要修改默认镜像列表。 您可以通过编辑 mirrorlist 配置文件来完成:

                nano  /etc/pacman.d/mirrorlist
              

删除所有行并添加以下行:

                ## Score: 0.7, United States
Server = https://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
## Score: 0.8, United States
Server = https://lug.mtu.edu/archlinux/$repo/os/$arch
Server = https://mirror.nl.leaseweb.net/archlinux/$repo/os/$arch
## Score: 0.9, United Kingdom
Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch
## Score: 1.5, United Kingdom
Server = https://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch
Server = https://archlinux.dcc.fc.up.pt/$repo/os/$arch
## Score: 6.6, United States
Server = https://mirror.cs.pitt.edu/archlinux/$repo/os/$arch
## Score: 6.7, United States
Server = https://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch
## Score: 6.8, United States
Server = https://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
## Score: 7.1, India
Server = https://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch
## Score: 10.1, United States
Server = https://mirrors.xmission.com/archlinux/$repo/os/$arch

              

保存并关闭文件,然后使用以下命令更新所有包索引:

                pacman -Syu
              

第 3 步 – 安装 Docker 引擎

Kubernetes 需要在您的服务器上安装 Docker 引擎。 如果没有安装,您可以使用以下命令安装它。

                pacman -S docker
              

安装 Docker 后,使用以下命令启用 Docker 服务。

                systemctl enable docker
              

接下来,重新启动系统以应用更改。

                reboot
              

第 4 步 – 安装 Minikube

Minikube 提供了一种更简单的方法来部署 Kubernetes 集群以进行本地开发。 默认情况下,Minikube 包在 Arch Linux 默认存储库中可用。 您可以使用以下命令安装它。

                pacman -S minikube
              

安装成功后,使用以下命令启动 Minikube。

                minikube start --force
              

此命令将在您的服务器上设置本地 Kubernetes 集群。

                ?  minikube v1.28.0 on Arch  (kvm/amd64)
❗  minikube skips various validations when --force is supplied; this may lead to unexpected behavior
✨  Automatically selected the docker driver. Other choices: ssh, none
?  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% 40.76 M
    > gcr.io/k8s-minikube/kicbase:  386.27 MiB / 386.27 MiB  100.00% 26.76 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
?  kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
?  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

              

第 5 步 – 验证 Kubernetes 集群

您现在可以使用以下命令验证 Kubernetes 集群。

                minikube kubectl -- get pods -A
              

您应该得到以下输出。

                    > kubectl.sha256:  64 B / 64 B [-------------------------] 100.00% ? p/s 0s
    > kubectl:  42.93 MiB / 42.93 MiB [------------] 100.00% 45.96 MiB p/s 1.1s
NAMESPACE     NAME                               READY   STATUS    RESTARTS      AGE
kube-system   coredns-565d847f94-2dq5q           1/1     Running   0             54s
kube-system   etcd-minikube                      1/1     Running   0             66s
kube-system   kube-apiserver-minikube            1/1     Running   0             67s
kube-system   kube-controller-manager-minikube   1/1     Running   0             66s
kube-system   kube-proxy-g7w2q                   1/1     Running   0             54s
kube-system   kube-scheduler-minikube            1/1     Running   0             67s
kube-system   storage-provisioner                1/1     Running   1 (23s ago)   65s

              

要获取有关节点的信息,请使用以下命令。

                minikube kubectl -- get nodes -A
              

您将获得以下输出。

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

              

第 6 步 – 访问 Minikube 仪表板

默认情况下,Minikube 仪表板是禁用的,因此您需要先启用它。

运行以下命令以启用 Minikube 仪表板。

                minikube dashboard
              

您现在可以使用以下命令检索 Minikube URL。

                minikube dashboard --url
              

您应该会在以下输出中看到您的 Minikube URL。

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

              

Minikube 仪表板现已启用并侦听端口38999在本地主机上。 您只能从本地主机访问 Minikube 仪表板。 要从远程系统访问 Minikube 仪表板,您需要使用 SSH 端口转发方法。

登录到您的 Linux 桌面系统并使用以下命令转发您的 SSH 端口。

                ssh -L 38999:127.0.0.1:38999 -fN [email protected]
              

系统将要求您提供服务器的根密码以启用 SSH 端口转发。

您现在可以打开 Web 浏览器并使用 URL 访问 Minikube 仪表板https://127.0.0.1:38999/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/。您应该会在以下屏幕上看到 Minikube 仪表板。

结论

在本教程中,我们介绍了如何在 Arch Linux 8 上使用 Minikube 安装 Kubernetes 集群。现在您可以按照本教程部署 Kubernetes 集群进行本地开发。 您也可以尝试在您自己托管的专用服务器上部署 Kubernetes!