Вы сказали, что это только псевдонимы. В этом случае и только в этом случае вы можете сохранить. bash_profile
в ConfigMap
, используя --from-env-file
kubectl create configmap bash-profile --from-env-file=.bash_profile
Имейте в виду, что каждая строка в файле env должна быть в VAR =Формат VAL.
Строки с # в начале и пустые строки будут игнорироваться.
Затем можно загрузить все пары ключ-значение в качестве переменных среды контейнера:
apiVersion: v1
kind: Pod
metadata:
name: bash-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "env" ]
envFrom:
- configMapRef:
name: bash-profile
restartPolicy: Never
Или Заполнение тома данными, хранящимися в ConfigMap :
apiVersion: v1
kind: Pod
metadata:
name: bash-test-pod
spec:
containers:
- name: test-container
image: k8s.gcr.io/busybox
command: [ "/bin/sh", "-c", "ls /etc/config/" ]
volumeMounts:
- name: config-volume
mountPath: /root/.bash_profile
volumes:
- name: config-volume
configMap:
# Provide the name of the ConfigMap containing the files you want
# to add to the container
name: bash-profile
restartPolicy: Never
Идея, упомянутая @ Mark , также должна работать.
Если вы делаете kubectl cp .bash_profile <pod_name>:/root/
, если вам нужно поместить его в определенные контейнеры, вы можете добавить опцию -c, --container='': Container name. If omitted, the first container in the pod will be chosen
.