【问题标题】:Does Kubernetes support VM / node provisioning & management?Kubernetes 是否支持虚拟机/节点配置和管理?
【发布时间】:2026-01-31 21:45:01
【问题描述】:

据我了解,Kubernetes 是与AWS ECSDocker Swarm 相当的容器编排服务。然而,* 上有几个high rated questions 将其与CloudFoundry 进行比较,CloudFoundry 是一个平台编排服务。

这意味着 CloudFoundry 可以处理 VM 层、更新和配置 VM,同时移动容器避免停机。因此,与 Kubernetes 的比较对我的理解意义有限。

我是不是误会了什么,Kubernetes 是否也支持配置和管理 VM 层?

【问题讨论】:

  • 不,它没有。它严格来说是一个容器编排平台。它的 API/Scheduler/ControlManager 不负责配置和管理 VM。

标签: kubernetes cloud-foundry paas


【解决方案1】:

是的,正如@AbdennourTOUMI 指出的那样,您可以使用KuberVirt 管理VM。但是,Kubernetes 专注于容器编排,它还与 cloud providers 交互以提供负载均衡器之类的东西,可以将流量引导到集群。

Cloud Foundry 是一种 PaaS,在较低级别提供的功能远远超过 Kubernetes。 Kubernetes 可以与 OpenShift 之类的东西一起运行在像 AWS 这样的 IaaS 之上

这是显示一些差异的图表:

【讨论】:

  • 你好@Rico,顺便说一句,我不同意。检查我的答案:*.com/a/52903421/747579
  • @AbdennourTOUMI 你是对的!我忘记了 KubeVirt,感谢您指出。我稍微改变了答案。
  • 大变化!我喜欢你整合这两个信息的方式:关注容器编排+突出显示 VM
【解决方案2】:

至于VM,我的回答是YES;您可以在 k8s 集群中将 VM 作为工作负载运行。

确实,Redhat 团队通过添加补丁 KubeVirt 找到了如何在 kubernetes 集群中运行 VM。

以上链接中的示例。

apiVersion: kubevirt.io/v1alpha2
kind: VirtualMachine
metadata:
  creationTimestamp: null
  labels:
    kubevirt.io/vm: vm-cirros
  name: vm-cirros
spec:
  running: false
  template:
    metadata:
      creationTimestamp: null
      labels:
        kubevirt.io/vm: vm-cirros
    spec:
      domain:
        devices:
          disks:
          - disk:
              bus: virtio
            name: registrydisk
            volumeName: registryvolume
          - disk:
              bus: virtio
            name: cloudinitdisk
            volumeName: cloudinitvolume
        machine:
          type: ""
        resources:
          requests:
            memory: 64M
      terminationGracePeriodSeconds: 0
      volumes:
      - name: registryvolume
        registryDisk:
          image: kubevirt/cirros-registry-disk-demo:latest
      - cloudInitNoCloud:
          userDataBase64: IyEvYmluL3NoCgplY2hvICdwcmludGVkIGZyb20gY2xvdWQtaW5pdCB1c2VyZGF0YScK
        name: cloudinitvolume

然后:

kubectl create -f vm.yaml
virtualmachine "vm-cirros" created

【讨论】: