Saya perlu melekapkan direktori /var/lib/mysql sebagai volum berterusan supaya kandungan pangkalan data tidak hilang setiap kali komputer dimulakan semula (saya menggunakan Docker Desktop dan Windows).
但是启动Pod时,出现以下错误:
2023-03-07 21:10:15+00:00 [Nota] [Entrypoint]: Skrip Entrypoint untuk MySQL Server 8.0.32-1.el8 bermula. find: '/var/lib/mysql/': Operasi tidak dibenarkan find: '/var/lib/mysql': Operasi tidak dibenarkan chown: menukar pemilikan '/var/lib/mysql/': Operasi tidak dibenarkan chown: menukar pemilikan '/var/lib/mysql': Operasi tidak dibenarkan
这是部署文件:
jenis: StorageClass apiVersion: storage.k8s.io/v1 metadata: nama: storan tempatan pembekal: kubernetes.io/no-provisioner reclaimPolicy: Kekalkan volumeBindingMode: WaitForFirstConsumer --- apiVersion: v1 jenis: PersistentVolume metadata: nama: mysql-pv spesifikasi: kapasiti: penyimpanan: 500M volumMod: Sistem fail mod akses: - BacaTulis Sekali storageClassName: storan tempatan tempatan: laluan: /c/data/db nodeAffinity: diperlukan: nodeSelectorTerms: - matchExpressions: - kunci: kubernetes.io/hostname pengendali: Dalam nilai: - docker-desktop --- apiVersion: v1 jenis: PersistentVolumeClaim metadata: nama: mysql-pvc spesifikasi: mod akses: - BacaTulis Sekali storageClassName: storan tempatan sumber: permintaan: penyimpanan: 500M --- apiVersion: v1 jenis: Perkhidmatan metadata: nama: mysql spesifikasi: pemilih: aplikasi: mysql pelabuhan: - pelabuhan: 3306 TargetPort: 3306 --- apiVersion: v1 jenis: Perkhidmatan metadata: nama: mysql-lb spesifikasi: jenis: LoadBalancer pemilih: aplikasi: mysql pelabuhan: - pelabuhan: 3306 TargetPort: 3306 --- apiVersion: apps/v1 jenis: StatefulSet metadata: label: aplikasi: mysql nama: mysql spesifikasi: nama perkhidmatan: mysql replika: 1 pemilih: matchLabels: aplikasi: mysql templat: metadata: label: aplikasi: mysql spesifikasi: bekas: - imej: mysql:terkini nama: mysql pelabuhan: - Port kontena: 3306 sumber: {} volumeMounts: - nama: mysql-volume mountPath: /var/lib/mysql env: - nama: MYSQL_ROOT_PASSWORD nilai Daripada: configMapKeyRef: kunci: MYSQL_ROOT_PASSWORD nama: mysql-env - nama: MYSQL_ROOT_USERNAME nilai Daripada: configMapKeyRef: kunci: MYSQL_ROOT_USERNAME nama: mysql-env jilid: - nama: mysql-volume Tuntutan Volume berterusan: Nama tuntutan: mysql-pvc
如果我对卷使用另一个装载路径,pod 会启动,但当然,每次重新启动计无算会丢失。
Saya juga cuba menukar pemilik direktori dengan melaksanakan perintah chown sebelum memasang kelantangan:
bekas: - imej: mysql:terkini nama: mysql pelabuhan: - Port kontena: 3306 sumber: {} perintah: - chown - -R - 999:999 - /var/lib/mysql volumeMounts: - nama: mysql-volume mountPath: /var/lib/mysql
Tetapi apabila memulakan pod saya mendapat ralat berikut:
Terima kasih atas bantuan anda.
Tambah
Pada komponen StatefulSet