/ نوع الخطأ
أعتقد أن هذا خطأ
ماذا حدث :
نجح kubectl في التحقق من صحة ملف yaml الذي يحتوي على بيانات غير صالحة (انظر أدناه لمعرفة محتويات ملف yaml):
$ kubectl --context=minikube create --dry-run --validate -f invalid.yml
deployment "test" created (dry run)
ومع ذلك ، عند إصدار الأمر بدون التحقق من الصحة ، فإنه يفشل
$ kubectl --context=minikube apply -f invalid.yml
The Deployment "test" is invalid:
* metadata.labels: Invalid value: "£\"+=_+!¹²³€}{{@\"}{@~@:>?|\\|¬`}": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')
* spec.replicas: Invalid value: -100: must be greater than or equal to 0
* spec.selector.matchLabels: Invalid value: "£\"+=_+!¹²³€}{{@\"}{@~@:>?|\\|¬`}": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')
* spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"£\"+=_+!¹²³€}{{@\"}{@~@:>?|\\|¬`}"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: invalid label selector.
ما توقعت حدوثه :
kubectl create --dry-run --validate
الإبلاغ عن وجود أخطاء في ملف yaml
كيفية إعادة إنتاجه (بأقل قدر ممكن من الدقة والدقة) :
احفظ yaml أدناه في ملف yaml وقم بتطبيقه مرة واحدة باستخدام
kubectl create --dry-run --validate -f file.yaml
ثم انتقل إلى الحقيقة مع
kubectl create -f file.yaml
يمكن استخدام Minikube.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test
labels:
app: £"+=_+!¹²³€}{{@"}{@~@:>?|\|¬`}
namespace: default
spec:
replicas: -100
revisionHistoryLimit: 2
template:
metadata:
labels:
app: £"+=_+!¹²³€}{{@"}{@~@:>?|\|¬`}
spec:
containers:
- image: £"+=_+!¹²³€}{{@"}{@~@:>?|\|¬`}
name: £"+=_+!¹²³€}{{@"}{@~@:>?|\|¬`}
envFrom:
- secretRef:
name: £"+=_+!¹²³€}{{@"}{@~@:>?|\|¬`}
أي شيء آخر نحن بحاجة إلى معرفته؟ :
البيئة :
kubectl version
):NAME="Linux Mint"
VERSION="18.3 (Sylvia)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 18.3"
VERSION_ID="18.3"
VERSION_CODENAME=sylvia
UBUNTU_CODENAME=xenial
Kernel (على سبيل المثال uname -a
):
Linux nb 4.13.0-43-generic # 48 ~ 16.04.1-Ubuntu SMP الخميس 17 مايو 12:56:46 بالتوقيت العالمي المنسق 2018 x86_64 x86_64 x86_64 GNU / Linux
أدوات التثبيت:
/ سيج cli
التحقق من جانب العميل ليس شاملاً. يضمن بشكل أساسي أن أسماء الحقول وأنواعها في ملف yaml صالحة. يتم دائمًا إجراء التحقق الكامل من قبل الخادم ، ويمكنه دائمًا فرض قيود / قيود إضافية على التحقق من جانب العميل.
/أغلق
التعليق الأكثر فائدة
التحقق من جانب العميل ليس شاملاً. يضمن بشكل أساسي أن أسماء الحقول وأنواعها في ملف yaml صالحة. يتم دائمًا إجراء التحقق الكامل من قبل الخادم ، ويمكنه دائمًا فرض قيود / قيود إضافية على التحقق من جانب العميل.