【问题标题】:How to change the name of a user in kube config file with kubectl?如何使用 kubectl 更改 kube 配置文件中的用户名?
【发布时间】:2022-06-22 20:45:15
【问题描述】:

如何使用 kubectl(无文本编辑器)更改 kube 配置文件中用户的name

示例 kube 配置文件stage_config.yaml:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://127.0.0.1:6443
  name: cluster.local
contexts:
- context:
    cluster: cluster.local
    user: kubernetes-admin
  name: kubernetes-admin@cluster.local
current-context: kubernetes-admin@cluster.local
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

我想做kubectl config rename-user --kubeconfig ~/.kube/stage_config.yaml kubernetes-admin kubernetes-admin-1之类的事情

输出如下:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://127.0.0.1:6443
  name: cluster.local
contexts:
- context:
    cluster: cluster.local
    user: kubernetes-admin
  name: kubernetes-admin@cluster.local
current-context: kubernetes-admin@cluster.local
kind: Config
preferences: {}
users:
- name: kubernetes-admin-1
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

我已尝试kubectl config set,但收到以下错误:

kubectl config set --kubeconfig ~/.kube/stage_config.yaml users.name.kubernetes-admin kubernetes-admin-1
error: can't set a map to a value: map[kubernetes-admin:0xc000c53100]

kubectl config --help 表明存在rename-context 命令,但不存在类似rename-userrename-cluster 的命令。

【问题讨论】:

  • 证书映射到CN/common name. 我认为重命名用户名可能不是最好的做法。但是请考虑在security.stackexchange.com 中提出这个问题以获得更权威的答案。但是如果你真的想这样做,你可能需要使用像sed 这样的命令来做到这一点。

标签: kubernetes kubectl kubeconfig


【解决方案1】:

使用 JQ 来发挥作用(只需确保您的 KubeConfig 是 JSON 格式)。 我确定可以使用 YQ for YAML 来完成此操作,但我让其他人填写。将 CLUSTER_NAME 设置为您想要的值。

jq '.clusters[0].name="'$CLUSTER_NAME'" | .contexts[0].context.cluster="'$CLUSTER_NAME'"' source/kubeconfig > target/kubeconfig

【讨论】:

    猜你喜欢
    • 2018-02-21
    • 2022-12-23
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2021-10-06
    • 2021-12-26
    • 2012-10-02
    • 2022-01-15
    相关资源
    最近更新 更多