Doc*_*tor 0 curl docker kubernetes alpine-linux
我想将自己放在kubernetes容器中并执行CURL命令。不幸的是,我在任何地方都找不到可以卷曲的工作图像(并且与kubernetes兼容)...
要执行到容器中,我正在做一个简单的 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)
我不认为它坏了,因为它适用于某些图像。
你可以使用这张图片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
您可以跳过清单,并用于kubectl run
按需旋转其中一个吊舱。即
kubectl run curl -it --rm --image=tutum/curl -- sh
Run Code Online (Sandbox Code Playgroud)
这将创建一个curl
从tutum/curl
映像命名的部署,并在其中提供一个交互式(-it
)shell。退出时,部署将被删除(--rm
)。
您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)
归档时间: |
|
查看次数: |
2198 次 |
最近记录: |