В моем варианте использования два модуля используют один и тот же том. Один модуль записывает журналы и данные приложения c в монтируемый том, а другой модуль считывает данные с того же монтируемого тома для последующей обработки. Следующие ниже примеры не отражают точный дизайн, но я пытаюсь показать, что «my-pv-claim
» используется двумя модулями.
apiVersion: v1
kind: Pod
metadata:
name: main-pod-1
spec:
volumes:
- name: pod-1-storage
persistentVolumeClaim:
claimName: my-pv-claim
containers:
- name: pod-1-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/"
name: my-pod-1-storage
-
apiVersion: v1
kind: Pod
metadata:
name: post-processing-pod-2
spec:
volumes:
- name: pod-2-storage
persistentVolumeClaim:
claimName: my-pv-claim
containers:
- name: pod-2-container
image: nginx
ports:
- containerPort: 80
name: "http-server"
volumeMounts:
- mountPath: "/usr/share/nginx/"
name: my-pod-2-storage
Тома, поддерживающие маркировку SE Linux, помечаются заново, чтобы они были доступны по метке, указанной в seLinuxOptions. Это устанавливает метку безопасности нескольких категорий (MCS), присвоенную всем контейнерам в модуле, а также томам.
В моем примере, если я использую следующую метку SE Linux под модулем main-pod-1
' s securityContext, том, смонтированный (my-pv-claim
) в этом модуле, также получит ту же метку SE Linux MCS, т.е. s0:c123,c456
securityContext:
seLinuxOptions:
level: "s0:c123,c456"
Все модули с одинаковой меткой могут получить доступ к тому. Но то, что я ищу, - это способ иметь уникальные метки на уровне Pod и одинаковые метки томов, чтобы совместно использовалось только монтирование тома (my-pv-claim
).
Ищу некоторые указатели. Любая помощь будет оценена. Спасибо.