需要在Kubernetes Pod中使用CURL二进制文件

Doc*_*tor 0 curl docker kubernetes alpine-linux

我想将自己放在kubernetes容器中并执行CURL命令。不幸的是,我在任何地方都找不到可以卷曲的工作图像(并且与kubernetes兼容)...

  1. 我用Alpine和CURL尝试了一些docker镜像,但是每次以crashLoopBackOff结尾。我想这意味着容器已退出,因为docker映像在执行自身后退出了...
  2. 我也尝试过单独使用alpine和ubuntu的图像,但是每次都以crashloopBackOff结尾。
  3. 我设法在一些图像中执行,但从未安装CURL,APT-GET或APK均未运行。

要执行到容器中,我正在做一个简单的 kubectl exec -it POD_ID /bin/bash

有人知道包含CURL二进制文件且不会在kubernetes中崩溃的最小docker镜像吗?

PS:这是出于测试目的,因此不需要坚如磐石或其他任何东西

谢谢


更新1这是我用来部署所有潜在映像的yaml:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: blue
  namespace: default
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: blue
    spec:
      containers:
      - name: blue-website
        image: SOME_IMAGE:latest
        resources:
          requests:
            cpu: 0.1
            memory: 200
Run Code Online (Sandbox Code Playgroud)

我不认为它坏了,因为它适用于某些图像。

nig*_*204 5

你可以使用这张图片nightfury1204/alpine-curl

我出于自己的测试目的创建了上图。

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: curl
  labels:
    name: curl
spec:
  serviceName: "curl"
  selector:
    matchLabels:
      app: curl
  replicas: 1
  template:
    metadata:
      labels:
        app: curl
    spec:
      containers:
      - name: curl
        image: nightfury1204/alpine-curl
        command:
          - "sh"
          - "-c"
          - >
            while true; do
              sleep 3600;
            done
Run Code Online (Sandbox Code Playgroud)

要执行到 Pod 中,请使用此命令kubectl exec -it curl-0 sh


swi*_*.op 5

您可以跳过清单,并用于kubectl run按需旋转其中一个吊舱。即

kubectl run curl -it --rm --image=tutum/curl -- sh
Run Code Online (Sandbox Code Playgroud)

这将创建一个curltutum/curl映像命名的部署,并在其中提供一个交互式(-it)shell。退出时,部署将被删除(--rm)。


Emr*_*ain 4

CrashLoopBackOff之所以得到这样的结果是因为容器在启动后完成,因为它没有任何要处理的任务。简单的解决方法是在容器中运行命令以使其无限期运行。这样您就可以执行到容器中并运行curl。

这里修改了 yaml 来执行此操作:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: blue
  namespace: default
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: blue
    spec:
      containers:
      - name: blue-website
        image: scrapinghub/httpbin:latest
        command:
        - sleep
        - "3600"
        resources:
          requests:
            cpu: 0.1
            memory: 200
Run Code Online (Sandbox Code Playgroud)