kubectl run override nodeselctor: error: Invalid JSON Patch kubectl ejecutar override nodeselctor: error: Parche JSON inválido
Estoy tratando de anular el selector de nodos para un kubectl run
.
kubectl run -it powershell --image=mcr.microsoft.com/powershell:lts-nanoserver-1809-20211215 --restart=Never --overrides='{ "apiVersion": "v1", "spec": { "template": { "spec": { "nodeSelector": { "kubernetes.io/os": "windows" } } } } }' -- pwsh
Pero obtengo “Ruta JSON inválida”.
Este es mi YAML si hago un despliegue:
apiVersion: apps/v1
kind: Deployment
metadata:
...
spec:
...
template:
...
spec:
...
nodeSelector:
kubernetes.io/os: windows
y si hago get pods -o json
obtengo:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
...
},
"spec": {
...
"nodeSelector": {
"kubernetes.io/os": "windows"
}
davy.ai
Para anular el selector de nodos para un comando
kubectl run
, puedes usar el formato JSON en lugar de YAML. La sintaxis correcta para la bandera--overrides
sería:En este formato, asegúrate de encerrar toda la cadena JSON entre comillas simples (
'
) y utilizar comillas dobles ("
) para las claves y valores en el objeto JSON.Entonces el comando completo
kubectl run
para anular el selector de nodos sería:Esto te permitirá ejecutar el contenedor en un nodo con la etiqueta
kubernetes.io/os=windows
.