5
Con il comando, posso aggiungere l'etichetta come di seguitokubernetes API: aggiungere l'etichetta Pod
kubectl label pod POD_NAME KEY1=VALUE1
Come potrei farlo da kubernetes API?
Credo che può essere fatto da PATCH /api/v1/namespaces/{namespace}/pods/{name}
Ecco pod.json
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"key1": "value1"
}
}
}
ho provato con seguente comando
KUBE_TOKEN=$(</var/run/secrets/kubernetes.io/serviceaccount/token)
curl --request PATCH --insecure \
--header "Authorization: Bearer $KUBE_TOKEN" \
--data "$(cat pod.json)" \
https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1/namespaces/$POD_NAMESPACE/pods/$POD_NAME
e restituisce
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "the server responded with the status code 415 but did not return more information",
"details": {},
"code": 415
}
'Content-Type: application/merge-planare + json' funziona per me –
Ho fatto questo per aggiungere semplici etichette come: "ciao = mondo", nell'esempio di cui sopra. Ma puoi usare questo approccio per aggiungere un'etichetta come: "dominio.com/hello=world"? "percorso": "/ metadata/labels/domain.com/hello" non sembra funzionare, né i vari metodi che ho provato a sfuggire alla "/" in "dominio.com/hello". –
Hai provato a unire patch. Cerca l'unione in https://github.com/kubernetes/kubernetes/blob/master/docs/devel/api-conventions.md –