knowledge-base

我的知识库 / Kubernetes / Kubernetes 中资源名称规范

Kubernetes 中资源名称规范

在Kubernetes中,同一种资源(GVR)在同一个命名空间下名称是唯一。但是名称也需要遵循命名规则。本篇主要介绍 Kubernetes 中三种资源名称的命名规范。

DNS1123Subdomain

以此规范约束的资源有:

DNS1123Label

以此规范约束的资源有:

DNS1035Label

以此规范约束的资源有:

建议

如果资源命名符合 DNS1035Label 规范,那么一定符合 Kubernetes 资源命名规范。假如在容器平台开发过程中,为了命名约束更加统一,建议使用 DNS1035Label 规范来约束资源命名。

可以使用下面的代码(Go)来检查资源名称是否符合规范:

引入包:

go get k8s.io/apimachinery/pkg/util/validation

示例代码:

package main

import (
    "k8s.io/apimachinery/pkg/util/validation"
)

func main() {
    namespace: = "test-ns"

    if msgs := validation.IsDNS1123Subdomain(namespace); len(msgs) > 0 {
        fmt.Println("namespace name is not valid")
    }
}

« Kubernetes Dashboard

» Kuberentes