相关疑难解决方法(0)

Kubernetes - 如何在容器内运行kubectl命令?

在pod中的容器中,如何使用kubectl运行命令?例如,如果我需要在容器内执行类似的操作:

kubectl获得pods

我试过这个:在我的dockerfile中,我有这些命令:

RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
RUN chmod +x ./kubectl
RUN sudo mv ./kubectl /usr/local/bin/kubectl
Run Code Online (Sandbox Code Playgroud)

编辑:我正在尝试OSX文件,我已将其更正为Linux二进制文件.(由@svenwltr更正

在创建docker文件时,这很成功,但是当我在容器内运行kubectl get pods时,

kubectl get pods
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

与服务器的连接:被拒绝 - 您是否指定了正确的主机或端口?

当我在本地部署时,如果我的docker-machine没有运行,我遇到了这个错误,但是在容器内部如何运行docker-machine?

在本地,我通过运行以下命令来解决此错误:(dev是docker-machine的名称)

docker-machine env dev
eval $(docker-machine env dev)
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我,我需要做什么?

docker kubernetes dockerfile

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

Kronnetes中的Cron Jobs - 连接到现有的Pod,执行脚本

我确定我错过了一些明显的东西.我查看了Kubernetes上ScheduledJobs/CronJobs的文档,但是我找不到按计划执行以下操作的方法:

  1. 连接到现有Pod
  2. 执行脚本
  3. 断开

我有其他方法可以做到这一点,但他们感觉不对.

  1. 安排一个cron任务:kubectl exec -it $(kubectl get pods --selector = some-selector | head -1)/ path/to/script

  2. 创建一个具有"Cron Pod"的部署,该部署也包含应用程序,以及许多"Non Cron Pod",它们只是应用程序.Cron Pod将使用不同的图像(一个安排了cron任务).

如果可能的话,我宁愿使用Kubernetes ScheduledJobs来防止同一个Job同时运行多次,也因为它让我感觉更合适.

有没有办法通过ScheduledJobs/CronJobs来做到这一点?

http://kubernetes.io/docs/user-guide/cron-jobs/

kubernetes kubernetes-cronjob

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

无需停机即可计划重启 Kubernetes pod

我有 6 个正在运行的 pod 副本,我想每 5 分钟重新启动\重新创建一次。

这需要是一个滚动更新 - 这样所有的都不会立即终止并且没有停机时间。我如何实现这一目标?

我尝试使用 cron 作业,但似乎不起作用:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: scheduled-pods-recreate
spec:
  schedule: "*/5 * * * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: ja-engine
            image: app-image
            imagePullPolicy: IfNotPresent
          restartPolicy: OnFailure
Run Code Online (Sandbox Code Playgroud)

尽管作业已成功创建并按照以下说明进行调度,但它似乎从未运行过:

Name:                       scheduled-pods-recreate
Namespace:                  jk-test
Labels:                     <none>
Annotations:                <none>
Schedule:                   */5 * * * *
Concurrency Policy:         Forbid
Suspend:                    False
Starting Deadline Seconds:  <unset>
Selector:                   <unset>
Parallelism:                <unset>
Completions:                <unset>
Pod Template:
  Labels:  <none>
  Containers:
   ja-engine:
    Image: …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubernetes-helm kubernetes-cronjob

5
推荐指数
2
解决办法
5769
查看次数

Kubernetes:如何根据年龄/创作时间删除POD

是否可以根据创建时间或年龄删除kubernetes中的POD?

示例:我想删除所有早于1天的POD。这些POD是孤立的,因此不会创建新的POD。

kubernetes minikube

4
推荐指数
3
解决办法
4428
查看次数