如何在 CentOS Linux 中使用 Minikube 安装 Kubernetes

介绍

Kubernetes 可以通过多种方式安装和配置,包括在个人计算机、物理服务器、虚拟机上以及作为云服务。 我们将学习如何在 CentOS Linux 中使用 Minikube 安装单节点 Kubernetes 集群。

出于本指南的目的,我们将在 CentOS 7 上安装 Minikube,本机运行在虚拟机层之上。 在安装 Kubernetes 之前,您需要对 Kubernetes 及其架构和容器有一个基本的了解。 请参阅我们之前附在下面的文章以了解这些概念。

  • Kubernetes 简介

小心: 本指南已在 CentOS 上正式测试。 但是,安装步骤是相同的 Fedora、RHEL 及其克隆版本,例如 AlmaLinux 和 Rocky Linux。 如果您使用的是 AlmaLinux 和/或 Rocky Linux,只需更换 yumdnf 在本指南中给出的命令中。

什么是 Minikube?

Kubernetes社区正式发布 Minikube,单节点 Kubernetes 发行版。 它是一款开源软件,可让您在家庭工作站上创建单节点 Kubernetes 集群。

Minicube 创建一个虚拟计算机并在其上运行 Kubernetes 集群,允许您在本地计算机上的 Kubernetes 环境中进行测试。 对于想要安装 Kubernetes 但系统资源有限的人来说,这非常有用。

关于 Minikube 要记住的主要方面是 它缺少一个单独的 Kubernetes masterKubernetes 工作者 节点架构。

所有 Kubernetes 组件在此处作为一个一体化解决方案打包在一起。 一个系统既作为主节点又作为工作节点。

Minikube 的目的是什么?

Minikube 主要用于获得 Kubernetes 的实践经验。 Minikube 是一种尝试和测试应用程序的简单方法,因为大型集群并不总是可用的。

即使是那些已经熟悉 Kubernetes 的人也会发现 Minikube 是一个极好的学习环境,因为它允许进行如此多的实验。

安装 Minikube 的先决条件

  • 最少 2 个 CPU。
  • 至少 2GB 的物理内存 (RAM)。
  • 20GB 磁盘空间。
  • Internet 连接以下载软件包。
  • 安装 Docker 引擎 – 容器管理系统。
  • 安装 Conntrack。

在 CentOS 中安装 Kubernetes 的步骤

在 CentOS 上安装 Kubernetes 包括以下步骤。

小心: 下面给出的所有命令都应该运行为 root 或者 sudo 用户。

第 1 步 – 安装 Docker

首先,我们将在我们的系统中添加 Docker 存储库。

为此,请创建一个名为 docker.repo 在下面 /etc/yum.repos.d/ 目录:

# vi /etc/yum.repos.d/docker.repo

在其中添加以下行:

[docker]
baseurl=https://download.docker.com/linux/centos/7/x86_64/stable/
gpgcheck=0

ESC键 并输入 :wq 保存文件并 close 它。

使用以下命令验证已安装和启用的存储库:

# yum repolist
列出已安装和启用的存储库

添加了 Docker 存储库。 现在,rRun 安装 Docker 社区版(ce):

# yum -y install docker-ce

启动并启用 Docker:

# systemctl start docker
# systemctl enable docker

验证 Docker 状态:

# systemctl status docker
验证 Docker 状态

第 2 步 – 安装 Conntrack

连接轨道 是 Netlifier 框架的一部分。 Kubernetes 复杂的网络需要运行良好,因为节点必须跟踪数千个 pod 和服务之间的连接。

要在 CentOS 上安装 Conntrack,请运行:

# yum -y install conntrack

第 3 步 – 安装 Kubernetes 客户端 (Kubectl)

Kubectl 是与 Kubernetes 一起使用的命令行工具。 您可以使用以下命令下载 kubectl:

# curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

为 keubectl 分配可执行权限:

# chmod +x kubectl

将 kubectl 包移动到您的 $PATH(例如 /usr/local/bin)

# mv kubectl /usr/local/bin/

通过检查 kubeclt 版本来验证安装:

# kubectl version --client -o json

在这里,“-o json” 标志将为您提供 JSON 格式的输出。

样本输出:

{
  "clientVersion": {
    "major": "1",
    "minor": "22",
    "gitVersion": "v1.22.4",
    "gitCommit": "b695d79d4f967c403a96986f1750a35eb75e75f1",
    "gitTreeState": "clean",
    "buildDate": "2021-11-17T15:48:33Z",
    "goVersion": "go1.16.10",
    "compiler": "gc",
    "platform": "linux/amd64"
  }
}

第 4 步 – 安装 Minikube

使用命令下载 minicube 包:

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

授予 minicube 包的可执行权限:

# chmod +x minikube-linux-amd64

最后,将 Minikube 包移动到 /usr/local/bin

# mv minikube-linux-amd64 /usr/local/bin/minikube

Minikube设置完成,可以通过查看版本来验证安装:

# minikube version

样本输出:

minikube version: v1.24.0
commit: 76b94fb3c4e8ac5062daf70d60cf03ddcc0a741b

使用命令启动 Minikube:

# minikube start
启动 Minikube 服务启动 Minikube 服务

检查 Minikube 的状态:

# minikube status

样本输出:

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

您可以使用获取节点状态和角色 kubectl 命令:

# kubectl get nodes

样本输出:

NAME        STATUS   ROLES                  AGE   VERSION
ostechnix   Ready    control-plane,master   26h   v1.22.3

第 5 步 – 访问 Kubernetes UI 仪表板

要通过 Web 浏览器访问 Kubernetes 仪表板,请运行:

# minikube dashboard --url

这将生成一个 URL 并将其显示在标准输出中,如下面的输出所示。

* Verifying dashboard health ...
* Launching proxy ...
* Verifying proxy health ...
https://127.0.0.1:36526/api/v1/namespaces/kube-dashboard/services/https:kubernetes-dashboard:/proxy/
访问 Kubernetes 仪表板访问 Kubernetes 仪表板

复制 URL 并将其粘贴到浏览器中。 这是 Kubernetes Web 仪表板的外观。

Kubernetes 仪表板Kubernetes 仪表板

当您在空集群上访问 Dashboard 时,您将看到欢迎页面。 此页面包含指向仪表板之旅的链接以及部署您的第一个容器化应用程序。

结论

我们已经通过 Minikube 完成了 Kubernetes 的安装步骤。 这可以用于我们本地系统或虚拟机中的学习和测试目的。 我们将在下一篇文章中介绍其他安装方法和 Kubernetes 操作。

阅读下一篇:

  • 在 RHEL、CentOS、AlmaLinux、Rocky Linux 中使用 Kubeadm 安装 Kubernetes 集群
  • 如何在 Linux 中创建和管理 Kubernetes Pod

资源: