Loading...
墨滴

我的小碗汤

2021/12/27  阅读:84  主题:默认主题

使用 K3s 和 Multipass 在本地设置多节点 Kubernetes 集群

使用 K3s 和 Multipass 在本地设置多节点 Kubernetes 集群

有很多工具可以让您立即设置本地 Kubernetes 集群。但是在本地机器上运行一个成熟的 K8s,如果你想玩多节点集群,你很快就会碰壁。

为了解决这个问题很,我们将寻找到一个轻量级Kubernetes集群如何,我们可以设置使用K3s多道为我们的虚拟机。

如果您对 K3s 如此轻巧的原因感兴趣,您可以观看有关K3s 引擎盖下的演讲。

先决条件

安装多通道

Multipass 是一个命令行工具,用于在本地机器上编排虚拟 Ubuntu 实例。使用 CLI,您可以在几分钟内生成 VM,分配最佳 CPU、内存和磁盘空间。

下载多通道

安装 K3sup(番茄酱)

我们 讨论了 K3s,但如果您只是想快速掌握 Kubernetes,那么设置可能会令人生畏。为了抽象所有这些,我们将安装一个名为k3sup的方便的 CLI 。它将在一分钟内使用 K3s 在我们的 VM 上引导 Kubernetes 集群!🚀

k3sup 在底层使用 SSH,因此请确保您的机器上有 SSH 服务。

安装 k3sup

创建虚拟机

节点只是 Kubernetes 上同步工作的虚拟机。对于我们的集群,我们将创建 3 个虚拟机,每个虚拟机具有 1CPU、1GB RAM、2GB 存储空间。

生成密钥

如果你已经安装了 SSH 并且已经有~/.ssh/id_rsaand ~/.ssh/id_rsa.pub,你可以跳过这部分并转到创建配置文件部分。

创建私钥/公钥:

$ ssh-keygen

这将在您的系统上创建上述文件。复制内容~/.ssh/id_rsa.pub

$ cat ~/.ssh/id_rsa.pub

创建配置文件

创建一个名为的文件multipass.yaml并将您的公钥放在ssh-rsa.

#
multipass.txt ssh_authorized_keys: - ssh-rsa <添加您的公钥>

此配置文件确保公钥在创建后存储在虚拟机上。让我们根据我们将分配的角色(主/工人)创建具有适当名称的虚拟机。

multipass launch --cpus 1 --mem 1G --disk 2G --name agent-master --cloud-init multipass.yaml 多通道ls

在 K3s 术语中,主节点称为服务器,其余节点称为代理。代理只是添加到主节点的节点;它们可以是另一个主节点或工作节点。

用 k3sup 添加 K8s 酱

现在我们已经准备好了虚拟机,让我们在它们上安装 Kubernetes。首先,我们将创建一个主节点来设置控制平面。

添加主节点

我们需要虚拟机的IPusername来通过 SSH 连接并安装 Kubernetes。运行multipass ls并记IPmaster-node。虚拟机的所有用户名都是ubuntu默认的。

$ k3sup install --ip --user ubuntu --k3s-extra-args "--cluster-init"

我们正在传递--k3s-extra-args "--cluster-init"以确保此节点已准备好与另一个主节点连接,否则可能会导致错误。

安装后,它会将kubeconfig文件下载到您调用命令的目录中。您可以KUBECONFIG使用最近下载的kubeconfig文件的路径设置环境变量。

# mac / linux
$ export KUBECONFIG= # windows
$ setx KUBECONFIG

现在您可以kubectl get nodes查看集群上的节点。

添加第二个主节点 (HA)

对于大多数用例而言,本地机器上的多主设置是一种矫枉过正,但出于本教程的目的,我们无论如何都会添加它。要加入集群中的新主节点,我们使用该join命令。

在这里,我们要做的就是引入服务器IPusername(之前创建的)这个节点应该连接到的。并另外传递--server指定这将是服务器节点(主节点)的标志。

$ k3sup install --ip --user ubuntu --server-ip --server-user ubuntu --server

就是这样。现在您又可以kubectl get nodes了,您将看到两个高度可用 (HA) 的主节点。

添加工作节点

最后,我们必须设置我们的工作节点,我们将在其中部署我们的应用程序和服务。

为此,抓住IPofagent-worker并传递与之前相同的命令减去--server标志。

$ k3sup join --ip --user ubuntu --server-ip --server-user ubuntu

现在,如果你kubectl get nodes,你会发现两个主节点和一个工作节点组成了你的多节点集群设置。您可以创建新的 VM 并添加更多的主节点或工作节点,具体取决于您计划如何利用集群。

结论

感谢您的阅读。希望本指南对您设置和使用多节点 Kubernetes 集群有所帮助。如果您有任何更正、建议或反馈,请随时在Twitter 上DM 我或在下面发表评论。

快乐黑客!🚀

我的小碗汤

2021/12/27  阅读:84  主题:默认主题

作者介绍

我的小碗汤

公众号:我的小碗汤