【问题标题】:Creation of nodes in VMs by using Kubernetes kubeadm and minikube使用 Kubernetes kubeadm 和 minikube 在 VM 中创建节点
【发布时间】:2021-10-02 15:10:17
【问题描述】:

我正在尝试使用同一台机器创建具有不同数量节点的 Kubernetes 集群。在这里,我想创建单独的虚拟机,并且需要在这些虚拟机中创建节点。我目前正在为这些任务探索 kubeadm 和 minikube。

当我探索时,我有以下困惑:

  1. 我需要创建 4 个节点,每个节点需要在不同的 VM 中创建。我可以使用 kubeadm 来满足这些要求吗?
  2. 还发现 Minikube 用于创建单节点结构,也可以用于创建 VM。 kubeadm 和 minikube 有什么区别?
  3. 如果我想在不同的虚拟机中创建节点,在安装 Kubernetes 集群主节点时应该使用哪个工具?
  4. 如果我使用虚拟机,我可以直接在我的 Ubuntu 16.04 中安装 VMware 工作站/虚拟机吗?
  5. 在 AWS EC2 中,他们已经将 Ubuntu 作为虚拟机。那么可以在 ubuntu 上安装 VMware 工作站吗?因为它是另一个 VM 上的 VM。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    Kubeadm 对你来说应该是一个不错的选择。只需关注documentation,它就很容易使用。 Minikube 只会为您提供单节点 Kubernetes。 从 minikube 1.10.1 开始,可以使用 use multi-node clusters。

    1. Kubeadm 是一种让 Kubernetes 启动并在现有机器上运行的工具。它将基本上配置和启动所有必需的 Kubernetes 组件(对于最小可行集群)。 Kubeadm 是在您的虚拟机上引导 Kubernetes 集群的正确工具。但是您需要自己准备机器(安装操作系统 + 所需的软件、网络等)。 kubeadm 不会为你做这件事。
    2. Minikube 是一个工具,可让您启动 本地单节点 Kubernetes 集群。这通常在 VM 中完成 - minikube 支持 VirtualBox KVM 和其他。它将为您启动虚拟机并处理一切。但它不会为你做一个 4 节点集群。
    3. Kubeadm 兼顾两者。您首先设置主节点,然后在工作节点上使用 kubeadm 加入主节点。
    4. 当您使用 Kubeadm 时,它并不真正关心您使用什么进行虚拟化。你可以选择任何你想要的。
    5. 为什么要在 EC2 机器上运行虚拟机?为什么不为集群创建更多(也许更小)EC2 机器?您可以以此为灵感:https://github.com/scholzj/terraform-aws-kubernetes。还有一些更高级的工具可用于设置整个集群,例如(例如)Kops。

    【讨论】:

    • 好的,谢谢您的回复。我也得到了你的想法,包括这个 Kops。我正在检查您给我的相关链接。这里我唯一的误解是,如果我说 4 个节点在不同的 Vms 中意味着,与集群主控机在同一台机器上的 Vms 是不可能的。我是否需要为我的 4 个节点启动 4 个单独的 Ec2 作为 Vms ?当我们说不同虚拟机上的节点时,这是不是这个想法?你能清除这个虚拟机的想法吗?我只是开始探索 docker 和 kubernetes。我有很多困惑。先生,您能纠正我关于 Vms 的想法吗?
    • Kubernetes 通常由一个或多个主节点和一个或多个节点组成。您说的是 4 个虚拟机……我假设这些虚拟机是 1 个主节点 + 3 个节点。在本地开发中使用虚拟机是可以的,您有一台 PC/服务器并希望运行多节点集群。您只需设置 4 个在您的 PC 上运行的虚拟机并使用 Kubeadm 安装 Kubernetes。但在 AWS 中,EC2 实例已经是虚拟机。因此,一般来说,您没有理由获取 EC2 实例并在其之上创建额外的虚拟机。只需创建更多更小的 EC2 实例并使用它们。
    • 好的..现在很清楚了。完美的。感谢您的回复。
    猜你喜欢
    • 2021-07-01
    • 2020-05-18
    • 2017-06-03
    • 2015-10-07
    • 1970-01-01
    • 2019-06-06
    • 2019-09-10
    • 2019-10-12
    • 2021-06-21
    相关资源
    最近更新 更多