小编CJ *_*len的帖子

Kubernetes将客户端api用于特定pod的日志

我正在使用kube go客户端和kube api来访问kube数据.我目前没有找到任何api调用特定pod的日志.

kubectl logs pod-name
Run Code Online (Sandbox Code Playgroud)

返回特定pod的日志.如何使用go客户端执行此操作?我正在使用kubernetes的v1.0.6.

我可以通过使用获得pod

client.Pods("namespace").Get("pod-name")
Run Code Online (Sandbox Code Playgroud)

kubernetes

10
推荐指数
1
解决办法
5787
查看次数

Kubernetes - 使用名称而不是"localhost"在pod中进行容器通信?

来自kubernetes 文档:

pod中的应用程序都使用相同的网络命名空间(相同的IP和端口空间),因此可以相互" 查找 "并使用localhost进行通信.

是否可以使用某些特定于容器的名称而不是locahost

例如,使用docker-compose up,您使用服务的名称进行通信.[文档]

所以,如果我的docker-compose.yml文件是

version: '2'
services:
  web:
    build: .
    ports:
      - "8000:8000"
  srv:
    build: .
    ports:
      - "3000:3000"
Run Code Online (Sandbox Code Playgroud)

然后我通过电话srv从内部访问,而不是webhttp://srv:3000/ http://localhost:3000

如何在kubernetes中实现相同的行为?有什么方法可以指定在pods的yaml配置中使用什么名称?

docker kubernetes docker-compose

9
推荐指数
2
解决办法
4047
查看次数

Kubernetes Google 容器引擎 HTTPS 负载均衡器错误

有谁知道 Google\xe2\x80\x99s HTTPS 负载均衡器是否正常工作?\n我正在设置 NGINX 入口服务,但我注意到 Google 负载均衡器是由 Kubernetes 自动设置的。我得到了两个外部 IP,而不是一个。因此,我决定使用 Google 服务,而不是设置 NGINX 负载均衡器。我删除了容器集群,创建了一个全新的容器集群。我在端口 80 上启动了 HTTP Pod 和 HTTP 服务。然后创建了入口服务和 L7 控制器 Pod。现在,当我查看负载均衡器日志时,出现以下错误:

\n\n
\n

事件(api.ObjectReference{种类:“入口”,命名空间:“默认”,\n名称:“echomap”,UID:“9943e74c-76de-11e6-8c50-42010af0009b”,\n API版本:“扩展”,资源版本: “7935”,FieldPath:“”}):类型:\ n \'警告\'原因:\'GCE \' googleapi:错误400:验证失败\ n实例\ n \'projects/mundolytics/zones/us- east1-c/instances/gke-airportal-default-pool-7753c577-129e\':\n 实例最多可以属于一个负载均衡实例组。,\n instanceInMultipleLoadBalancedIgs

\n
\n

https load-balancing kubernetes google-kubernetes-engine

3
推荐指数
1
解决办法
2690
查看次数

Kubernetes 从容器访问标签

当我们为复制控制器创建 yml 时,我们可以为正在创建的 pod 提供标签。

apiVersion: v1
kind: ReplicationController
metadata:
  name: redis
spec:
  template:
    metadata:
      labels:
        app: redis
        tier: backend
Run Code Online (Sandbox Code Playgroud)

驻留在该 Pod 中的容器可以访问这些标签值吗?

docker kubernetes

1
推荐指数
1
解决办法
1734
查看次数