优化自定义GraphOS路由器构建
增强性能,缩短构建时间,满足系统要求
在生产环境中运行GraphOS路由器有着优异的性能,但这需要以增加构建时间以及更高的系统要求为代价,尤其是在从源代码编译的情况下。
构建包括自定义插件在内的路由器是一个内存消耗大的过程,因此不适合所有构建环境。
一些云构建管线,如Google Cloud Build,将需要在默认构建配置中进行修改,以增加构建工作者池的内存和CPU容量。
默认情况下,路由器在构建过程中还会下载大量依赖关系。我们可以使用Kaniko来缓存中间构建层。
。这是启用中间构建步骤缓存的全部所需。每个步骤将在每个层面构建后立即推送到目标容器仓库,因此即使失败的构建也会通过缓存成功层面来提高构建速度。
我们还更改了默认的所需的CPU或内存资源。
#cloudbuild.yamlsteps:- id: Build Routername: 'gcr.io/kaniko-project/executor:latest'args:- '--cache=true'- '--dockerfile=$_DOCKERFILE'- '--context=dir://$_IMAGE_NAME'- >---destination=$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_IMAGE_NAME:$COMMIT_SHA- id: Deploy Routername: 'gcr.io/google.com/cloudsdktool/cloud-sdk:slim'entrypoint: gcloudargs:- run- services- update- $_SERVICE_NAME- '--platform=managed'- '--image=$_GCR_HOSTNAME/$PROJECT_ID/$REPO_NAME/$_IMAGE_NAME:$COMMIT_SHA'- '--region=$_DEPLOY_REGION'- '--quiet'options:machineType: E2_HIGHCPU_8substitutions:_DOCKERFILE: custom-router/Dockerfile_IMAGE_NAME: custom-router_SERVICE_NAME: apollo-router_DEPLOY_REGION: northamerica-northeast1_GCR_HOSTNAME: northamerica-northeast1-docker.pkg.dev_PLATFORM: managed