标签: google-kubernetes-engine

如何在Kubernetes上运行容器?

我现在正在尝试在Kubernetes集群上运行一个带shell(/ bin/bash)的简单容器.

我认为有一种方法可以通过使用pseudo-tty和分离选项(命令-td选项docker run)来保持容器在Docker容器上运行.

例如,

$ sudo docker run -td ubuntu:latest
Run Code Online (Sandbox Code Playgroud)

在Kubernetes有这样的选择吗?

我尝试使用如下kubectl run-container命令运行容器:

kubectl run-container test_container ubuntu:latest --replicas=1
Run Code Online (Sandbox Code Playgroud)

但容器会退出几秒钟(就像使用docker run上面提到的没有选项的命令启动一样).并且ReplicationController重复再次启动它.

有没有办法让Kubernetes上的容器像命令中的-td选项一样运行docker run

containers docker kubernetes google-kubernetes-engine

94
推荐指数
10
解决办法
11万
查看次数

如何从Kubernetes复制控制器的所有pod获取日志?

"kubectl logs"向我展示了一个Kubernetes容器的stderr/stdout.如何获取一组pod的聚合stderr/stdout,最好是由某个复制控制器创建的那些?

logging kubernetes google-kubernetes-engine

91
推荐指数
11
解决办法
6万
查看次数

如何在gcloud和minikube之间切换kubectl集群

我让Kubernetes在两个不同的环境中运行良好,即在我的本地环境(运行minikube的MacBook)以及Google的Container Engine(GCE,Google Cloud上的Kubernetes).我使用MacBook /本地环境开发和测试我的YAML文件,然后在完成后,在GCE上尝试它们.

目前我需要单独处理每个环境:我需要在本地环境中编辑YAML文件,并在准备好后,(git)将它们克隆到GCE环境,然后使用/部署它们.这是一个有点麻烦的过程.

理想情况下,我想使用Macbook中的kubectl轻松切换本地minikube或GCE Kubernetes环境,并轻松确定YAML文件的使用位置.有没有一种简单的方法来切换上下文来做到这一点?

kubernetes google-kubernetes-engine minikube

90
推荐指数
6
解决办法
3万
查看次数

如何手动触发Kubernetes预定作业?

我创建了一个Kubernetes预定作业,根据其日程安排每天运行两次.但是,我想手动触发它以进行测试.我怎样才能做到这一点?

scheduled-tasks kubernetes google-kubernetes-engine

78
推荐指数
7
解决办法
3万
查看次数

kubectl日志 - 不断

kubectl logs <pod-id>
Run Code Online (Sandbox Code Playgroud)

从我的部署中获取最新日志 - 我正在处理一个错误并且有兴趣在运行时知道日志 - 如何获得连续的日志流?

编辑:最后纠正的问题.

kubernetes google-kubernetes-engine kubectl

69
推荐指数
7
解决办法
6万
查看次数

如何从kubectl配置中删除集群和上下文?

kubectl配置视图显示与已删除的集群对应的上下文和集群.

我该如何删除这些条目?

命令

kubectl config unset clusters
Run Code Online (Sandbox Code Playgroud)

似乎删除所有群集.有没有办法有选择地删除群集条目?上下文怎么样?

kubernetes google-kubernetes-engine kubectl

64
推荐指数
4
解决办法
4万
查看次数

为部署的Kubernetes服务获取YAML?

我正在尝试将我的应用部署到运行在Google容器引擎中的Kubernetes.

该应用程序可以在以下网址找到:https://github.com/Industrial/docker-znc.

Dockerfile内置的图像谷歌集装箱登记.

我已经通过+按钮在Kubernetes中部署了应用程序.我没有这个YAML.

我在Kubernetes中插入了一个Secret,用于应用程序所需的PEM文件.

  1. 如何填写表格,获取Kubernetes创建的部署,服务Pod的YAML ?
  2. 如何将秘密放入我的Pod以供使用?

yaml docker kubernetes google-kubernetes-engine google-container-registry

64
推荐指数
14
解决办法
4万
查看次数

可以像Docker Compose一样使用Kubernetes吗?

我一直在挖掘Kubernetes文档几个小时.我理解核心设计,以及服务,控制器,pod等的概念.

但是,我不明白的是我可以声明性地配置群集的过程.也就是说,我可以编写配置文件(或其中的一组)来定义组合,以及扩展云部署的选项.我希望能够在不运行大量cli命令的情况下声明我想要哪些容器在哪些容器中,它们将如何通信,如何扩展等等.

Kubernetes 是否有docker -compose功能?

我希望我的应用程序在git中定义为版本控制 - 而不依赖于手动cli交互.

这有可能以简洁的方式进行吗?是否有比官方文档更清晰的参考?

docker kubernetes google-kubernetes-engine docker-compose

59
推荐指数
4
解决办法
2万
查看次数

Kubernetes中的复制控制器VS部署

我想知道复制控制器和Kubernetes(1.2)中的部署有什么区别.通过入门文档(http://kubernetes.io/docs/hellonode/)我创建了一个部署 - 但它没有显示在Web UI上.

当我从Web UI创建应用程序时 - 它们被创建为复制控制器.从功能上看,它们看起来非常相似(它们都管理pod并提供服务).

那么 - 有什么区别我应该何时使用?

google-compute-engine kubernetes google-kubernetes-engine

57
推荐指数
4
解决办法
2万
查看次数

如何在Kubernetes中模仿'--volumes-from'

我正在寻找一种模式,允许在Kubernetes的同一个pod上运行的两个容器之间共享卷.

我的用例是:我在docker容器中运行了一个Ruby on Rails应用程序.docker镜像包含/app/<app-name>/public目录中的静态资源,我需要从同一pod中运行的nginx容器访问这些资源.

在"vanilla"docker中,我会用--volumes-fromflag来共享这个目录:

docker run --name app -v /app/<app-dir>/public <app-image>
docker run --volumes-from app nginx
Run Code Online (Sandbox Code Playgroud)

阅读此文档后:https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/volumes.md 我试过这个(只提供相关条目):

spec:
  containers:
    - image: <app-image>
      name: <app-name>
      volumeMounts:
        - mountPath: /app/<app-name>/public
          name: assets
    - image: nginx
      name: nginx
      volumeMounts:
        - mountPath: /var/www/html
          name: assets
          readOnly: true
    volumes:
      - name: assets
        hostPath:
          path: /tmp/assets
Run Code Online (Sandbox Code Playgroud)

但:

  • 即使/tmp/assets节点存在,它也是空的
  • /app/<app-name>/public app容器内部也是空的

作为一种解决方法,我将尝试在应用程序容器启动时填充共享目录(仅限cp /app/<app-name>/public/*于共享目录),但我真的不喜欢这个想法.

问题:如何模仿--volumes-fromKubernetes,或者如果没有直接对应物,我如何将文件从一个容器共享到另一个容器中运行?

apiVersion: v1beta3

Client Version: version.Info{Major:"0", Minor:"17", GitVersion:"v0.17.0", …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes google-kubernetes-engine

44
推荐指数
2
解决办法
2万
查看次数