Minikube和内置Kubernetes到Colima之间有什么区别?

cidc1ykv  于 12个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(163)

我正在探索在开发人员环境(个人Mac M2笔记本电脑)上运行Kubernetes集群。有几种方法可以使用不同的技术(Minikube,Docker,Colima,Podman,Kind等)。
出于某种原因,我选择Colima作为Docker的容器运行时。Colima官方文档说Colima内置了Kubernetes,还说:
是的,您可以使用minikube(带Docker驱动程序),Kind或K3 d创建Kubernetes集群,而不是在Colima中启用Kubernetes。如果您需要多个集群,或者不需要Docker和Kubernetes共享相同的镜像和运行时,这些是更好的选择。带有Docker运行时的Colima与Minikube(带Docker驱动程序),Kind和K3 d完全兼容。
因此,至少有两种选择来实现我的目标:

  • 通过 colima start --kubernetes 将内置Kubernetes用于Colima
  • 运行Minikube,在引擎盖下使用Colima。

我成功地配置和运行了这两个。我有点困惑,想知道这两个设置的优点/缺点。我注意到只有不同的容器集,仅此而已。网上冲浪没有帮助很多。
Minikube和内置Kubernetes到Colima之间有什么区别?

rkkpypqq

rkkpypqq1#

在您所要求的特定设置中,他们在选择引导Kubernetes集群的特定方式方面做出了略有不同的决定。
我自己对此进行了探讨,Colima似乎已经使用了K3S,因为它是旋转单个节点集群并为集群提供API的方法,而Minikube的Kubernetes在Docker方法中,AKA Kind
从一个新的Minikube安装中获取以下输出:

NAMESPACE     NAME                               READY   STATUS    RESTARTS       AGE
kube-system   coredns-787d4945fb-mlb7b           0/1     Running   2 (57s ago)    4m32s
kube-system   etcd-minikube                      1/1     Running   0              4m47s
kube-system   kindnet-dhrg4                      1/1     Running   0              4m33s
kube-system   kube-apiserver-minikube            1/1     Running   0              4m48s
kube-system   kube-controller-manager-minikube   1/1     Running   0              4m47s
kube-system   kube-proxy-2btkt                   1/1     Running   0              4m33s
kube-system   kube-scheduler-minikube            1/1     Running   0              4m48s
kube-system   storage-provisioner                1/1     Running   1 (4m2s ago)   4m46s

字符串
对阵科利马:

NAMESPACE     NAME                                      READY   STATUS    RESTARTS   AGE
kube-system   coredns-6799fbcd5-s8wl4                   1/1     Running   0          12m
kube-system   local-path-provisioner-84db5d44d9-dlgtb   1/1     Running   0          12m
kube-system   metrics-server-67c658944b-bvpqj           1/1     Running   0          12m


在Minikube和Kind的情况下,我们看到Kubernetes API服务器,调度器和控制器管理器沿着ETCD等的Pod,而Colima则缺少这些Pod。其原因,解释K3S文档,K3S将这些封装到一个二进制文件中,并使用与ETCD不同的存储提供程序来为集群API提供服务。默认情况下,容器网络与Minikube也不同使用kindnet与K3S选择flannel
这对你来说意味着什么简短的回答,这取决于。如果你想验证你的应用程序清单是正确的,两者都可能是好的。两者都可以让你快速开始。如果你需要安装某些东西,比如Ingress控制器或服务网格产品,你可能会从K3S或Kind中找到某些选择,使它更容易或更难。唯一真正要做的是尝试两者,看看哪一个能让你更快地到达你想要的地方。

相关问题