Abu*_*oeb 7 kubernetes heapster kubectl
我正在使用Kubernetes 1.7并正在运行hepaster。当我跑步
kubectl top nodes --heapster-namespace=kube-system
Run Code Online (Sandbox Code Playgroud)
它告诉我
error: metrics not available yet
Run Code Online (Sandbox Code Playgroud)
我也试过了
kubectl top nodes --heapster-namespace=kube-system --heapster-service=heapster --heapster-scheme=http --heapster-port=12213
Run Code Online (Sandbox Code Playgroud)
堆运行的位置会显示以下错误。
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get services http:heapster:12213)
Run Code Online (Sandbox Code Playgroud)
有任何解决错误的线索吗?
这意味着heapster配置不正确。
您需要确保 heapster 正在kube-system命名空间上运行,并检查/healthz端点是否正常:
$ export HEAPSTER_POD=$(kubectl get po -l k8s-app=heapster -n kube-system -o jsonpath='{.items[*].metadata.name}')
$ export HEAPSTER_SERVICE=$(kubectl get service/heapster --namespace=kube-system -o jsonpath="{.spec.clusterIP}")
$ curl -L "http://${HEAPSTER_SERVICE}/healthz"
ok
Run Code Online (Sandbox Code Playgroud)
然后,您可以检查指标 API 是否可用:
$ curl -L "http://${HEAPSTER_SERVICE}/api/v1/model/metrics/"
[
"cpu/usage_rate",
"memory/usage",
"cpu/request",
"cpu/limit",
"memory/request",
"memory/limit"
]
Run Code Online (Sandbox Code Playgroud)
如果它没有像上面那样返回,请查看容器日志中的错误:
$ kubectl logs -n kube-system ${HEAPSTER_POD} --all-containers
不过,请记住 Heapster 是一个已弃用的项目,在最新的 Kubernetes 版本中运行它时可能会遇到问题。
请参阅Heapster 弃用时间表:
Run Code Online (Sandbox Code Playgroud)| Kubernetes Release | Action | Policy/Support | |---------------------|---------------------|----------------------------------------------------------------------------------| | Kubernetes 1.11 | Initial Deprecation | No new features or sinks are added. Bugfixes may be made. | | Kubernetes 1.12 | Setup Removal | The optional to install Heapster via the Kubernetes setup script is removed. | | Kubernetes 1.13 | Removal | No new bugfixes will be made. Move to kubernetes-retired organization. |
从 Kubernetes v1.10 开始,默认kubectl top依赖metrics-server 。
- 支持
kubectl top命令中的指标 API。(#56206,@brancz)此 PR 实现了对
kubectl top使用指标服务器作为聚合 API 的命令的支持,而不是直接从 heapster 请求指标。如果metrics.k8s.ioAPI 不是由 apiserver 提供服务,那么这仍然会回退到之前的行为。
最好使用kubectl版本v1.10或更高版本,因为它从指标服务器获取指标。
但是,请注意kubectl版本倾斜政策:
kubectl在一个次要版本(较旧或较新)内受支持kube-apiserver
kube-apiserver在选择版本之前检查您的版本kubectl。
| 归档时间: |
|
| 查看次数: |
4054 次 |
| 最近记录: |