Я пытаюсь запустить инди-узлы в кубернетах. Эти независимые узлы являются узлами песочницы и записывают данные в каталог /var/lib/indy
внутри контейнера. Когда я запускаю модуль с смонтированным томом, он ничего не записывает в каталог тома. Хотя он создает каталог внутри тома, он все время пуст. Однако, когда я создаю модуль без опции монтирования тома, контейнер записывает данные внутри /var/lib/indy
.
Ниже приведен файл Docker:
Hastebin: https://hastebin.com/hitinefizi.nginx
Развертывание Kubernetes:
{{- $root := .}}
{{- range .Values.indy}}
---
apiVersion: apps/v1
kind: Deployment
metadata:
# namespace: {{$root.Values.namespace}}
name: {{.name}}
spec:
selector:
matchLabels:
name: {{.name}}
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
name: {{.name}}
spec:
containers:
- name: {{.name}}
image: {{.image}}
volumeMounts:
- name: {{$root.Values.pv.metadata.name}}
mountPath: "/var/lib/indy/sandbox"
subPath: "volume/indy/{{.name}}/sandbox"
ports:
- containerPort: {{ index .ports 0 }}
- containerPort: {{ index .ports 1 }}
nodeSelector:
nodeType: {{$root.Values.hosts.blockchain}}
volumes:
- name: {{$root.Values.pv.metadata.name}}
{{- if eq $root.Values.storage.type "nfs" }}
persistentVolumeClaim:
claimName: {{$root.Values.pvc.metadata.name}}
{{- else }}
hostPath:
path: /var/kubeshare/
{{- end }}
{{- end}}
Каталог внутри тома:
[root@centos1 kubeshare]# tree volume/indy/
volume/indy/
|-- indy-node1
|-- indy-node2
|-- indy-node3
`-- indy-node
Каталог /var/lib/indy
внутри контейнера без тома:
root@indy-node1-587c4758bf-2hpp6:/var/lib/indy# tree -L 3
.
|-- plugins
`-- sandbox
|-- data
| `-- Node1
|-- domain_transactions_genesis
|-- keys
| |-- Node1
| |-- Node1C
| |-- Node2
| |-- Node3
| `-- Node4
|-- node1_additional_info.json
|-- node1_info.json
|-- node1_version_info.json
`-- pool_transactions_genesis
Я не уверен, почему это происходит. Любая помощь / предложения будут оценены.
Обновление: то же самое происходит с docker-compose, когда я пытаюсь использовать локальный том.