[英]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.