谷歌gke

Kubernetes将拯救我们所有人。 如果可以的话,我们可以确定如何安装和维护它。 对于刚起步的人来说,Kubernetes(在您当地的社区时髦开发人员中也称为K8)是一个开放源代码平台,用于运行和编排基于容器的应用程序和服务。 这些通常部署在Docker容器中,但支持其他容器运行时(例如Containerd和Rkt )。

在过去的15年中,Google积累了有关在其操作中运行容器的大量知识。 Kubernetes代表了Google的第三代容器管理系统,仅次于Borg和Omega ,并且在过去几年中已成为主要的容器平台,超越了其他产品,如Mesos和Docker的Swarm 。 对于企业而言,Kubernetes提供了一个接近圣杯的东西:“如果使用OpenStack ,但它确实有效呢?”

[入门: Azure云迁移指南 。 •教程: Google Cloud入门 。 | 通过InfoWorld的云计算新闻通讯了解云计算的最新发展。 ]

但是,许多踏足Kubernetes的人发现自己有些不知所措。 这是一个由许多活动部件组成的系统,安装,维护和操作起来可能有些困难。 但是,如果您还是在云上运行,为什么不让您的云提供商为您运行Kubernetes,这样您就可以继续运行应用程序和工作负载这一更重要的业务了?

自2015年以来一直使用Google Kubernetes Engine(GKE)服务,您的Kubernetes主服务器由Google网站可靠性工程师管理和维护。 您无需安装,升级甚至无需付费! 此外,您的Kubernetes群集可以分布在一个区域内的各个区域中,以实现高可用性,当然,它们还与所需的企业功能集成在一起,例如出于安全目的的Cloud IAM(身份访问管理)和VPC(虚拟私有云)。

创建一个Kubernetes集群

我们来看一个例子,对吧? 我们将使用GKE建立一个新集群并以Google的hello-app Docker容器为例。 首先,您需要一个Google Cloud Platform帐户以及gcloud命令实用程序。 您还需要在系统上复制kubectl才能与我们正在创建的集群进行交互。 尽管此小教程会产生费用,但如果您刚刚创建了一个新的Google Cloud帐户,则我们的活动很乐意满足您的初始免费信用额度,前提是您随后删除集群。

我们将授权gcloud使用我们的帐户(它将打开一个网页以获取凭据),并在us-central1-a中创建一个新项目(根据距离您最近的区域进行调整)。

gcloud auth logingcloud projects create kubernetes-testgcloud config set compute/zone us-central1-a

完成之后,让我们疯狂地创建一个Kubernetes集群:

gcloud containers clusters create myfirstcluster

就是这样。 晚安各位!

好吧,显然您想要的不止于此。 但是,如果您曾经参与过从头开始设置Kubernetes集群的过程,那么您会知道在那条线的幕后发生了很多事情,为您节省了数小时甚至数天的时间。 集群很快就准备就绪。

默认情况下,gcloud创建一个三节点集群,每个节点都是一个n1-standard-1实例(您可以使用--machine-type parameter更改实例选择)。 也许不是大多数生产工作负载所需要的,但是对于少量测试集群而言却是完美的。

注册凭据以使用kubectl

接下来,我们将使gcloud注册集群的凭据以使用kubectl,然后获取有关集群的一些信息:

gcloud container clusters get-credentials myfirstclusterkubectl cluster-info

这应该给你这样的东西:

Kubernetes master is running at https://35.192.176.225GLBCDefaultBackend is running at https://35.192.176.225/api/v1/namespaces/kube-system/services/default-http-backend:http/proxyHeapster is running at https://35.192.176.225/api/v1/namespaces/kube-system/services/heapster/proxyKubeDNS is running at https://35.192.176.225/api/v1/namespaces/kube-system/services/kube-dns:dns/proxykubernetes-dashboard is running at https://35.192.176.225/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

向我们的Kubernetes集群添加服务

我们有一个Kubernetes集群正在运行,但目前并没有做很多事情。 我们可以通过向集群添加新服务来更改它。 我们将以Google的hello-app容器为例。 使用以下命令,我们在端口8080上将服务hello-world与1.0版本的hello-app添加在一起:

kubectl run hello-world --image gcr.io/google-samples/hello-app:1.0 --port 8080

然后, kubectl get deployments应该向您显示hello-world正在运行。 但是我们想和它谈谈,所以让我们使用负载均衡器将其暴露给外界:

kubectl expose deployment hello-world --type "LoadBalancer"

我们可以使用以下方法获取负载均衡器IP:

kubectl get service hello-server

您可能需要等待一分钟左右,负载均衡器才能启动。 请注意,此负载平衡器是标准的Google负载平衡器,会在您的Google帐户上产生费用,不过,在此简短示例中,这些费用最多为几美分。 一旦看到外部IP,您就可以转到浏览器中的地址或使用curl:

curl 35.184.69.149:8080Hello, world!Version: 1.0.0

为我们的Kubernetes服务创建自动缩放器

然后,我们可以设置一些扩展策略。 如何在群集中运行10到20个副本,将CPU利用率提高50%呢? 简单!

kubectl autoscale deployment hello-world --max 20 --min 10 --cpu-percent 50

您可以运行kubectl get pod来查看GKE为满足新的自动缩放策略而旋转的所有各种kubectl get pod 。 (在Kubernetes 分离舱是一组一个或多个集装箱的,它是计算,该系统涉及。的最小单位)在几秒钟内,你会看到所有的10个荚高兴地运行。

最后,让我们做一些很酷的事情(至少如果您花了一些时间在运营渠道中)。 GKE提供了对节点自动修复的支持,从而允许Kubernetes响应集群中节点的问题。 让我们为测试集群启用此功能:

gcloud container node-pools update default-pool --enable-autorepair

接下来, run kubectl get nodes 。 一切看起来都应该很好,而且开心,到处都有“就绪”状态。 让我们改变一下。 进入Google Cloud Dashboard,然后执行大多数操作员最讨厌的事情:从集群中随机删除VM。 还是要小心风! 删除两个,甚至全部三个!

删除尽可能多的VM之后,请继续运行kubectl get nodeskubectl get pods 。 您应该看到删除的所有节点都标记为“未就绪”,并且某些Pod可能已脱机(因为它们正在该节点上运行)。 但是,如果您继续观察,将会看到群集反弹。 首先,节点将返回(您可以在仪表板中进行验证),然后吊舱也将返回。

GKE的特点和优势

除了节点自动修复之外,在GKE中运行Kubernetes集群还有其他好处。 节点自动升级可让您的节点自动升级,因此您知道自己始终在运行GKE团队推荐的最安全,最稳定的Kubernetes版本,而无需自己做。

默认情况下,群集中的每个节点都运行Container-Optimized OS ,这是Google自己定制,精简和强化的Linux版本。 虽然您可以使用Ubuntu,但是运行Container-Optimized OS可以使您处于由Google自己维护的安全基础上。

另一个有用的功能是能够利用Google广泛的网络功能。 您只需花费很少的精力,即可在全球范围内设置Kubernetes集群并配置负载平衡,以便当用户访问您的一项服务时,它们将被定向到地理位置最接近它们的集群。

GKE还与Google的Stackdriver产品集成在一起,使您可以轻松处理集群的日志记录和监视。 Stackdriver的一大特色是它与平台无关,因此,如果您在本地或在AWS上拥有Kubernetes集群,那么您也可以将它们与Stackdriver集成。 使用Stackdriver,您可以深入研究服务,工作负载,Pod,甚至深入到容器级别,以洞悉诸如延迟,故障率以及其他对企业状况重要的指标。

最后,如您所料,GKE与其他Google Cloud Platform服务无缝集成,因此,如果您要创建在可抢占式VM上运行并可以访问高端GPU的节点池,那就去吧!

托管Kubernetes的领跑者

鉴于Kubernetes'谷歌血统,并在Azure上Kubernetes服务或亚马逊EKS GKE的三年先声夺人,它不是完全不足为奇了GKE是领先于其他主要管理Kubernetes产品I N为Kubernetes支持方面的特点。 (什么也许令人惊讶的是Azure的Kubernetes支持可以说是超前亚马逊的,但那是另一次的故事。)

Kubernetes的巨大前景之一是,它使我们迈出了一大步,您可以以最小的努力将工作负载从一个云提供商转移到另一个云提供商。 不过,就目前而言,在GKE上运行是搭乘Kubernetes火车最简单的方法之一。

翻译自: https://www.infoworld.com/article/3292637/gke-tutorial-get-started-with-google-kubernetes-engine.html

谷歌gke

谷歌gke_GKE教程:Google Kubernetes引擎入门相关推荐

  1. 谷歌adwords教程_区块链技术作为Google AdWords中的安全剧院

    谷歌adwords教程 Google operates the largest ad exchange in the world and recently decided to start inves ...

  2. 谷歌adwords教程_如何将Google Analytics(分析)与AdWords关联

    谷歌adwords教程 Why would you want to link Google Analytics to Google AdWords? After linking them, you c ...

  3. 2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南

    2021年最新 k8s安装部署步骤 kubernetes从入门到实践 K8S实战容器化迁移实战教程 K8S存储之Ceph分布式存储系统 K8S架构师实战指南

  4. 谷歌adwords教程_6种增加Google AdWords转化率的方法

    谷歌adwords教程 For many businesses, Google AdWords is a vital marketing tool. It's a pay-per-click adve ...

  5. k8s之Pod详解(五)【Kubernetes(K8S) 入门进阶实战完整教程,黑马程序员K8S全套教程(基础+高级)】

    参考于Kubernetes(K8S) 入门进阶实战完整教程,黑马程序员K8S全套教程(基础+高级) Pod Pod的结构 每个Pod中都可以包含一个或者多个容器 这些容器可以分为两类: 用户自定义用的 ...

  6. 谷歌发布Google Kubernetes Engine On-Prem

    Google Cloud正在构建自己的Kubernetes Engine(简称GKE)服务版本,以供用户在自有数据中心内运行.GKE On-Prem,旨在为企业客户提供一种立足内部与公有云端的应用程序 ...

  7. 谷歌账号登录Google API Oauth 2.0简单申请和使用教程

    在点击编辑,修改回调URL 编辑完后可以参照google开发文档开发 https://developers.google.com/accounts/docs/OAuth2?hl=zh-CN 然后按照需 ...

  8. 谷歌留痕技术教程,Google留痕外推软件

    谷歌留痕技术教程,Google留痕外推软件,什么是谷歌留痕技术? 答案是:利用高权重平台生成的查询页面收录后达到谷歌排名展现的效果. 谷歌留痕技术就是在高权网站留下查询的痕迹,然后用蜘蛛池把这些页面链 ...

  9. Kubernetes(K8S) 入门进阶实战完整教程

    Kubernetes详细教程 1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单, ...

最新文章

  1. Leangoo团队敏捷开发实现过程
  2. Cocos2d-x 截屏功能集成
  3. ---Mybatis3学习笔记(2)
  4. javaScript第六天(1)
  5. 一个有关Update类型的存储过程的问题
  6. androidstudio在mainactivity实现监听器借口无法抽象_趣操作,Tomcat如何实现一键式启停?
  7. gitter 卸载_最佳Gitter渠道:Python和Django
  8. Resource Hacker
  9. 腾讯公司被法院强制执行25元,刚好是QQ超级会员的价格
  10. 定时任务重启后执行策略_定时任务时间过长会不会影响下次的执行? 第331篇...
  11. 图像分割(二)--Graph Cuts
  12. 制作window11系统U盘启动盘
  13. 【语义分割】3、用mmsegmentation训练自己的分割数据集
  14. android仿华为系统相册之智能相册开发
  15. revit 二次开发 链接CAD文件读取
  16. IC中LDO电路的DRC验证问题
  17. 什么是测试环境?如何搭建测试环境?
  18. 真牛!一个Android应届生从上海离职,挥泪整理面经
  19. 均值滤波、中值滤波的matlab实现
  20. 5分钟教你搞定瀑布流样式

热门文章

  1. 张飞硬件课程第六部:开关电源(上)
  2. HDU - 1008ACM
  3. 悠漓带你浅谈C语言2(数据类型)
  4. 2019前端工程师的自检清单
  5. CDS — 数据管理分析平台
  6. upc PinkRabbit写情书(枚举)
  7. 学习Qt使用GDI+绘图笔记
  8. 弱网测试工具-qnet
  9. ORA-00119和ORA-00132的解决方案
  10. 学习笔记_OSI模型