Trident: CSINode tidak mengandung driver csi.trident.netapp.io

Dibuat pada 21 Okt 2020  ·  6Komentar  ·  Sumber: NetApp/trident

Keterangan
Menggunakan operator trisula dan kubernetes 1.17.6, saya dapat membuat volume persisten, tetapi tidak dapat memasangnya ke dalam pod.

Saat mendapatkan deskripsi pod, kesalahan berikut dikembalikan:
CSINode does not contain driver csi.trident.netapp.io

Lingkungan

  • Versi trisula: [20.07.1]
  • Bendera instalasi trisula yang digunakan: [tidak ada tanda khusus, karena kami menggunakan lokasi default /var/lib/kubelet]
  • Waktu proses kontainer: [Docker 19.3.12]
  • Versi Kubernetes: [ 1.17.6]
  • Orkestra Kubernetes: [tidak ada]
  • Gerbang fitur yang diaktifkan Kubernetes: [tidak diperlukan]
  • OS: [Centos 7 - 3.10.0-1062.12.1.el7.x86_64]
  • Jenis backend NetApp: [ OnTap 9.7 ]
  • Lainnya:

Untuk Mereproduksi
Instal operator seperti yang disediakan di sini: https://netapp-trident.readthedocs.io/en/stable-v20.07/kubernetes/deploying/operator-deploy.html

Setelah membuat kelas penyimpanan, dan konsumen, pv terikat, tetapi pod tidak dapat melampirkan volume secara lokal ke pekerja

Perilaku yang diharapkan
Pod diharapkan untuk memasang volume dan berjalan. sebaliknya itu hanya tetap dalam "tertunda"
konteks tambahan
Deskripsi polong:
```kubectl -n test mendeskripsikan po web-0
Peringatan FailedScheduling 11s (x2 over 12s) kesalahan penjadwalan default saat menjalankan plugin filter "VolumeBinding" untuk pod "web-0": pod memiliki PersistentVolumeClaims langsung yang tidak terikat
Penjadwal default 9s Terjadwal Normal Berhasil menetapkan tes/web-0 ke hh1kbw02x
Peringatan GagalLampirkanVolume(x6 lebih) attachdetach-controller AttachVolume.Attach gagal untuk volume "pvc-934230b9-900c-4539-bb0c-8feff6e18628" : CSINode hh1kbw02x tidak mengandung driver csi.trident.netapp.io
Peringatan GagalLampirkanVolume(x6 lebih) attachdetach-controller AttachVolume.Attach gagal untuk volume "pvc-f4c2b654-ff73-4dd5-84ef-a31491b83f26" : CSINode hh1kbw02x tidak mengandung driver csi.trident.netapp.io



Logs from trident on this worker:

kubectl -n log trisula trisula-csi-9sgrt -c trisula-main -f
time="2020-10-21T17:15:31Z" level=debug msg="n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> nPUT https://10.111.4.90 :34571/trident/v1/node/hh1kbw02xnHeaders: map[Content-Type:[application/json]]nBody: {n "name": "hh1kbw02x",n "ips": [n "10.49.12.102",n "172.17.0.1"n ]n}n--------------------------------- -----------------------------------------------"
time="2020-10-21T17:15:32Z" level=debug msg="n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


Logs from registrar sidecar on this worker:

kubectl -n log trisula trident-csi-9sgrt -c driver-registrar
I1021 17:14:18.636803 6672 main.go:110] Versi: v1.3.0-0-g6e9fff3e
I1021 17:14:18.636888 6672 main.go:120] Mencoba membuka koneksi gRPC dengan: "/plugin/csi.sock"
I1021 17:14:18.636908 6672 connection.go:151] Menghubungkan ke unix:///plugin/csi.sock
I1021 17:14:18.637420 6672 main.go:127] Memanggil driver CSI untuk menemukan nama driver
I1021 17:14:18.637435 6672 koneksi.go:180] GRPC panggilan: /csi.v1.Identity/GetPluginInfo
I1021 17:14:18.637442 6672 connection.go:181] Permintaan GRPC: {}
I1021 17:14:18.639851 6672 connection.go:183] Tanggapan GRPC: {"name":"csi.trident.netapp.io","vendor_version":"20.07.1"}
I1021 17:14:18.640235 6672 connection.go:184] Kesalahan GRPC:
I1021 17:14:18.640242 6672 main.go:137] Nama driver CSI: "csi.trident.netapp.io"
I1021 17:14:18.648537 6672 node_register.go:51] Memulai Server Pendaftaran di: /registration/csi.trident.netapp.io-reg.sock
I1021 17:14:18.648666 6672 node_register.go:60] Server Pendaftaran dimulai di: /registration/csi.trident.netapp.io-reg.sock


Description of csi node

kubectl get csinode hh1kbw02x -n trident -o yaml
apiVersi: storage.k8s.io/v1
jenis: CSINode
metadata:
pembuatanTimestamp: 2020-09-10T07:58:40Z
nama: hh1kbw02x
referensi pemilik:

  • apiVersi: v1
    jenis: Node
    nama: hh1kbw02x
    uid: d3db28d6-e2be-4ad4-8534-c853b2e025b5
    versi sumber daya: "30914526"
    selfLink: /apis/storage.k8s.io/v1/csinodes/hh1kbw02x
    uid: a764977a-be67-4ee9-8b7e-9aac304e0890
    spesifikasi:
    driver: null

Log Kubelet:
6 Nov 10:14:18 hh1kbw01x kubelet: I1106 10:14:18.883059 2393reconcioner.go:209] operationExecutor.VerifyControllerAttachedVolume dimulai untuk volume "pvc-3bcc4e38-2e69-4541-9910-711d2c086671" (UniqueName: "kubernetes.io csi/csi.trident.netapp.io^pvc-3bcc4e38-2e69-4541-9910-711d2c086671") pod "web-0" (UID: "a235d5f9-05bf-4c77-8a84-e48f2f657d98")
6 Nov 10:14:18 hh1kbw01x kubelet: E1106 10:14:18.883223 2393 nestedpendingoperations.go:301] Operasi untuk "{v olumeName:kubernetes.io/csi/csi.trident.netapp.io ^pvc-3bcc4e38-2e69- 4541-9910-711d2c086671 podName: nodeName:}" gagal. Tidak ada percobaan ulang yang diizinkan hingga 06-11-2020 10:14:19.383183856 +0100 CET m=+1353591.737508759 (durasiBeforeRetry 500ms). Kesalahan: "Volume belum ditambahkan ke daftar VolumesInUse dalam status volume simpul untuk volume "pvc-3bcc4e38-2e69-4541-9910-711d2c086671" (Nama Unik: "kubernetes.io/csi/csi.trident.netapp.io ^pvc-3bcc4e38-2e69-4541-9910-711d2c086671") pod "web-0" (UID: "a235d5f9-05bf-4c77-8a84-e48f2f657d98") "
6 Nov 10:14:18 hh1kbw01x kubelet: I1106 10:14:18.983580 2393reconcioner.go:209] operationExecutor.VerifyControllerAttachedVolume dimulai untuk volume "pvc-f138b6cc-988b-455c-bb2e-fce022755634" (UniqueName: "kubernetes.io/kubernetes csi/csi.trident.netapp.io^pvc-f138b6cc-988b-455c-bb2e-fce022755634") pod "web-0" (UID: "a235d5f9-05bf-4c77-8a84-e48f2f657d98")
6 Nov 10:14:18 hh1kbw01x kubelet: E1106 10:14:18.983662 2393 nestedpendingoperations.go:301] Operasi untuk "{v olumeName:kubernetes.io/csi/csi.trident.netapp.io ^pvc-f138b6cc-988b- 455c-bb2e-fce022755634 podName: nodeName:}" gagal. Tidak ada percobaan ulang yang diizinkan hingga 06-11-2020 10:14:19.483629729 +0100 CET m=+1353591.837954619 (durationBeforeRetry 500ms). Kesalahan: "Volume belum ditambahkan ke daftar VolumesInUse dalam status volume node untuk volume "pvc-f138b6cc-988b-455c-bb2e-fce022755634" (Nama Unik: "kubernetes.io/csi/csi.trident.netapp.io ^pvc-f138b6cc-988b-455c-bb2e-fce022755634") pod "web-0" (UID: "a235d5f9-05bf-4c77-8a84-e48f2f657d98") "
6 Nov 10:14:19 hh1kbw01x kubelet: I1106 10:14:19.385072 2393 Reconcioner.go:209] operationExecutor.VerifyControllerAttachedVolume dimulai untuk volume "pvc-3bcc4e38-2e69-4541-9910-711d2c086671" (UniqueName: "kubernetes.io/kubernetes" csi/csi.trident.netapp.io^pvc-3bcc4e38-2e69-4541-9910-711d2c086671") pod "web-0" (UID: "a235d5f9-05bf-4c77-8a84-e48f2f657d98")
```

bug

Komentar yang paling membantu

Jadi saya memperbaikinya, jika saya boleh mengatakannya. Setelah membaca cara kerja penyedia penyimpanan eksternal, dan memahami konsep pendaftaran pengemudi menggunakan wadah sespan, saya meninjau pengaturan kami.

Itu sangat menyesatkan, karena kami mengkonfigurasi kubelet kami untuk memulai dengan file konfigurasi yang berada di bawah /var/lib/kubelet, yang merupakan root-dir default.

Beberapa bulan yang lalu kami memutuskan untuk membagi otak, dan memindahkan pod dan wadah ke lokasi penyimpanan yang terpisah, jadi kami memisahkan manajemen dari operasi

Oleh karena itu kami mengubah root-dir di file konfigurasi untuk menunjuk ke /containers alih-alih /var/lib/kubelet

Penyedia trisula default akan mencari di lokasi default, dan "menyematkan" plugin, jadi katakanlah.

Jadi, Anda perlu memeriksa dua hal:

  1. ps aux | grep kubelet | grep -e 'root-dir -> ambil folder yang dikonfigurasi (dalam kasus saya itu adalah /container)
  2. ubah trident_provisioner_cr.yaml, dan sesuaikan dengan menambahkan parameter " kubeletDir "
    apiVersion: trident.netapp.io/v1 kind: TridentProvisioner metadata: name: trident namespace: trident spec: debug: true kubeletDir: /container

Semoga berhasil. Saya menutup ini.

Semua 6 komentar

Masalah identik di sini dengan Rancher RKE dan K8S (v1.18.10) dan node yang menjalankan Ubuntu 18.04.4 LTS dengan Docker 19.3.13 sisanya cocok dengan lingkungan yang disebutkan di atas...

sama di sini dengan k8 hulu di ubuntu 18.04

Saya dapat "menyelesaikannya" dengan menerapkan kembali daemonset dan penyebaran trident-csi dan memulai kembali kubelet setelahnya

ya. saya menggunakan tridentctl sebagai ganti operator.

Jadi saya memperbaikinya, jika saya boleh mengatakannya. Setelah membaca cara kerja penyedia penyimpanan eksternal, dan memahami konsep pendaftaran pengemudi menggunakan wadah sespan, saya meninjau pengaturan kami.

Itu sangat menyesatkan, karena kami mengkonfigurasi kubelet kami untuk memulai dengan file konfigurasi yang berada di bawah /var/lib/kubelet, yang merupakan root-dir default.

Beberapa bulan yang lalu kami memutuskan untuk membagi otak, dan memindahkan pod dan wadah ke lokasi penyimpanan yang terpisah, jadi kami memisahkan manajemen dari operasi

Oleh karena itu kami mengubah root-dir di file konfigurasi untuk menunjuk ke /containers alih-alih /var/lib/kubelet

Penyedia trisula default akan mencari di lokasi default, dan "menyematkan" plugin, jadi katakanlah.

Jadi, Anda perlu memeriksa dua hal:

  1. ps aux | grep kubelet | grep -e 'root-dir -> ambil folder yang dikonfigurasi (dalam kasus saya itu adalah /container)
  2. ubah trident_provisioner_cr.yaml, dan sesuaikan dengan menambahkan parameter " kubeletDir "
    apiVersion: trident.netapp.io/v1 kind: TridentProvisioner metadata: name: trident namespace: trident spec: debug: true kubeletDir: /container

Semoga berhasil. Saya menutup ini.

Mengamati sesuatu yang serupa ketika pod daemonset trident-csi tidak dapat berkomunikasi dengan trident-controller . Dalam hal ini, itu karena kebijakan jaringan yang mencegahnya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat