当前上下文未设置 Kubectl

Pun*_*ora 4 kubectl

使用 Config 视图获取以下输出。注意没有“当前上下文”

root@Bootstrap [ /etc ]# kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://192.168.10.50:6443
  name: tanzu-m01
contexts:
- context:
    cluster: tanzu-m01
    user: tanzu-m01-admin
  name: tanzu-m01-admin@tanzu-m01
current-context: ""
kind: Config
preferences: {}
users:
- name: tanzu-m01-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
- name: tkgm-mgmt01-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
Run Code Online (Sandbox Code Playgroud)

使用 kubectl set-context >> 显示已修改的上下文

root@Bootstrap [ /etc ]# kubectl config set-context tanzu-m01-admin@tanzu-m01
Context "tanzu-m01-admin@tanzu-m01" modified.
Run Code Online (Sandbox Code Playgroud)

但是,在“kubectl config current-context”上显示当前上下文未设置

root@Bootstrap [ /etc ]# kubectl config current-context
error: current-context is not set
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

Daz*_*kin 8

正确的命令是:

kubectl config use-context ${CONTEXT}
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式确认:

kubectl config --help

set-context     Set a context entry in kubeconfig
use-context     Set the current-context in a kubeconfig file
Run Code Online (Sandbox Code Playgroud)

kubectl config set-context设置指定上下文的属性:

kubectl config set-context ${CONTEXT} \
--cluster=${CLUSTER} \
--user=user_${USER} \
--namespace=${NAMESPACE}
Run Code Online (Sandbox Code Playgroud)