(一)在GKE上创建MLOps Kubernetes集群

目录

Kubernetes简述

设置GKE集群

启动GKE集群

创建secrets.yaml文件

下一步


之前的系列文章中,我们讨论了在一组Docker容器中作为CI/CD  MLOps管道的一部分执行的脚本。在本系列中,我们将向您展示如何设置Google Kubernetes Engine(GKE) 集群来部署这些容器。本系列文章假设您熟悉深度学习、DevOpsJenkins和基本Kubernetes

GKEGoogle Cloud Platform提供的Kubernetes解决方案,它提供了很多好处。Kubernetes是最先进的开源平台,用于部署、扩展和处理容器化应用程序或微服务。它提供:

  • 极其简单的自动缩放
  • 自动健康检查和自我修复选项
  • 集群内微服务之间网络流量的自动路由
  • 来自集群外部的流量的路由和负载平衡。

Kubernetes简述

Kubernetes集群由一个节点和一个或多个工作节点组成。主节点管理整个集群,包括通信。正如您可能已经猜到的那样,工作节点完成所有繁重的工作。您的微服务将分布在工作节点上,以确保它们在集群生命周期内保持健康。

Kubernetes的五个概念与当前的系列文章相关——podsjobsdeploymentsservicessecrets

  • pod是最小Kubernetes单元。它是一组一个或多个容器。每个Pod都连接到一个工作节点,该节点可以运行多个Pod。如果此节点出现故障,则其pod将移动到另一个可用的工作节点。

Kubernetes 提供的图像

  • job启动一个或多个Pod来执行一项任务。一旦任务结束,所有pod都会终止。如果任务执行失败,作业将不断重试,直到成功。
  • deployment 是一组提供给所述主节点的规则。这些规则定义了如何创建应用程序并处理其跨工作节点的生命周期。主节点会持续监控您的部署。如果失败,则会启动一个新实例,因此您的应用程序始终会运行。为了使您的部署可从集群外部访问,您需要创建一个LoadBalancer 服务,该服务处理进入Kubernetes集群的流量。

Kubernetes 提供的图像

  • service 是一组pods和定义如何在它们之间路由流量的策略。
  • SecretsYAML文件,集群中的任何元素都可以通过环境变量访问这些文件。这是Kubernetes中处理敏感信息的默认方法。

设置GKE集群

如果您尚未配置Google Cloud Platform结算帐户,请按照以下步骤操作。如果您尚未配置Google Cloud SDK,请查看本文,我们在其中提供了配置指南。

启动GKE集群

让我们通过终端启动集群。如果您计划进行支持GPU的训练,请发出:

gcloud container clusters create training-cluster --num-nodes=2 --zone=us-central1-a --accelerator="type=nvidia-tesla-p100,count=1"  --machine-type="n1-highmem-2" --scopes="gke-default,storage-rw"

否则(对于CPU训练),运行:

gcloud container clusters create training-cluster --num-nodes=2 --zone=us-central1-a --machine-type="n1-highmem-2" --scopes="gke-default,storage-rw"

响应将类似于:

响应通知您集群已创建后,打开GCP控制台并转到Kubernetes Engine > Clusters

您应该会发现您的Kubernetes集群处于活动状态:

在继续之前,安装kubectl,该命令行包将允许您与Kubernetes交互:

创建secrets.yaml文件

为了能够从我们的微服务中发送通知电子邮件,我们需要将一个电子邮件帐户地址和相应的密码传递给这些。这些凭据是敏感信息,这就是我们将使用secrets的原因。将以下文件中的字段替换为您的电子邮件地址和密码。(如果您使用Gmail地址,请查看本指南)。该文件如下:

apiVersion: v1
kind: Secret
metadata:
  name: gmail-secrets
type: Opaque
data:
  gmail_address: your_email_address
  gmail_password: your_app_password

将文件另存为secrets.yaml。打开终端窗口并将这些指令应用到集群:

kubectl apply -f secrets.yaml

下一步

我们现在已准备好使用GKE。在接下来的文章中,我们将看到如何定义工作,部署和服务,使我们的容器可以实现他们的目标。

Creating an MLOps Kubernetes Cluster on GKE - CodeProject

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值