Tag: 谷歌云平台

如何加快谷歌云平台上的bazel构build

我正在使用gcr.io/cloud-builders/bazel在Google容器构build上构build我的图像。 从日志看来,似乎大部分时间都是为bazel设置工作区。 这个工作空间不会从构build变成构build,所以我认为可以预先计算并存储在一个新的图像。 如何加快Google云端平台上的这些bazel版本? Already have image (with digest): gcr.io/cloud-builders/bazel Extracting Bazel installation… …………………… Loading: Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded Loading: 0 packages loaded WARNING: /builder/home/.cache/bazel/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/external/io_bazel_rules_go/go/def.bzl:137:3: DEPRECATED: com_github_golang_protobuf : new_go_repository is deprecated. Please migrate to go_repository soon. WARNING: /builder/home/.cache/bazel/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/external/io_bazel_rules_go/go/def.bzl:137:3: DEPRECATED: com_github_golang_glog : new_go_repository is […]

Kubernetes无法访问谷歌云平台上的Grafana和Prometheus

我跟着这个链接在Google云端安装Grafana / Prometheus。 希望能够成功部署请参考以下回复, 服务成功创build: kubectl –namespace=monitoring get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana NodePort 10.27.249.8 <none> 3000:32703/TCP 1h prometheus NodePort 10.27.249.233 <none> 9090:31939/TCP 1h 命名空间已成功创build: kubectl get namespaces NAME STATUS AGE default Active 19h kube-public Active 19h kube-system Active 19h monitoring Active 1h PODS回应: kubectl –namespace=monitoring get pods NAME READY STATUS RESTARTS […]

Google Cloud Container-vm不会重新启动Docker容器

我们有一台使用container-vm的机器。 容器被configuration为具有“始终”的重新启动策略。 这意味着当docker守护进程重启(或重启机器)时,容器将被重新启动。 此function在我的开发环境中完美工作,但不在container-vm映像上。 您可以通过以下方式重现此问题: 1.从container-vm映像创build一个虚拟机 $ gcloud compute instances create boat –project "databerries" –image container-vm –zone europe-west1-d –machine-type f1-micro 创build一个容器(以nginx为例) $ sudo su docker run –name some-nginx –restart = always -d nginx 检查容器是否启动 docker工人 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7b616d41ba9b nginx:最新的“nginx -g”4秒前的守护进程4秒80 / tcp,443 / tcp some-nginx 重新启动docker deamon 服务docker重启 检查容器是否启动 […]

jenkinsdocker推谷歌云失败,例外

我正在通过jenkins构build一个docker镜像,并且想要使用jenkins插件(docker-build-step,Google Container Registry Auth Plugin,Google OAuth Credentials插件)将它部署到Google云registry中,使用以下说明: https:// wiki.jenkins-ci.org/display/JENKINS/Google+Container+Registry+Auth+Plugin 我在GCE上有一个VM实例,我安装了jenkins和docker。 构build工作正常,但是当我试图将其推送到registry时失败: 成功构buildc2ddc81c66d1 [Docker] INFO:成功创build镜像eu.gcr.io/$project-id/base [Docker] INFO:推送图片eu.gcr.io/$project-id/base 错误:生成步骤失败,出现exception javax.ws.rs.ProcessingException:org.apache.http.NoHttpResponseException:127.0.0.1:2375无法响应 在org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:513) 在org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246) 在org.glassfish.jersey.client.JerseyInvocation $ 1.call(JerseyInvocation.java:667) 在org.glassfish.jersey.client.JerseyInvocation $ 1.call(JerseyInvocation.java:664) 在org.glassfish.jersey.internal.Errors.process(Errors.java:315) 在org.glassfish.jersey.internal.Errors.process(Errors.java:297) – 但是当我尝试通过SSH推它,它的工作原理: bash-4.2 $ whoami jenkins bash-4.2 $ gcloud docker push eu.gcr.io/$project-id/base 推是指一个仓库[eu.gcr.io/$project-id/base] 41772e41ab05:图层已经存在 a03f60753e4e:推送[=========>] 9.223 MB / 47.44 MB 我相信,如果这是从谷歌VM的某种范围,我不应该能够通过SSH做到这一点。 难道是jenkins用户环境variables? 任何人都有一个类似的情况下工作configuration? 任何知道jenkins的人都知道什么样的configuration可能造成这种情况? 此外,在使用http://127.0.0.1:2375作为docker url之前,我有unix:///var/run/docker.sock,并且使用该configuration,而不是“127.0.0.1:2375 no […]

通过Docker部署Elixir应用程序到Google Cloud

我正在尝试将我的Docker映像部署到Google Cloud,并遇到一些问题。 一切工作在当地。 我跑 docker run -it -p 4000:4000 myimage 当我去localhost:4000时,一切都正常。 但是,当我尝试使用该命令部署到Google Cloud时 gcloud app deploy –version=1 app.yaml 部署运行平稳,但是当我导航到我的网站,我得到一个503错误: 错误:服务器错误 您请求的服务尚不可用。 请在30秒后重试。 任何提示将非常感谢。

实例仅在需要时 – GCP

我有一个需要偶尔完成的video编辑任务。 任务相对密集,因此需要一台function强大的机器来完成。 完成约需10分钟。 我可能每天会得到10-20个这样的请求,尽pipe这样会在将来增加。 我创build了一个Docker容器,当前是一个从PubSub提取作业的消费者。 我正在考虑在Google Container Engine上有一个这个容器的实例。 然而,据我所知,即使大部分时间都处于空闲状态,我也需要至less有一个这样的(大/强大/昂贵)容器的实例运行。 因此,我运行这项服务的成本会过高,直到我的使用量增加。 有没有其他的方式来运行我的容器(GCP或其他),我把工作推到一些服务,然后启动一个强大的机器的实例,处理工作,然后closures? 因此,我正在为我的CPU使用时间付款。

CircleCI:configuration在gcp上托pipe的Docker容器的testing

我正在使用CircleCIbuild立一个持续部署stream程,以Google Container Engine为目标。 除了这个例子 ,我正在关注这个文档 。 我在这个阶段陷入困境: test: post: – docker run -d -p 3000:3000 -e "SECRET_KEY_BASE=${SECRET_KEY}" eu.gcr.io/${PROJECT_NAME}/${MAIN_CONTAINER_NAME}:latest; sleep 10 – curl –retry 10 –retry-delay 5 -v http://localhost:3000 这是一个简单的testing,validation我的泊坞窗图像能够回答一个http请求。 curl后我得到这个结果: * Rebuilt URL to: http://localhost:3000/ * Hostname was NOT found in DNS cache * Trying 127.0.0.1… * connect to 127.0.0.1 port 3000 failed: Connection refused […]

Jenkinsfiledocker工人

我在Docker容器内的GCE上运行jenkins实例,并想从这个Jenkinsfile和Github执行一个多分支pipe道。 我正在使用GCE jenkins教程。 这是我的Jenkinsfile node { def project = 'xxxxxx' def appName = 'gceme' def feSvcName = "${appName}-frontend" def imageTag = "eu.gcr.io/${project}/${appName}:${env.BRANCH_NAME}.${env.BUILD_NUMBER}" checkout scm sh("echo Build image") stage 'Build image' sh("docker build -t ${imageTag} .") sh("echo Run Go tests") stage 'Run Go tests' sh("docker run ${imageTag} go test") sh("echo Push image to registry") stage 'Push […]

Google Cloud实例上的独立kubelet持久磁盘安装

我有一个需要每天在Docker容器中运行的进程,将存储桶中的一些数据同步到外部卷(Google Cloud持久性磁盘)。 到目前为止,我设法通过创build一个单节点容器集群来启动这个过程。 由于该过程在几个小时内完成,我想删除虚拟机资源(当然除了永久磁盘),一旦完成。 启动/删除单个计算虚拟机(没有kubernetes集群设置)似乎更简单,所以我试图让一个kubelet运行在容器优化的云实例上。 持久的磁盘安装就是这个失败的地方。 我的启动命令: gcloud compute instances create cvm-name-0 \ –image-family=cos-stable \ –image-project=cos-cloud \ –boot-disk-type pd-ssd \ –boot-disk-size 10GB \ –metadata-from-file \ "google-container-manifest=containers.yaml,user-data=cloudinit.yaml" \ –zone "$gzone" \ –scopes default,storage-rw \ –machine-type n1-highcpu-4 container.yaml内容: apiVersion: v1 kind: Pod metadata: name: container-name spec: containers: – name: container-name image: gcr.io/project-name/container-name imagePullPolicy: Always volumeMounts: – name: […]

随需应变的Docker容器在AWS或Google云平台上运行?

我感兴趣的是在Docker容器中,在AWS或GCP上按需运行构build/脚本。 我一直在阅读ECS服务( https://aws.amazon.com/ecs/ ),但我不确定这是我需要的。 我当然不需要一个托pipeEC2实例的集群。 我也不认为Google容器引擎是答案。 我只需要启动一个Docker容器,在其中运行一个构build或任何脚本并closures它。 容器的寿命将是最多1小时。 所以这不是长时间运行,或者扩展任何应用程序。 只需启动,运行,按需停止Docker容器。 哪种AWS或GCP服务最适合这种要求? 除了服务之外,为了使这个过程自动化,我需要调用哪些HTTP端点? 我的应用程序从用户接收到一些bash脚本,并且必须启动一个容器,运行脚本,在完成或者错误时closures所有的东西,然后返回脚本的输出。 我想它会通过SSH连接到创build的/ runnig实例。 任何帮助或暗示正确的文件赞赏,谢谢!