kubernetes和GKE有什么区别?

我知道GKE是由下面的kubernetes驱动的。 但是,我似乎还没有得到的是GKE和K8s在分层中的哪个部分是由G8所关注的? 两者的主要目的都是pipe理集群中的容器。 基本上,我正在寻找一个比较简单的解释。

简而言之,GKE是托pipe/托pipe的Kubernetes(即它是为您pipe理的,因此您可以专注于运行您的Pod /容器应用程序)

Kubernetes处理:

  • 运行pod,在节点上调度它们,保证每个复制控制器设置有nb个复本(例如,如果它们失败,则重新启动pod,如果节点失败,则重新定位它们)
  • 服务:将stream量代理到正确的容器,无论它在哪里。
  • 工作

此外,Kubernetes还有几个“附件”,其中一些是GKE的一部分:

  • DNS(你不能没有它,甚至认为它是一个附加组件)
  • 指标监测:使用influxdb,grafana
  • 仪表板

这些都不是开箱即用,虽然它们很容易设置,但是你需要维护它们。 没有真正的“日志logging”插件,但有很多项目要做(使用Logspout,logstash,elasticsearch等)

简而言之,Kubernetes进行编排,其余的则是在Kubernetes之上运行的服务。

GKE为您带来所有这些组件,而且您不必维护它们。 他们为您设置,他们更多地与谷歌门户“整合”。

每个人都需要的一件重要的事情是LoadBalancer部分:由于Pod是短暂的容器,可以随时随地重新调度,因此它们不是静态的,因此入口stream量需要单独pipe理。

这可以在Kubernetes中使用DaemonSet在特定节点上修复Pod,并使用该Pod的hostPort绑定到节点的IP来完成。 显然这缺乏容错,所以你可以使用多个,并做DNS轮循负载平衡。

GKE也会利用外部负载平衡来处理这一切。 (在AWS上,它与ALB负责Kubernetes中的负载平衡类似)

GKE(Google Container Engine)只是Kubernetes可以pipe理的容器平台。 这与“差异”不是一样的。

如“ Docker and Kubernetes和AppC ”(2015年5月,可以更改)中所述:

Docker是GKE(Google Container Engine)我们的商业容器产品和GAE(Google App Engine)平台即服务产品中唯一受支持的运行时。

在这个例子中,您可以看到GKE上使用的Kubernetes: Rimantas Mocevicius的 “ 在GKE上旋转您的第一个Kubernetes集群 ”。

gcloud API仍然会在场景后面创buildkubernetes命令。

https://deis.com/images/blog-images/first-kubernetes-cluster-gke-9.png

GKE将通过Kubernetes高手组织其平台

每个容器集群都有一个由Container Enginepipe理的主端点。
主服务器为集群提供了一个统一的视图,并通过其可公开访问的端点,成为与集群进行交互的门户。

托pipe的主服务器还运行Kubernetes API服务器 ,该服务器为REST请求提供服务,在工作人员节点上安排pod的创build和删除,并将pod信息(如开放端口和位置)与服务信息同步。