Kubernetes 重命名集群

use*_*100 4 kubernetes

Kubernetes 新手。如何在 kubeadm init 后重命名集群。默认集群名称是 kubenetes,我想将其重命名为更有意义的名称。四处搜索,找不到任何说明。谢谢!

mar*_*rio 6

正如你可以在这里阅读:

在 期间kubeadm init,kubeadm在 命名空间中ClusterConfiguration 调用的 ConfigMap中将对象上传到您的集群。然后在、和期间读取此配置 。要查看此 ConfigMap 调用。kubeadm-configkube-systemkubeadm joinkubeadm resetkubeadm upgradekubeadm config view

除了kubeadm config view你可以kubectl get configmaps -n kube-system kubeadm-config -o yaml用来查看这个ConfigMap

您只需 kubeadm-config ConfigMap使用以下命令编辑即可更改 kubernetes 集群名称

kubectl edit configmaps -n kube-system kubeadm-config
Run Code Online (Sandbox Code Playgroud)

更改clusterName字段的值,例如:

clusterName: new-fancy-kubernetes-clustername
Run Code Online (Sandbox Code Playgroud)

保存对文件的更改后,您将看到成功编辑的确认:

configmap/kubeadm-config edited
Run Code Online (Sandbox Code Playgroud)

现在您可以使用kubeadm config view命令查看您的新集群名称:

# kubeadm config view
...
clusterName: new-fancy-kubernetes-clustername
...
Run Code Online (Sandbox Code Playgroud)

或者这样:

# kubectl get configmaps -n kube-system kubeadm-config -o yaml
...
    clusterName: new-fancy-kubernetes-clustername
...
Run Code Online (Sandbox Code Playgroud)

kubectl角度来看,您的kubernetes 集群的命名可以与kubeadm-config ConfigMap. 它们是独立配置的。实际上,在.kube/config文件中,您可以通过任何您想要的名称来引用您的集群,但是您需要clusterscontexts部分和部分中进行更改。看下面的例子:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: ...
    server: https://10.123.0.2:6443
  name: yet-another-fancy-name
contexts:
- context:
    cluster: yet-another-fancy-name
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: ...
Run Code Online (Sandbox Code Playgroud)

您可能还想更改您的上下文名称以反映当前集群名称,但您不必这样做。你可以这样做只是为了一致性:

contexts:
- context:
    cluster: yet-another-fancy-name
    user: kubernetes-admin
  name: kubernetes-admin@yet-another-fancy-name
current-context: kubernetes-admin@yet-another-fancy-name
Run Code Online (Sandbox Code Playgroud)