簡體   English   中英

運行 kubectl 命令時提示輸入密碼

[英]Getting password prompted when running kubectl commands

我繼承了幾台運行 Kubernetes 的服務器。 secops 想讓我做的一件事就是在服務器上安裝一個代理。 首先要運行的命令之一是

kubectl create secret generic 

運行此程序,系統會提示我輸入用戶名和密碼。 這里沒有人知道這是什么 b/c 設置服務器的開發人員走了。 所以我不知道如何運行這個命令並傳遞用戶名/密碼。 其他人的一個明顯建議是使用默認用戶/通行證,但我什至在網上都找不到。 發現這有助於獲取服務器上的信息:

kubectl config view

此命令的輸出:

apiVersion: v1
clusters: null
contexts: null
current-context: ""
kind: Config
preferences: {}
users: null

Server:
CentOS Linux release 7.9.2009
Kernel - 5.17.2-1.el7.elrepo.x86_64

任何幫助表示贊賞。

您正在使用的 kubeconfig 文件已損壞是合理的。 您可以通過在 kubeconfig 文件中編輯用戶名來重現類似的症狀(用戶/密碼提示)。 您需要為用戶找出(或創建)正確的 kubeconfig 文件。 如果您是管理員,您可以在主節點的/etc/kubernetes/admin.conf中找到它。

以下是重現該問題的步驟:

// 這是我的 kubeconfig 文件,工作正常

kubectl config view 
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://127.0.0.1:6443
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

// 我搜索了用戶名

kubectl config view  |grep 'user: default'
    user: default

 

// 將用戶名從default損壞為default1

sed -i.bak 's/user: default/user: default1/g' ~/.kube/config 

// 現在提示輸入用戶/密碼

kubectl get pod  --kubeconfig .kube/config 
Please enter Username: 
^C

//恢復之前所做的更改

sed -i 's/user: default1/user: default/g' ~/.kube/config 

// 命令現在工作正常

kubectl get pod  --kubeconfig .kube/config 
No resources found in default namespace.
 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM