在我的 DO 服务器上,我试图在 中运行kubectl get deployments -o=json
,shell_exec
但它要么返回,要么返回null
一个空列表:
{
"apiVersion": "v1",
"items": [],
"kind": "List",
"metadata": {
"resourceVersion": "",
"selfLink": ""
}
}
但是当我在本地运行它时,它可以工作:
{
"apiVersion": "v1",
"items": [
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"annotations": {
"deployment.kubernetes.io/revision": "1",
"kubectl.kubernetes.io/last-applied-configuration": "..."
},
"creationTimestamp": "2021-09-23T11:41:11Z",
"generation": 1,
"name": "database-1911797883",
"namespace": "default",
"resourceVersion": "...",
"uid": "..."
},
"spec": {
...
"replicas": 1,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"app": "database-1911797883"
}
},
"template": {
"metadata": {
"creationTimestamp": null,
"labels": {
"app": "database-1911797883"
}
},
"spec": {
"containers": [
{
"image": "...",
"imagePullPolicy": "Always",
"name": "database-1911797883",
"resources": {},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File"
}
],
"dnsPolicy": "ClusterFirst",
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {},
"terminationGracePeriodSeconds": 30
}
}
},
"status": {
"availableReplicas": 1,
"conditions": [
...
],
"observedGeneration": 1,
"readyReplicas": 1,
"replicas": 1,
"updatedReplicas": 1
}
}
],
"kind": "List",
"metadata": {
"resourceVersion": "",
"selfLink": ""
}
}
我知道这shell_exec
在 php-fpm 中没有被禁用,并且在cli 和 clikubectl config view
中都打印了相同的值。shell_exec
我配置为以通过 cli 执行命令的同一用户身份运行 php-fpm。