发布于 2026-01-06 1 阅读
0

Kubernetes 入门(在家)— 第 1 部分 AWS 安全直播!

Kubernetes 入门(居家版)——第 1 部分

AWS 安全直播!

提到 Kubernetes,你可能首先想到的是 AWS 或 GCP,它们提供便捷的托管服务,让你可以轻松快速地创建资源并在其上构建应用程序。这当然很棒,而且说实话,也是体验 Kubernetes 的最佳方式。但是,如果你只是需要一个实验室环境来进行实验、摸索或学习新知识,这种方式的成本效益可能非常低。因此,我们将探讨如何自行搭建 Kubernetes 环境。

在这篇文章中,我们将探讨 Kubernetes 的初始部署,从创建节点(在本例中为 CentOS 7 虚拟机)到启动并运行集群。

第一部分:安装虚拟机

第一步是创建一些虚拟机。我的实验室里使用的是自定义的 vCenter 模板,但如果您没有这样的模板,可以按照以下简单步骤操作。

您至少需要在 1 台机器上完成这些步骤,但为了充分发挥 Kubernetes 的优势,机器越多越好。

您的机器/虚拟机至少应配备 1 个 CPU 核心和 3GB 内存。

  1. 使用 USB ISO 镜像安装 CentOS 7,基本安装即可。
  2. 创建一个用于 Ansible 访问的用户。该用户应属于 sudo 用户组,并且最好启用无密码 SSH 身份验证。
  3. 为主机分配静态 IP 地址。可选择设置主机名。
  4. 虽然我不想这么说,但官方文档要求禁用节点之间的防火墙,但我找不到关于需要哪些端口的文档。
  5. (可选)将您的主机添加到 DNS 中。

第二部分:Kubernetes 安装

我们将使用Kubespray来构建我们的集群,因为它能够非常简单直接地创建和更新 Kubernetes 集群。

您可以在这里找到官方文档

简要指南如下:

  1. 安装依赖项

    sudo pip install -r requirements.txt

  2. 复制示例库存

    cp -rfp inventory/sample inventory/mycluster

  3. 创建库存清单时,您可以使用内置的构建器,或者参考这里的示例。只有一个主目录即可,但各个kube-master部分etcd的内容必须相同。

  4. 部署集群

    ansible-playbook -i inventory/mycluster/hosts.yml --become --become-user=root cluster.yml

接下来您只需等待 Kubespray 自动部署集群即可。在我的 6 节点集群上,集群通常需要 10 到 15 分钟才能完全设置并运行。

请注意,Kubespray 清单中有几个选项启用起来很有用。首先,addons.yaml建议在配置文件中启用 Helm 和 Kubernetes Dashboard 的自动部署。如果您在使用默认的基于令牌的身份验证时遇到问题,启用kube_basic_authk8s-cluster.yaml选项也可能有所帮助。如果您稍后决定启用此功能,只需进行更改,然后使用上述步骤 4 中的命令重新运行部署即可。

第三部分:测试集群

您可以使用以下命令测试集群是否已启动并运行:

  1. kubectl cluster-info返回的结果应该类似这样:

    Kubernetes master is running at https://10.0.40.245:6444

  2. kubectl get nodes它会显示所有节点的状态。

您可以在我的Gitlab 仓库中找到更多关于我如何设置 Kubernetes 的信息,其中包含有用的代码片段、完整的配置文件以及扩展文档。

文章来源:https://dev.to/just_insane/getting-started-with-kubernetes-at-home-part-1-1lal