Kubernetes中的所有系统服务都部署到一个命名空间,通常称为kube-system
。那是哪里来的如果我想将其更改为另一个名称空间怎么办?
答案 0 :(得分:4)
Kubernetes中的所有系统服务都部署到一个命名空间,通常称为kube-system。那是哪里来的?
如the nice documentation中所述,Kubernetes最初从三个名称空间开始:
您可以使用default
上下文处理将kubectl config
命名空间更改为自己喜欢的任何命名空间。
如果我想将其更改为另一个名称空间怎么办?
那将是一个复杂而又冒险的工作...对于kubeadm创建的集群,您可以在/ etc / kubernetes / manifests中找到适当的清单,但不仅仅是在此处更改名称空间,还有一系列配置映射,证书和需要考虑名称空间的事物。并且即使您设法这样做,deprication of api-server flag master-service-namespace
背后也有原因,因为您可以破坏GKE隐式引用,并且可能会出现类似的问题。归结为,实际上不建议更改kube-system命名空间。
下面是kuberentes source的摘录,您可以在其中看到这些命名空间的初始定义。
// NamespaceDefault means the object is in the default namespace which is applied when not specified by clients
NamespaceDefault string = "default"
// NamespaceAll is the default argument to specify on a context when you want to list or filter resources across all namespaces
NamespaceAll string = ""
// NamespaceNone is the argument for a context when there is no namespace.
NamespaceNone string = ""
// NamespaceSystem is the system namespace where we place system components.
NamespaceSystem string = "kube-system"
// NamespacePublic is the namespace where we place public info (ConfigMaps)
NamespacePublic string = "kube-public"
您可以通过代码库找到more references to kube-system,这是另一个示例:
// "kube-system" is the default scheduler lock object namespace
SchedulerDefaultLockObjectNamespace string = "kube-system"
依此类推...
答案 1 :(得分:1)
kube-system项目用作“ Kubernetes系统创建的对象的命名空间”
因此,我认为如果更改名称,在使用命名空间的某个地方会出现问题。