وصف
باستخدام مشغل ترايدنت و kubernetes 1.17.6 ، يمكنني إنشاء مجلدات ثابتة ، لكن لا يمكنني تركيبها في الكبسولات.
عند الحصول على وصف الحجرة ، يتم إرجاع الخطأ التالي:
CSINode does not contain driver csi.trident.netapp.io
بيئة
لإعادة إنتاج
تثبيت عامل التشغيل كما هو موضح هنا: https://netapp-trident.readthedocs.io/en/stable-v20.07/kubernetes/deploying/operator-deploy.html
بعد إنشاء فئة التخزين ، والمستهلك ، يتم ربط pv ، لكن الكبسولة لا يمكنها إرفاق وحدة التخزين محليًا بالعامل
سلوك متوقع
كان من المتوقع أن يقوم الجراب بتحميل وحدة التخزين وتشغيله. بدلا من ذلك يبقى فقط في "معلق"
سياق إضافي
وصف جراب:
يصف اختبار kubectl -n po web-0
فشل التحذير
عادي مجدول افتراضي 9s مجدول تم بنجاح تعيين test / web-0 إلى hh1kbw02x
فشل التحذير
فشل التحذير
Logs from trident on this worker:
kubectl -n trident logs trident-csi-9sgrt -c trident-main -f kubectl -n trident logs trident-csi-9sgrt -c driver-registrar kubectl الحصول على csinode hh1kbw02x -n ترايدنت -o yaml سجلات Kubelet:
الوقت = "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" ، ن "172.17.0.1" n] n} n --------------------------------- ----------------------------------------------- "
الوقت = "2020-10-21T17: 15: 32Z" المستوى = تصحيح الأخطاء msg = "n <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Logs from registrar sidecar on this worker:
I1021 17: 14: 18.636803 6672 main.go: 110] الإصدار: v1.3.0-0-g6e9fff3e
I1021 17: 14: 18.636888 6672 main.go: 120] محاولة فتح اتصال gRPC مع: "/plugin/csi.sock"
I1021 17:14: 18.636908 6672 connect.go: 151] التوصيل بـ unix: ///plugin/csi.sock
I1021 17: 14: 18.637420 6672 main.go: 127] استدعاء سائق CSI لاكتشاف اسم السائق
I1021 17: 14: 18.637435 6672 connect.go: 180] استدعاء GRPC: /csi.v1.Identity/GetPluginInfo
I1021 17: 14: 18.637442 6672 connect.go: 181] طلب GRPC: {}
I1021 17: 14: 18.639851 6672 connection.go: 183] استجابة GRPC: {"name": "csi.trident.netapp.io"، "vendor_version": "20.07.1"}
I1021 17:14: 18.640235 6672 connect.go: 184] خطأ GRPC:
I1021 17: 14: 18.640242 6672 main.go: 137] اسم برنامج تشغيل CSI: "csi.trident.netapp.io"
I1021 17: 14: 18.648537 6672 node_register.go: 51] بدء خادم التسجيل على: /registration/csi.trident.netapp.io-reg.sock
I1021 17:14: 18.648666 6672 node_register.go: 60] بدأ خادم التسجيل في: /registration/csi.trident.netapp.io-reg.sock
Description of csi node
الإصدار: storage.k8s.io/v1
النوع: CSINode
البيانات الوصفية:
الخلق الطابع الزمني: 2020-09-10T07: 58: 40Z
الاسم: hh1kbw02x
المالك المراجع:
النوع: عقدة
الاسم: hh1kbw02x
uid: d3db28d6-e2be-4ad4-8534-c853b2e025b5
الموارد الإصدار: "30914526"
selfLink: /apis/storage.k8s.io/v1/csinodes/hh1kbw02x
uid: a764977a-be67-4ee9-8b7e-9aac304e0890
المواصفات:
السائقين: لاغية
6 تشرين الثاني (نوفمبر) 10:14:18 hh1kbw01x kubelet: I1106 10: 14: 18.883059 2393augiler.go: 209] operationExecutor.VerifyControllerAttachedVolume بدأ لوحدة التخزين "pvc-3bcc4e38-2e69-4541-9910-711d2c086671" (UniqueesName: "kubernet.net csi / csi.trident.netapp.io ^ pvc-3bcc4e38-2e69-4541-9910-711d2c086671 ") pod" web-0 "(UID:" a235d5f9-05bf-4c77-8a84-e48f2f657d98 ")
6 تشرين الثاني (نوفمبر) 10:14:18 hh1kbw01x kubelet: E1106 10: 14: 18.883223 2393 nestedpendingoperations.go: 301] عملية لـ "{v olumeName: kubernetes.io/csi/csi.trident.netapp.io ^ pvc-3bcc4e38-2e69- 4541-9910-711d2c086671 podName: nodeName:} "فشل. لا يُسمح بإعادة المحاولة حتى 2020-11-06 10: 14: 19.383183856 +0100 CET م = + 1353591.737508759 (المدة قبل إعادة المحاولة 500 مللي ثانية). خطأ: "لم تتم إضافة وحدة التخزين إلى قائمة VolumesInUse في حالة وحدة تخزين العقدة لوحدة التخزين" 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 10:14:18 hh1kbw01x kubelet: I1106 10: 14: 18.983580 2393augiler.go: 209] operationExecutor.VerifyControllerAttachedVolume قيد التشغيل لوحدة التخزين "pvc-f138b6cc-988b-455c-bb2e-fce022755634" (Uniqueesio.io: " csi / csi.trident.netapp.io ^ pvc-f138b6cc-988b-455c-bb2e-fce022755634 ") pod" web-0 "(UID:" a235d5f9-05bf-4c77-8a84-e48f2f657d98 ")
6 تشرين الثاني (نوفمبر) 10:14:18 hh1kbw01x kubelet: E1106 10: 14: 18.983662 2393 nestedpendingoperations.go: 301] عملية لـ "{v olumeName: kubernetes.io/csi/csi.trident.netapp.io ^ pvc-f138b6cc-988b- 455c-bb2e-fce022755634 podName: nodeName:} "فشل. لا يُسمح بإعادة المحاولة حتى 2020-11-06 10: 14: 19.483629729 +0100 CET م = + 1353591.837954619 (المدة قبل إعادة المحاولة 500 مللي ثانية). خطأ: "لم تتم إضافة وحدة التخزين إلى قائمة VolumesInUse في حالة وحدة تخزين العقدة لوحدة التخزين" pvc-f138b6cc-988b-455c-bb2e-fce022755634 "(UniqueName:" kubernetes.io/csi/csi.trident.netapp.io ^ pvc-f138b6cc-988b-455c-bb2e-fce022755634 ") pod" web-0 "(UID:" a235d5f9-05bf-4c77-8a84-e48f2f657d98 ")"
6 تشرين الثاني (نوفمبر) 10:14:19 hh1kbw01x kubelet: I1106 10: 14: 19.385072 2393augiler.go: 209] operationExecutor.VerifyControllerAttachedVolume بدأ تشغيلها لوحدة التخزين "pvc-3bcc4e38-2e69-4541-9910-711d2c086671" (UniqueesName: "kubernet csi / csi.trident.netapp.io ^ pvc-3bcc4e38-2e69-4541-9910-711d2c086671 ") pod" web-0 "(UID:" a235d5f9-05bf-4c77-8a84-e48f2f657d98 ")
""
مشكلة مماثلة هنا مع Rancher RKE و K8S (v1.18.10) والعقد التي تقوم بتشغيل Ubuntu 18.04.4 LTS مع Docker 19.3.13 ، تطابق بقية البيئة المذكورة أعلاه ...
نفس الشيء هنا مع k8s المنبع على أوبونتو 18.04
تمكنت من "حلها" من خلال إعادة نشر كل من مجموعة ترايدنت-سي إس آي ، ونشر وإعادة تشغيل كوبليت بعد ذلك
نعم. لقد استخدمت tridentctl
بدلاً من عامل التشغيل.
لذلك أصلحته ، إذا جاز لي أن أقول ذلك. بعد قراءة كيفية عمل مزود التخزين الخارجي ، وفهم مفهوم تسجيل برنامج التشغيل باستخدام الحاوية الجانبية ، قمت بمراجعة الإعداد الخاص بنا.
لقد كان مضللاً للغاية ، لأننا قمنا بتكوين الكوبيليتات الخاصة بنا للبدء بملفات التكوين الموجودة تحت / var / lib / kubelet ، وهو مسار الجذر الافتراضي.
منذ شهرين ، قررنا تقسيم الدماغ ، ونقل الكبسولات والحاويات إلى موقع تخزين منفصل ، لذلك قمنا بفصل الإدارة عن العملية
لذلك قمنا بتغيير root-dir في ملف التكوين للإشارة إلى / حاويات بدلاً من / var / lib / kubelet
سيبحث موفر ترايدنت الافتراضي في الموقع الافتراضي ، و "يدمج" الملحقات ، إذا جاز التعبير.
لذلك عليك التحقق من شيئين:
ps aux | grep kubelet | grep -e 'root-dir
-> أخذ المجلد الذي تم تكوينه (في حالتي كان المجلد / الحاوية)apiVersion: trident.netapp.io/v1
kind: TridentProvisioner
metadata:
name: trident
namespace: trident
spec:
debug: true
kubeletDir: /container
حظا سعيدا أنا أغلق هذا.
لوحظ شيئًا مشابهًا عندما لا تتمكن كبسولات daemonset trident-csi
من الاتصال بـ trident-controller
. في هذه الحالة ، كان ذلك بسبب سياسة الشبكة التي منعتها.
التعليق الأكثر فائدة
لذلك أصلحته ، إذا جاز لي أن أقول ذلك. بعد قراءة كيفية عمل مزود التخزين الخارجي ، وفهم مفهوم تسجيل برنامج التشغيل باستخدام الحاوية الجانبية ، قمت بمراجعة الإعداد الخاص بنا.
لقد كان مضللاً للغاية ، لأننا قمنا بتكوين الكوبيليتات الخاصة بنا للبدء بملفات التكوين الموجودة تحت / var / lib / kubelet ، وهو مسار الجذر الافتراضي.
منذ شهرين ، قررنا تقسيم الدماغ ، ونقل الكبسولات والحاويات إلى موقع تخزين منفصل ، لذلك قمنا بفصل الإدارة عن العملية
لذلك قمنا بتغيير root-dir في ملف التكوين للإشارة إلى / حاويات بدلاً من / var / lib / kubelet
سيبحث موفر ترايدنت الافتراضي في الموقع الافتراضي ، و "يدمج" الملحقات ، إذا جاز التعبير.
لذلك عليك التحقق من شيئين:
ps aux | grep kubelet | grep -e 'root-dir
-> أخذ المجلد الذي تم تكوينه (في حالتي كان المجلد / الحاوية)apiVersion: trident.netapp.io/v1 kind: TridentProvisioner metadata: name: trident namespace: trident spec: debug: true kubeletDir: /container
حظا سعيدا أنا أغلق هذا.