[英]kubernetes "unable to get metrics"
我正在嘗試通過分別運行這兩個命令來自動擴展部署和狀態集:
kubectl autoscale statefulset mysql --cpu-percent=50 --min=1 --max=10
kubectl expose deployment frontend --type=LoadBalancer --name=frontend
可悲的是,在 minikube 儀表板上,這兩個服務下都出現了這個錯誤:
failed to get cpu utilization: unable to get metrics for resource cpu: unable to fetch metrics from resource metrics API: the server could not find the requested resource (get pods.metrics.k8s.io)
在線搜索我讀到它可能是 dns 錯誤,所以我檢查了但 CoreDNS 似乎運行良好。 兩種工作負載都沒有什么特別之處,這是“前端”部署:
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
labels:
app: frontend
spec:
replicas: 3
selector:
matchLabels:
app: frontend
template:
metadata:
labels:
app: frontend
spec:
containers:
- name: frontend
image: hubuser/repo
ports:
- containerPort: 3000
有沒有人有任何建議?
如果您安裝了 metrics-server,請檢查minikube addons list
。 如果沒有,請minikube addons enable metrics-server
。 等待一分鍾,然后嘗試kubectl top pod
。 如果所有 go 都正常,您應該不會在儀表板上看到錯誤,因為現在提供了指標。
首先,您能否驗證 API 是否工作正常? 為此,請運行kubectl get --raw /apis/metrics.k8s.io/v1beta1
。
如果您收到類似於以下內容的錯誤:
“ Error from server (NotFound)
:”
請按照以下步驟操作:
1.- 從 kube-apiserver 清單中刪除所有代理環境變量。
2.- 在 kube-controller-manager-amd64 中,設置--horizontal-pod-autoscaler-use-rest-clients=false
3.- 最后一種情況是您的 metric-server 插件默認禁用。 您可以使用以下方法進行驗證:
$ minikube 插件列表
如果它被禁用,您將看到類似metrics-server: disabled
內容。
您可以使用以下方法啟用它:
$minikube addons enable metrics-server
完成后,刪除並重新創建您的 HPA。
您可以使用以下線程作為參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.