gpt4 book ai didi

kubernetes - Kubernetes 中注释值的语法是什么?

转载 作者:行者123 更新时间:2023-12-02 18:39:18 50 4
gpt4 key购买 nike

根据 Kubernetes 文档

The metadata in an annotation can be small or large, structured or unstructured, and can include characters not permitted by labels.

Annotations, like labels, are key/value maps

然后是a detailed explanation关于注释键的语法。但它对值(value)部分只字不提。

在哪里可以找到有关 Kubernetes 中注释值的允许长度和字符集的更多信息?

最佳答案

Here您可以在当前主控中找到验证注释的代码:

func ValidateAnnotations(annotations map[string]string, fldPath *field.Path) field.ErrorList {
allErrs := field.ErrorList{}
for k := range annotations {
for _, msg := range validation.IsQualifiedName(strings.ToLower(k)) {
allErrs = append(allErrs, field.Invalid(fldPath, k, msg))
}
}
if err := ValidateAnnotationsSize(annotations); err != nil {
allErrs = append(allErrs, field.TooLong(fldPath, "", TotalAnnotationSizeLimitB))
}
return allErrs
}

keys 根据您提到的规则进行验证。唯一应用于值的验证是 total length of all annotations (键的大小 + 所有注释的值的大小)不能超过 256 kB。

const TotalAnnotationSizeLimitB int = 256 * (1 << 10) // 256 kB

...

func ValidateAnnotationsSize(annotations map[string]string) error {
var totalSize int64
for k, v := range annotations {
totalSize += (int64)(len(k)) + (int64)(len(v))
}
if totalSize > (int64)(TotalAnnotationSizeLimitB) {
return fmt.Errorf("annotations size %d is larger than limit %d", totalSize, TotalAnnotationSizeLimitB)
}
return nil
}

关于kubernetes - Kubernetes 中注释值的语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68268493/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com