Sto giocando con kubernetes e google container engine (GKE).Il contenitore Docker con utente non root distribuito in Google Container Engine non può scrivere sul disco persistente montato GCE
ho schierato un contenitore da questa immagine jupyter/all-spark-notebook
Questo è il mio controller di replica:
{
"apiVersion": "v1",
"kind": "ReplicationController",
"metadata": {
"name": "datalab-notebook"
},
"spec": {
"replicas": 1,
"selector": {
"app": "datalab-notebook"
},
"template": {
"metadata": {
"name": "datalab-notebook",
"labels": {
"environment": "TEST",
"app": "datalab-notebook"
}
},
"spec": {
"containers": [{
"name": "datalab-notebook-container",
"image": "jupyter/all-spark-notebook",
"env": [],
"ports": [{
"containerPort": 8888,
"name": "datalab-port"
}],
"volumeMounts": [{
"name": "datalab-notebook-persistent-storage",
"mountPath": "/home/jovyan/work"
}]
}],
"volumes": [{
"name": "datalab-notebook-persistent-storage",
"gcePersistentDisk": {
"pdName": "datalab-notebook-disk",
"fsType": "ext4"
}
}]
}
}
}
}
Come potete vedere ho montato un disco persistente Google Compute Engine. Il mio problema è che il contenitore utilizza un utente non root e il disco montato è di proprietà di root. quindi il mio contenitore non può scrivere sul disco.
- Esiste un modo per montare GCE dischi persistenti e farli lettura/scrittura per i contenitori senza utenti non-root?
- Un'altra domanda generale: è sicuro eseguire il contenitore con utente root in Google Container Engine?
Grazie in anticipo per il vostro input
Cosa definiresti sicuro? Perché GKE ti offre ogni VM che viene eseguita come parte del cluster di kubernetes, almeno fino a quel momento, non è sicuro che sia ancora così, ma credo di sì. Quindi un contenitore utente root equivale a eseguire root sul tuo host, quindi se l'applicazione funziona correttamente con root normalmente, allora dovresti stare bene –