Azure 使用kubectl执行CURL
我正试图用Azure 使用kubectl执行CURL,azure,curl,kubernetes,azure-aks,Azure,Curl,Kubernetes,Azure Aks,我正试图用kubectl像这样执行curl命令 kubectl exec POD_NAME "curl -X PUT http://localhost:8080/abc -H \"Content-Type: application/json\" -d '{\"name\":\"aaa\",\"no\":\"10\"}' " 贝洛布误差 OCI runtime exec failed: exec failed: container_linux.go:345: starting container
kubectl
像这样执行curl
命令
kubectl exec POD_NAME "curl -X PUT http://localhost:8080/abc -H \"Content-Type: application/json\" -d '{\"name\":\"aaa\",\"no\":\"10\"}' "
贝洛布误差
OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"kubectl exec POD_NAME "curl -X PUT http://localhost:8080/abc -H \"Content-Type: application/json\" -d '{\"name\":\"aaa\",\"no\":\"10\"}'\":
stat kubectl exec POD_NAME "curl -X PUT http://localhost:8080/abc -H \"Content-Type: application/json\" -d '{\"name\":\"aaa\",\"no\":\"10\"}' ": no such file or directory"
:unknown command terminated with exit code 126
我曾试图逃避引用,但没有运气。然后我尝试了简单的卷曲
kubectl exec -it POD_NAME curl http://localhost:8080/xyz
除此之外,这将提供适当的输出。有什么帮助吗
更新:
但是,当我运行容器的交互式(
kubectl exec-it POD_NAME/bin/bash
)模式,然后运行容器内部的curl时,就像champ一样,我认为您需要这样做:
kubectl exec POD_NAME curl "-X PUT http://localhost:8080/abc -H \"Content-Type: application/json\" -d '{\"name\":\"aaa\",\"no\":\"10\"}' "
错误表明它试图将
“
中的所有内容解释为单个命令,而不是带有参数的命令。所以它本质上是在寻找一个名为的可执行文件,该命令在Centos中对我有效。但如果使用windows,它将无法工作
kubectl-n elk exec-it eai-lf-elasticsearch-0--curl-XPUThttp://localhost:9200/_snapshot/testsnapfromcurl?pretty -H'内容类型:application/json'-d'{“Type”:“fs”,“settings”:{“location”:“/usr/share/elasticsearch/backups/testsnapfromcurl”}
默认容器名称为elasticsearch。
使用“kubectl Descripte pod/elasticsearch-0-n elk”查看该pod中的所有容器。
{
“已确认”:正确
}
正是因为这个原因,您不需要在那里加任何引号
kubectl exec POD_NAME--curl…
。否则,整个引号分隔的字符串将被视为单个参数。我认为这取决于您使用的shell,我使用的是powershell,因此--
不适用于我的powershell“
还表示单个字符串文字,因此是单个参数。