据我所知,Kubernetes是与AWS ECS或Docker Swarm相当的容器编排服务。但是,在stackoverflow上有几个high rated questions会将其与平台编排服务CloudFoundry进行比较。
这意味着CloudFoundry可以照顾VM层,在移动容器的同时更新和配置VM,从而避免停机。因此,与Kubernetes进行比较对我的理解意义有限。
我是否误解了,Kubernetes是否也支持配置和管理VM层?
答案 0 :(得分:4)
是的,正如@AbdennourTOUMI所指出的,您可以使用KuberVirt管理VM。但是,Kubernetes专注于容器编排,并且还与cloud providers进行交互以提供诸如负载均衡器之类的功能,可以将流量引导到集群。
Cloud Foundry是一种PaaS,它在较低级别上提供的功能远远超过Kubernetes。 Kubernetes可以与OpenShift
之类的东西一起在AWS之类的IaaS之上运行。此图显示了一些差异:
答案 1 :(得分:3)
对于 VM ,我的回答是是;您可以在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