Kubernetes本地集群和Google Kubernetes Engine的区别

SAP Kyma的安装文档里,曾经提到了Google Kubernetes Engine(GKE)这个概念。

同时,Kubernetes的爱好者,也可以在本地多台机器上部署Kubernetes集群。这两者有何区别?
Kubernetes本地集群和Google Kubernetes Engine的区别_第1张图片

Local Cluster
所有的组件,etcd, flannel, kube-apiserver, kube-controller-manager, kube-scheduler, kubelet, kube-proxy以及container runtime (Docker)都是从GitHub官方项目库中下载的源代码安装的。所有这些组件是使用systemd的服务启动的。

Kubernetes本地集群和Google Kubernetes Engine的区别_第2张图片
并且,为了节约资源,技术上master也作为node使用,意思是说scheduler会把master当作是普通的node,将Pod部署在上面,与其他node无差别对待。

GKE
Google自家的服务。将k8s的部署作为“K8s as a service”供你使用。
组件与之前的local cluster差别很大。etcd对你不可见,vxlan使用的是calico,并且以Pod形式的微服务启动。container runtime使用的是containerD,容器层面对你不可见。
GKE部署出来的Master对你不可见。除了系统层面的Pod,其余的Pod统统不会部署在Master上。你最多对node 拥有root 权限。但是troubleshooting非常麻烦。
GKE的使用场景,最多的是测试已经成熟的一整套微服务,即staging / productive环境。

Kubernetes本地集群和Google Kubernetes Engine的区别_第3张图片

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

你可能感兴趣的:(Kubernetes)