Google Container Engine (GKE) 是谷歌云提供的云服务,用于提供在线Kubernetes集群。 这项新服务允许你使用谷歌API按照需求创建一个Kubernetes集群。 集群将由一个主节点和一组充当虚拟机容器的计算节点组成。

首先,你现在需要一个谷歌云平台帐户。 更新gcloud SDK以使用容器引擎预览。 如果你尚未安装谷歌SDK,可以立即执行以下命令:

$ curl https://sdk.cloud.google.com | bash

现在,你可以登录到谷歌云和更新CLI的组件,以确保你有最新的版本。

$ gcloud auth login
$ gcloud components update

安装kubectl Kubernetes客户端:

$ gcloud components install kubectl

简单的一条命令即可开始一个基于GKE服务的Kubernetes群集:

$ gcloud container clusters create cook --num-nodes 1 --machine-type g1-small
Creating cluster cook...done.
Created [https://container.googleapis.com/v1/projects/sylvan-plane-862/zones/ \
us-central1-f/clusters/cook].
kubeconfig entry generated for cook.
NAME ZONE MASTER_VERSION ... STATUS
cook us-central1-f 1.0.3 ... RUNNING

当然,你的集群IP地址,项目名称,区等信息不会是和以上显示相同。这里主要你要看到的是如何为你生成Kubernetes的配置文件kubeconfig。这个文件位于~/.kube/config,并且包含你的容器集群的接入点,以及包含相应使用它的证书。你还可以通过谷歌云Web控制台创建集群。

一旦你的集群启动后,你就可以提交容器给它 - 这意味着你可以与底层Kubernetes主节点交互从而在你的集群中推出一组容器节点集合。容器的群组被定义为pods。 gcloud CLI为你提供了一种方便的方式来定义简单的Pods,并提交给集群。接下来,你将使用tutum / wordpress镜像来创建一个容器,它包含一个MySQL数据库。当你安装了gcloud CLI,还安装了客户端Kubernetes kubectl。 你就可以在本地验证kubectl。 它将使用在创建群集时自动生成的配置。 这将允许你从你的本地计算机安全地在远程容器集群上启动容器:

$ kubectl run wordpress --image=tutum/wordpress --port=80
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
wordpress-0d58l 1/1 Running 0 1m

一旦容器在集群节点之一上成功调度,你需要创建一个Kubernetes服务来暴露运行在容器内的应用程序给外面的世界。 这也可以通过kubectl来完成:

$ kubectl expose rc wordpress --type=LoadBalancer
NAME LABELS SELECTOR IP(S) PORT(S)
wordpress run=wordpress run=wordpress 80/TCP

expose命令用于创建一个Kubernetes服务(三个Kubernetes创建Pods和复制控制器的原语之一),同时也获得了来自负载平衡器的公用IP地址。其结果是,当你在你的容器集群列出服务时,你可以通过内部或者外部公用IP地址来访问WordPress的服务,从而在你的笔记本电脑上访问WordPress的用户界面:

$ kubectl get services
NAME ... SELECTOR IP(S) PORT(S)
wordpress ... run=wordpress 10.95.252.182 80/TCP104.154.82.185

然后,你将能够开始享受WordPress了。

kubectl CLI可以用于管理在一个Kubernetes簇(即Pods、服务、复制控制器、节点)的所有资源。 正如使用kubectl下面的代码片段所示,你可以创建,删除,描述,并列出所有这些资源:

$ kubectl -h
kubectl controls the Kubernetes cluster manager.
Find more information at https://github.com/kubernetes/kubernetes.
Usage: kubectl [flags]kubectl [command]
Available Commands: get Display one or many resourcesdescribe Show details of a specific resource ...create Create a resource by filename or stdinreplace Replace a resource by filename or stdin.patch Update field(s) of a resource by stdin.delete Delete a resource by filename, or ...
...

虽然你可以启动由单个容器组成的简单Pods,你还可以通过使用-f选项指定一个JSON或YAML文件,其中可以定义更先进的Pods:

$ kubectl create -f /path/to/pod/pod.json

Pod可在YAML中描述。 在这里,让我们来写你的Pod的JSON文件,并使用新发布的Kubernetes v1 API版本。 该Pod将启动Nginx:

{"kind": "Pod","apiVersion": "v1","metadata": {"name": "nginx","labels": {"app": "nginx"}},"spec": {"containers": [{"name": "nginx","image": "nginx","ports": [{"containerPort": 80,"protocol": "TCP"}]}]}
}

启动Pod并检查其状态。 一旦它开始运行,你可以通过防火墙的80端口打开集群节点,你就可以看到Nginx的欢迎页面。 附加的例子是可用的Kubernetes GitHub链接。

$ kubectl create -f nginx.json
pods/nginx
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx 1/1 Running 0 20s
wordpress 1/1 Running 0 17m

如下命令用于要清理现场,删除你Pod,退出主节点,并删除群集:

$ kubectl delete pods nginx
$ kubectl delete pods wordpress
$ gcloud container clusters delete cook

这就对了 !你已经在谷歌云上创建了一个Kubernetes集群并已推出了作为Pod的第一个容器。现在,你可以尝试使用复制控制器和应用更先进的例子了。

原文链接: https://dzone.com/articles/using-kubernetes-on-google-gke

基于谷歌GKE使用Kubernetes相关推荐

  1. 基于Python+Django的Kubernetes集群管理平台

    时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调度管理等方面都有其难以言喻的优 ...

  2. 怎样基于谷歌地图的Server缓存公布Image Service服务

    怎样基于谷歌地图的Server缓存公布Image Service服务 第一步:下载地图数据 下载安装水经注万能地图下载器,启动时仅仅选择电子.谷歌(这里能够依据自己的须要选择).例如以下图所看到的. ...

  3. 车辆入库java程序_java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,...

    java扫描入库及出库,基于谷歌类开发.仅提供完整代码 连接SQL使用,需要自行制作中心服务器,中心服务器代码在本人另一实例里面,请自行下载 [实例简介] 扫描入库及出库,基于谷歌类开发.仅提供完整代 ...

  4. 容器编排技术 -- 基于Docker本地运行Kubernetes

    容器编排技术 -- 基于Docker本地运行Kubernetes 概览 下面的指引将高速你如何通过Docker创建一个单机.单节点的Kubernetes集群. 下图是最终的结果: 先决条件 1. 你必 ...

  5. Android MVVM封装,MVVM: 这是一个android MVVM 框架,基于谷歌dataBinding技术实现

    MVVM 这是一个android MVVM 框架,基于谷歌dataBinding技术实现.dataBinding 实现的 V 和 VM的关联:使用IOC架构实现了 M 和 V的关联. 框架具有以下功能 ...

  6. android mvvm官方文档,MVVM: 这是一个android MVVM 框架,基于谷歌dataBinding技术实现

    MVVM 这是一个android MVVM 框架,基于谷歌dataBinding技术实现.dataBinding 实现的 V 和 VM的关联:使用IOC架构实现了 M 和 V的关联. 框架具有以下功能 ...

  7. android+捕获google账户+cancel按钮,MVVM: 这是一个android MVVM 框架,基于谷歌dataBinding技术实现...

    MVVM 这是一个android MVVM 框架,基于谷歌dataBinding技术实现.dataBinding 实现的 V 和 VM的关联:使用IOC架构实现了 M 和 V的关联. 框架具有以下功能 ...

  8. chrome pdf android,Android PDF阅读器 (基于谷歌平台的Adobe Reader)

    Android PDF阅读器 (基于谷歌平台的Adobe Reader):Adobe Reader 是用于打开和使用在 Adobe Acrobat 中创建的 Adobe PDF 的工具. 虽然无法在 ...

  9. Chromeplus(枫树浏览器):基于谷歌Chrome的双核安全浏览器

    一.Chromeplus(枫树浏览器)简介: 枫树浏览器是基于谷歌Chrome浏览器的极速双核安全浏览器.具备谷歌浏览器所有特性的同时,枫树浏览器还增加了隐私数据保护.鼠标手势.IE标签.广告过滤.老 ...

最新文章

  1. 如何衡量机器与人类的智能关系,AI智商评测标准专家研讨会邀请
  2. 【New】SAPUI5开发环境配置步骤
  3. MFC中如何让一个CStatic控件响应消息
  4. 语言中拟合函数 计算aic_Go语言函数深度解析(中)
  5. 平均数、中位数、众数的深刻定义,了解一下
  6. TeamViewer远程访问
  7. [RabbitMQ]常用命令
  8. random对文件随机重命名
  9. python解析response的json_从HTML responseTex解析JSON
  10. moodle架构分析---数据连接层的设计
  11. Choose and divide(唯一分解定理)
  12. Tilemill + tilestream + mapbox.js 自制地图
  13. Linux分区的那些方案
  14. MyBatis递归查询
  15. hive建表语句 增加字段、分区基础操作
  16. resin log日志
  17. TypeError: set expected at most 1 arguments, got 4
  18. 解决小熊无叶电风扇摇头嘎嘎响的问题
  19. You called this URL via POST, but the URL doesn‘t end in a slash and you hav
  20. 为远程群晖NAS配置稳定的公网地址 1/2

热门文章

  1. error: Failed dependencies:mysql-community-client(x86-64) = 5.7.9 is needed by mysql-commu
  2. 人脸识别 Face Recognition 入门
  3. 第五章 习惯三 要事第一——自我管理原则
  4. 被黑指数MAX?浅聊汽车钥匙安全
  5. 一个“良心未泯”的国产敲诈者病毒分析
  6. 【数据结构】B/B-树(目录树)
  7. Smarting:第一款真正意义上的便携式可移动脑电设备
  8. 台式计算机电源怎么看,如何查看台式机电源功率
  9. 对话新经济人物|知道创宇杨冀龙:无边界网络时代已来,“零信任”正重构安防体系...
  10. Mac Dropbox 点击“首选项”无反应 没反应怎么办?