Tag: 谷歌容器引擎

使外部访问Kubernetes服务

我们有一个私有的kubernetes集群运行在一个裸机的CoreOS集群上(带有Flannel的networking覆盖)和私有地址。 在这个集群之上,我们为elasticsearch运行一个kubernetes ReplicationController和Service。 要启用负载均衡,此服务具有一个定义的ClusterIP,它也是一个专用IP地址:10.99.44.10(但与节点IP地址的范围不同)。 我们面临的问题是我们希望能够从集群外部连接到这个ClusterIP。 据我们可以告诉这个私人IP是不是可以从我们的私人networking中的其他机器联系… 我们怎样才能做到这一点? 节点的IP地址是: node 1 – 192.168.77.102 node 2 – 192.168.77.103 。 这是服务,RC和Pod与kubectl一起出现的方式: NAME LABELS SELECTOR IP(S) PORT(S) elasticsearch <none> app=elasticsearch 10.99.44.10 9200/TCP CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS elasticsearch elasticsearch elasticsearch app=elasticsearch 1 NAME READY STATUS RESTARTS AGE elasticsearch-swpy1 1/1 Running 0 26m

Google容器引擎:访问云端存储

我无法使用Google Container Engine中的应用程序默认凭证。 该文档说,他们的目的是为应用程序引擎和计算引擎,但我已经被告知,他们应该透明地通过容器引擎上运行的容器。 这是失败的代码: credentials = GoogleCredentials.get_application_default() service = discovery.build('storage', 'v1', credentials=credentials) 它失败的错误: AssertionError: No api proxy found for service "memcache" 期望应用程序默认凭据与容器引擎一起使用是否正确? 如果没有,任何人都可以推荐正确的方式来连接到容器上运行的容器的云存储? 谢谢。 编辑:在运行gcloud beta auth application-default activate-service-account –key-file <my_key>.json上述Python示例中的credentials对象填充数据。 不过,我仍然得到相同的错误。

为什么在一个简单的NGINX docker集群上增加node / pod时,我看不到更高的并发请求?

在试图实现一个高度可用的Web服务器设置,我运行一个负载testing对一个非常简单的NGINXdocker容器提供单个静态文件。 起初,我尝试了一个节点(n1-standard-4)和单个pod集群,来衡量一个“单元”可以做多less。 这个单节点/ pod设置可以处理大约20k个并发请求,然后开始超时以处理一些请求/吞吐量。 然后,我添加了相同机器types的另一个节点,并将这个吊舱缩放到两个副本。 一旦我确认两个豆荚/节点都运行起来,我再次用20k运行testing。 性能是好的,所以我碰到了4万 – 期待我会看到类似的结果,1节点/ pod设置20k。 然而,performance非常糟糕,从来没有请求每秒跳跃15k和30k之间猛烈。 我用4个节点/豆荚再次尝试相同的testing,看到类似的结果,如果不是稍差。 我的问题是: 我错误地认为我的并发请求应该用GKE / containers / kubernetes这样线性调整吗? 为了达到预期的结果,我能够如何处理M个节点/群集中的N个并发用户? 编辑:我也不相信这是与负载testing工具的问题 – 因为我使用的外部付费服务,声称能够模拟高达100k并发请求。 编辑2:这里有一些关于设置的更多信息: Dockerfile: FROM nginx ADD nginx.conf /etc/nginx/nginx.conf ADD index.html /usr/share/nginx/html/index.html ADD data.json /usr/share/nginx/html/data.json nginx.conf: user nginx; worker_processes 4; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 4096; } http { include /etc/nginx/mime.types; default_type […]

在Mac上将Docker图像推送到Google Container Registry失败

我试图将我的图片上传到Google Container Registry,但是它返回了一些错误,我不知道如何排除故障。 $> gcloud docker — push asia.gcr.io/dtapi-1314/web The push refers to a repository [asia.gcr.io/dtapi-1314/web] 53ccd4e59f47: Retrying in 1 second 32ca8635750d: Retrying in 1 second e5363ba7dd4d: Retrying in 1 second d575d439624a: Retrying in 1 second 5c1cba20b78d: Retrying in 1 second 7198e99c156d: Waiting 6ca37046de16: Waiting b8f2f07b3eab: Waiting 16681562a534: Waiting 92ea1d98cb79: Waiting 97ca462ad9ee: Waiting unable to […]

Kubernetes卷装载path

我正在为同一个应用程序运行多个Web Pod,并且我的应用程序中有这个文件夹,客户可以上传文件。 该文件夹是坐在这个目录(如果我的战争文件名是sample.war)/ usr / local / tomcat / webapps / sample / uploadfiles,我希望它在所有networking豆荚之间共享,万一客户端login到随机会话在一个特定的networkingPOD 1和上传一些文件,可以find他们下一次他login到另一个networking内的另一个随机会话POD N我使用Google云端平台容器引擎和谷歌永久磁盘作为永久卷 我的dockerfile看起来像这样 FROM tomcat:8-jre8 ADD sample.war /usr/local/tomcat/webapps/ CMD ["catalina.sh", "run"] 我有这个在我的Kubernetes部署YAML文件 volumeMounts: – mountPath: /usr/local/tomcat/webapps/ 但是我的pod里只有一个空的/ usr / local / tomcat / webapps /目录,只有lost + found,甚至当我mountpath / usr / local / tomcat / webapps /子目录的子目录时也是空的。 所以我应该用file upload到/ usr / local […]

Google云负载平衡器使用Kubernetes Ingress强制使用HTTP而不是HTTPS

我正在尝试部署一个Docker容器,它公开了一个简单的Docker服务器,一个在Google容器引擎(Kubernetes)中的httpbin.org服务的克隆。 这是我正在使用的服务定义: apiVersion: v1 kind: Service metadata: name: httpbin labels: app: httpbin spec: type: LoadBalancer ports: – port: 80 targetPort: 3000 protocol: TCP name: http selector: app: httpbin 入口被定义为: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: httpbin-tls annotations: kubernetes.io/ingress.global-static-ip-name: "http-bin-static-ip" spec: tls: – secretName: positive-ssl backend: serviceName: httpbin servicePort: 80 在Services / Ingress仪表板中,我可以看到两个IP,一个直接绑定到服务(暂时)和一个绑定到Ingress的静态IP。 在端口80上直接调用它们就像是一种魅力。 完成之后,我为静态IP创build了一个Alogging,并确保GKE仪表板中的负载平衡器正常: HTTPS端点应该按照我检查过的很多教程和手册工作,但不是! […]

在Google Container Registry中通过命令行添加标签来标记Docker镜像

我正在试图标记位于Google Container Registry中的Docker镜像,但没有任何运气。 如果图片坐在我的本地机器上,我可以这样做: docker tag my-image:existing-tag my-image:new-tag 这将导致我的图像的第二个标签。 不过,在Google容器registry中,我不能简单地使用gcloud包装器来这样做。 例如: gcloud docker — tag gcr.io/my-project/my-image:existing-tag gcr.io/my-project/my-image:new-tag 这个命令不起作用,因为即使我使用gcloud运行,我也得到以下的回应: Error response from daemon: no such id gcr.io/my-project/my-image:existing-tag 我正在尝试做什么,以及如何做到这一点?

Google Cloud上的Kubernetes 1.7:FailedSync同步错误窗格,SandboxChanged Pod沙盒已更改,将被终止并重新创build

我的Kubernetes豆荚和容器没有启动。 他们被困在状态ContainerCreating 。 我运行命令kubectl describe po PODNAME ,其中列出了事件,我看到以下错误: Type Reason Message Warning FailedSync Error syncing pod Normal SandboxChanged Pod sandbox changed, it will be killed and re-created. Count列表示这些错误一遍又一遍地重复,大概每秒一次。 下面是从这个命令下面的完整输出,但是我怎么去debugging呢? 我甚至不知道这些错误是什么意思。 Name: ocr-extra-2939512459-3hkv1 Namespace: ocr-da-cluster Node: gke-da-ocr-api-gce-cluster-extra-pool-65029b63-6qs2/10.240.0.11 Start Time: Tue, 24 Oct 2017 21:05:01 -0400 Labels: component=ocr pod-template-hash=2939512459 role=extra Annotations: kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"ocr-da-cluster","name":"ocr-extra-2939512459","uid":"d58bd050-b8f3-11e7-9f9e-4201… Status: Pending IP: Created By: […]

Docker -v(卷装)等同于kubernetes

我正在寻找相当于docker docker -v的kubernetes,以便将卷装载到gcloud中。 我试图运行我的容器使用谷歌容器引擎,它使用kubectl来pipe理群集。 在kubectl run命令中,我无法为安装卷提供资金。 kubectl run foo –image=gcr.io/project_id/myimage –port 8080 我检查他们的官方文件,但无法find任何线索。

移动Google容器之前执行oAuth 2

我们正在运行两个宁静的apis,一个是http,另一个是udp。 他们正在内部部署基础架构上运行,在接下来的几个版本中,我们需要将它们作为Google容器运行一次,然后再将它们放入云中,然后执行oauth! 我的问题是,从哪里开始以及如何考虑我描述的路线图来实现oauth 2呢? 真正感谢任何build议。