gpt4 book ai didi

kubernetes:通过 kubectl 命令更改当前/默认上下文

转载 作者:行者123 更新时间:2023-12-05 04:40:32 27 4
gpt4 key购买 nike

我正在做 KodeKoud 的练习,它提供 CKAD 认证培训。

练习有一个 my-kube-config.yml文件位于 root/ 下.文件内容如下:

(我省略了一些不相关的部分)

apiVersion: v1
kind: Config

clusters:
- name: production
cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443

- name: development
cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443

- name: test-cluster-1
cluster:
certificate-authority: /etc/kubernetes/pki/ca.crt
server: https://controlplane:6443

contexts:

- name: test-user@production
context:
cluster: production
user: test-user

- name: research
context:
cluster: test-cluster-1
user: dev-user

users:
- name: test-user
user:
client-certificate: /etc/kubernetes/pki/users/test-user/test-user.crt
client-key: /etc/kubernetes/pki/users/test-user/test-user.key
- name: dev-user
user:
client-certificate: /etc/kubernetes/pki/users/dev-user/developer-user.crt
client-key: /etc/kubernetes/pki/users/dev-user/dev-user.key


current-context: test-user@development

要求我做的练习:

use the dev-user to access test-cluster-1. Set the current contextto the right one so I can do that.

因为我在配置文件中看到,有一个名为 research 的上下文这符合要求,所以我运行以下命令将当前上下文更改为所需的上下文:

kubectl config use-context research

但是控制台给我错误:error: no context exists with the name: "research" .

好吧,我猜可能是 name具有值(value) research Not Acceptable ,也许我必须遵循 <user-name>@<cluster-name> 的惯例?我不确定,但我随后尝试了以下操作:

  1. 我从research修改了名字至 dev-user@test-cluster-1 , 因此上下文部分变为:
- name: dev-user@test-cluster-1
context:
cluster: test-cluster-1
user: dev-user
  1. 之后我运行命令:kubectl config use-context dev-user@test-cluster-1 ,但我得到错误:
error: no context exists with the name: "dev-user@test-cluster-1"

为什么?基于类(class) Material ,这是改变默认/当前上下文的方式。我正在使用已弃用的类(class)是否已过时?有什么问题?

最佳答案

您最初的想法是正确的。您需要将上下文更改为 research ,这可以使用

kubectl config use-context research

但在这种情况下,该命令不会应用于正确的配置。您可以通过使用和不使用指向 my-kube-config 文件的 kubeconfig 检查当前上下文来查看差异。

kubectl config current-context

kubernetes-admin@kubernetes

kubectl config --kubeconfig=/root/my-kube-config current-context

test-user@development

因此,使用正确的 kubeconfig 运行 use-context 命令

kubectl config --kubeconfig=/root/my-kube-config use-context research

关于kubernetes:通过 kubectl 命令更改当前/默认上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70258039/

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