教程 | 在 GKE 上面创建你的第一个 Kubernetes 集群

2016-05-17

你可能已经了解过Kubernetes和Google云平台,但是可能还并没有真正创建过一个集群。在这里,我们会带领大家梳理一些基础知识,跟着这个教程一步步来,你就会自己创建运行的集群了。


创建你的谷歌云项目

如果你还没有谷歌账号,那么在你继续步骤之前先创建一个。

登录到谷歌云平台控制台,并创建一个新的项目:


然后修改项目名称

记下项目ID。这个名字在所有谷歌云项目上是唯一的、特殊的,我们把这个叫做 PROJECT_ID.

下一步,在控制台开启账单功能。你需要这个来访问谷歌云资源。再下一步,开启容器引擎API和计算引擎API。在继续下一步之前,你必须完成这三个步骤。


运行我在这篇博客帖中提到的步骤不会花费你太多钱。但是如果你要使用更多资源,或者你让我提到的步骤一直运行着,那么会花费你不少。点击查看“谷歌容器引擎收费标准”来了解更多信息。

谷歌云平台新用户有300美元的免费试用余额。


介绍:谷歌云Shell

谷歌云和Kubernetes可以从你的笔记本上远程操作,这里还有另一种方案。


谷歌云Shell(免费)是一个基于浏览器运行在云端的命令行环境。加载这个基于Debian操作系统的Docker容器,你需要这些部署工具:docker, gcloud, kubectl等等。它提供一个持续5GB的目录,并且运行在谷歌云上面,极大地提高了网络性能,减少了认证的麻烦。


启动谷歌云Shell,从谷歌云平台dashboard挑选你想要的项目,然后在nav上面挑选控制台按钮。

它只需要一点点时间来提供和连接到环境。之后,你就会看到如下图所示的页面了:

一旦连接了,你就已经认证了:

而且 PROJECT_ID环境变量已经为你设置好了:

在我们继续之前,让我们来更新gcloud 组件:

注意:谷歌云Shell预装在谷歌云SDK。如果你想要在你本地使用SDK,请点击《快速了解指南》(https://cloud.google.com/container-engine/docs/quickstart)查阅更多信息。


创建你的GKE集群

好的,所有的东西设置好之后,现在我们开始创建一个集群。有两种方法可以创建GKE集群:通过云平台控制台或者通过gcloud CLI。我们接下来会展示出来如何运用这两种方法。相关资料也可以点击这里查看:https://cloud.google.com/container-engine/docs/。


通过云平台控制台创建集群

我们先来看看可视化路由。

一个集群包括了由谷歌和一套worker节点主导的master API服务器。

让我们来创建一个有三个n1-standard-2 节点的集群。

转到你的容器引擎页面,可以通过在左上角的汉堡菜单找到这个页面。下一步,转到容器集群,然后点击“创建一个容器集群”。

你会看到这个页面:

完成之后,点击“创建”。完成这个步骤需要几分钟的时间。完成的时候,你会看到这样的页面:

现在集群看起来的效果是这样的:

至于这些条款在刷新的页面意味着什么,请查看我之前的:https://deis.com/blog/2016/kubernetes-overview-pt-1/。

这些节点是计算引擎虚拟机,所以在控制台可以看到:

我们也可以ssh它们!注意,Kubernetes节点是由容器引擎管理的,所以你无法ssh到那台机器。你现在已经有了一个功能齐全的Kubernetes集群,GKE驱动的!所以,这就是可视化路由。那么CLI怎么样?


通过GCLOUD CLI创建集群

你可以在GKE上面用命令创建一个单区Kubernetes集群,如下图所示:


为了在GKE上面创建一个高可用多区(同一个地区)Kubernetes集群,我们可以适应该命令。

比如这样:

注意那个新的--additional-zones参数。

这两个命令创建了一个三区Kubernetes集群,每个区有三个节点。所以,总共是9个节点。所有的节点共享同一个master,并且所有的工作负载会被均匀地分散到这9个节点。点击:https://cloud.google.com/sdk/gcloud/reference/container/clusters/create在 gcloud上查看文档,或者点击:http://kubernetes.io/docs/admin/multiple-zones/%5D网址查看更多信息。


设置gcloud默认设置

让我们来看看在我们云端shell中设置gcloud系统默认值,这样 kubectl 就知道该连接哪一个集群。

如下配置你的PROJECT_ID

设置默认计算引擎区:

你可以按照系统默认值来设置集群,所以你可以从之后的gcloud命令中删除 --cluster CLUSTER_NAME标志。做法如下:

同样,为 kubectl 工具去获取集群凭证:

凭证会存储在~/.kube/config。点击查看:

完美!


结语

我们今天带大家一起来看了一下谷歌云平台,开启计费功能,打开相关API,然后在GCE上面创建一个Kubernetes集群。最后大家完成实验的时候,不要忘记停止实例。

结合谷歌十年容器实践,基于国内大型企业落地经验打造 的容器集群智能云平台。

立即体验