Kubernetes notes
A simple collection of notes from my explorations of Kubeflow cluster.
Kubernetes debug and data transfer pod (06/15/2021)
I could not make kubectl cp
work to transfer some files from my pod molbartpytorch2-0 running docker
image pytorch:1.8.0-cuda11.1-cudnn8-devel-rdkit2
to my local machine. It must be some problem with tar
in the docker image, kubectl cp
always throwing error: archive/tar: invalid tar header
.
So I decided a workaround. I deployed a container ubuntu-pvc running ubuntu
docker
image that mounts the persistent volume claim named deepchem2 (also mounted and used by molbartpytorch2-0) that sleeps for a year. The sleep
is necessary to make sure the container keeps on running and does not exit immediately.
The yaml
file ubuntupvc.yaml
to deplying thepod
running ubuntu
is given below:
apiVersion: v1
kind: Pod
metadata:
name: ubuntu-pvc
labels:
app: ubuntu-pvc
spec:
volumes:
- name: deepchem2
persistentVolumeClaim:
claimName: deepchem2
containers:
- name: ubuntu-pvc
image: ubuntu:latest
volumeMounts:
- mountPath: "/storage"
name: deepchem2
command: ["/bin/sleep", "3650d"]
imagePullPolicy: IfNotPresent
restartPolicy: Always
Just to kubectl apply -f ubuntupvc.yaml
to deploy the ubuntu container.
Then kubectl get pod ubuntu-pvc
shows
NAME | READY | STATUS | RESTARTS | AGE |
---|---|---|---|---|
ubuntu-pvc | 1/1 | Running | 0 | 3m |
Once the pod is running, kubectl exec ubuntu-pvc -- ls /storage/
showed me that the persistent volume claim deepchem2 is mounted at /storage
. Also I could have checked it my first getting a terminal to the container using kubectl exec --tty --stdin ubuntu-pvc -- /bin/bash
Now to copy my required files from /storage/data
to folder mydata
, I do:
kubectl cp ubuntu-pvc:storage/data mydata
. This works!!