自动加入新创建的 VM/Servers 作为 kubernetes 节点到 master

Auto joining newly created VM/Servers as kubernetes node to master

您好,我正在 Google 云平台上工作,我没有使用 GKE。相反,我正在手动创建 k8s 集群。以下是我的设置, 共有 11 个服务器

  1. 这 5 个服务器中的 5 个是静态服务器,不需要任何扩展
  2. 如果 CPU 或 RAM 消耗超出一定范围,则剩余 5 个服务器将需要扩展 限制。即我最初只会旋转 3 个服务器,如果超过 CPU/RAM 阈值,那么我将使用 Google 云负载平衡器再旋转 2 个。
  3. 1 个 k8s 主服务器

为了实现这个负载均衡器,我已经创建了一个自定义映像,并在上面安装了 docker 和 kubernetes。使用它,我创建了一个实例模板,然后创建了实例组。

现在的问题陈述是, 虽然我已经创建了所有安装的图像,但当我创建一个实例组时,其中创建了 3 个 VM,这些 VM 不会自动连接到我的 k8s master。有什么方法可以自动将新创建的 VM 作为节点连接到 k8s master,这样我就不用在每台服务器上手动加入 运行 命令了吗?

提前感谢您的帮助。

so that I do not have run join command manually on each server

我假设您可以成功地 运行 join 命令手动将新创建的 VM 加入 Kubernetes master。
如果是这种情况,您可以使用 Google Compute Engine 中的 startup-script 功能。
这是文档:
https://cloud.google.com/compute/docs/instances/startup-scripts
https://cloud.google.com/compute/docs/instances/startup-scripts/linux#passing-directly

简而言之,startup-script 是 Google Compute Engine 的功能,可在启动期间自动 运行 我们自定义的脚本。

而且,脚本可能看起来像这样:

#! /bin/bash
kubeadm join .......