Tag: 谷歌容器引擎

将Docker映像推送到Google Containerregistry时,导致身份validation错误的原因是什么?

我正在尝试按照他们的指示将Docker镜像从CircleCI构build推送到Google Container Registry。 但是,由于明显的authentication错误,推送到GCR失败: Using 'push eu.gcr.io/realtimemusic-147914/realtimemusic-test/realtimemusic-test' for DOCKER_ARGS. The push refers to a repository [eu.gcr.io/realtimemusic-147914/realtimemusic-test/realtimemusic-test] (len: 1) Post https://eu.gcr.io/v2/realtimemusic-147914/realtimemusic-test/realtimemusic-test/blobs/uploads/: token auth attempt for registry: https://eu.gcr.io/v2/token?account=oauth2accesstoken&scope=repository%3Arealtimemusic-147914%2Frealtimemusic-test%2Frealtimemusic-test%3Apush%2Cpull&service=eu.gcr.io request failed with status: 403 Forbidden 我之前推动Docker镜像对Google云服务帐户进行身份validation: echo $GCLOUD_KEY | base64 –decode > ${HOME}/client-secret.json gcloud auth activate-service-account –key-file ${HOME}/client-secret.json gcloud config set project $GCLOUD_PROJECT_ID 然后,我build立图像,并将其推送到GCR: docker build -t $EXTERNAL_REGISTRY_ENDPOINT/realtimemusic-test […]

将Java应用程序连接到YouTube Vitess数据库

我使用DEPLOYMENTS将我的java web应用程序部署到了kubernetes中,并且能够将其扩展并连接到数据库POD,但是我也想扩展数据库,但是如您所知在kubernetes中不可行,并且MYSQL REPLICA不推荐用于生产。 所以我尝试了vitess,能够扩展我的数据库,但不知道如何或应该在哪里创build我的Java Web应用程序部署/ REPLICAS,并通过vtgate连接到数据库。 是否有另一种方式通过kubernetes扩展mysql数据库?

写入卷装时,Kubernetes pod内存不足

我有一个Kubernetes集群,需要处理作业。 这些工作定义如下: apiVersion: batch/v1 kind: Job metadata: name: process-item-014 labels: jobgroup: JOB_XXX spec: template: metadata: name: JOB_XXX labels: jobgroup: JOB_XXX spec: restartPolicy: OnFailure containers: – name: worker image: gcr.io/…/worker volumeMounts: – mountPath: /workspace name: workspace resources: limits: cpu: 500m memory: 1Gi requests: cpu: 500m memory: 512Mi volumes: – name: workspace hostPath: path: /tmp/client-workspace 请注意,我正在试图将主机中的一个文件夹挂载到容器( workspace […]

在同一个容器中的Cron在本地工作,但在集群中失败

我有一个与cron计划超级简单的容器: * * * * * root /bin/bash /alive.sh alive.sh: #!/bin/bash /bin/echo "I'm alive" /bin/echo $(/bin/date) >> /tmp/alive.log 我在本地构buildDocker镜像并运行它: docker build -t orian/crondemo:v0 . docker run –rm -it –name crondemo orian/crondemo:v0 一分钟后,我可以检查一个新的文件正在创build: docker exec crondemo ls /tmp 我标记并将图像推送到Google Container Registry: TAG=eu.gcr.io/<PROJECT_ID>/crondemo:v0 docker tag orian/crondemo:v0 $TAG kubectl docker — push $TAG 手动启动吊舱: kubectl run crondemo –image=$TAG […]

为节点应用程序实现CI /部署pipe道

为了实现持续集成和TDD,我将很快在重写节点应用程序。 我也想devise和build立一个用于开发,分期和生产的部署pipe道。 目前我正在使用Shipit将更改推送到具有预configuration环境的不同实例。 我听说过部署Docker容器所需的环境,我想了解更多。 我正在看TravisCI和自动化testing/构build,并从我的理解,可以推动docker图像到构build成功后的registry。 我还在学习扩展,并且考虑了一个生产devise,该devise包含服务3个集群版本的节点应用程序,Redis集群和2个PostgreSQL节点的Google Cloud服务器/服务,每个服务位于负载平衡器后面。 我听说Kubernetes被用来pipe理和部署集装箱化的应用程序,但我很好奇它是如何融合在一起的。 在我的脑海里,我认为这个过程似乎如下: 在开发机器上提交更改 – 推送到存储库。 TravisCI构build并运行testing(如何将迁移和推送到postgreSQL服务的变化?)推送到Google云容器registry中。 loginGoogle容器引擎并使用Kubernetes运行应用程序。 那么Redis集群呢? PostgreSQL节点? 如果这个问题缺乏清晰度和知识,我会事先道歉,但是在我走之前,我正努力学习更多。

Google容器引擎公开服务“网站无法访问”

我正在使用Flask,Docker和Google Container Engine构build一个简单的Web应用程序。 我已经指定了以下DockerFile: # Use an official Python runtime as a base image FROM python:2.7-slim # Set the working directory to /app WORKDIR /app # Copy the current directory contents into the container at /app ADD . /app # Install any needed packages specified in requirements.txt RUN pip install -r requirements.txt # Make port […]

暴露没有负载平衡器的容器

我打算在GCE上部署一个小testing应用程序。 我读过的每个指南似乎都指向使用LoadBalancer服务将该窗格展示给Internet。 不幸的是,这带来了很高的相关成本,我希望能够在不创build负载均衡器的情况下公开容器(或者使用HAProxy / nginx来滚动我们自己的容器)。 有可能吗? 如果是这样,我需要采取哪些措施以及可能的其他相关费用? 谢谢!

Google容器registry是否会出现问题?

我在使用容器优化的虚拟机时遇到了一个问题。 我使用以下命令启动一个实例: gcloud compute instances create "$instance_name" \ –tags "http-server" \ –image container-vm \ –scopes storage-rw,logging-write \ –metadata-from-file google-container-manifest="m2.yml" \ –zone "$my_zone" \ –machine-type "$my_machine_type" 其中m2.yml是: version: v1beta2 containers: – name: nginx image: nginx 当我SSH的实例,并调查/var/log/docker.log我看到: time="2015-06-17T07:42:59Z" level=error msg="Handler for GET /containers/{name:.*}/json returned error: no such id: kubelet" time="2015-06-17T07:42:59Z" level=error msg="HTTP Error: statusCode=404 no such id: […]

执行`kubectl rolling-update`时pod会收到什么进程信号?

kebernetes在Google容器引擎上进行滚动更新时,我正在使用go lang进行优雅的closuresfunction。 有没有人知道当kubectl滚动更新开始时什么过程信号发送到运行的豆荚? 我听过os.Kill,os.Interrupt,syscall.SIGTERM,syscall.SIGKILL,syscall.SIGSTOP信号来处理,没有这些信号是在kubectl滚动更新时产生的。 我会很感激你的答案。

如何使用kubernetes将rails应用程序部署到Google容器引擎?

我已经尝试了很多方法来构build我的rails应用程序到一个泊坞窗的图像。 并将其部署到谷歌容器引擎。 但直到现在,没有人成功。 我的Dockerfile(在根轨道下) FROM ruby:2.2.2 RUN apt-get update -qq && apt-get install -y build-essential RUN apt-get install -y nodejs ENV APP_HOME /myapp RUN mkdir $APP_HOME WORKDIR $APP_HOME ADD Gemfile $APP_HOME/Gemfile ADD Gemfile.lock $APP_HOME/Gemfile.lock ADD vendor/gems/my_gem $APP_HOME/vendor/gems/my_gem ADD init.sh $APP_HOME/ RUN export LANG=C.UTF-8 && bundle install ADD . $APP_HOME CMD ["sh", "init.sh"] 我的init.sh #!/bin/bash bundle […]