我在我的pod中使用了busybox图像。我试图 curl 另一个pod,但是“curl is not found”。如何修复它?
apiVersion: v1
kind: Pod
metadata:
labels:
app: front
name: front
spec:
containers:
- image: busybox
name: front
command:
- /bin/sh
- -c
- sleep 1d
此命令:
k exec -it front -- sh
curl service-anotherpod:80 -> 'curl not found'
3条答案
按热度按时间e5nqia271#
除了@ gohm 'c的答案之外,您还可以尝试使用Alpine Linux,或者创建自己的安装了curl的映像,或者使用pod中的
apk add curl
来安装它。带alpine的pod示例:
cld4siwp2#
busybox
是一个单一的二进制程序,你不能安装额外的程序到它。你可以使用wget
或者你可以使用busybox的一个不同的变种,如progrium,它带有一个包管理器,允许你做opkg-install curl
。xmd2e60i3#
您可以创建自己的映像并将其部署到pod。
然后你可以像这样
像这样跑
docker container run -rm -d --name networkutils networkutils
并访问它的shell以运行curl、wget或您像这样安装的任何命令
docker container exec -it networkutils sh
要在k3s中运行和访问它,您可以创建如下部署文件
启动pod
kubectl apply -f deployment.yml
然后访问shell
kubectl exec -it networkutils -- /bin/sh