如何安装 kube-state-metrics
How to install kube-state-metrics
我想在 K8s 中收集 PODs 的指标。 kube-state-metrics
看起来不错。我无法关注 README。我在 make container
之后击中了。有什么简单的方法可以部署kube-state-metrics
。
更新1
运行kubectl apply -f kubernetes
。出现以下错误。我认为,版本不匹配。知道如何克服吗?
serviceaccount "kube-state-metrics" configured
service "kube-state-metrics" configured
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-cluster-role-binding.yaml": ClusterRoleBinding in version "v1" cannot be handled as a ClusterRoleBinding: no kind "ClusterRoleBinding" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-cluster-role.yaml": ClusterRole in version "v1" cannot be handled as a ClusterRole: no kind "ClusterRole" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-deployment.yaml": Deployment in version "v1beta2" cannot be handled as a Deployment: no kind "Deployment" is registered for version "apps/v1beta2"
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-role-binding.yaml": RoleBinding in version "v1" cannot be handled as a RoleBinding: no kind "RoleBinding" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-role.yaml": Role in version "v1" cannot be handled as a Role: no kind "Role" is registered for version "rbac.authorization.k8s.io/v1"
你很接近。
同一页面有一个 Kubernetes Deployment
部分。
https://github.com/kubernetes/kube-state-metrics#kubernetes-deployment
克隆 github 存储库后,您只需 运行:
kubectl apply -f kubernetes
您可以在此处仔细查看部署文件:
https://github.com/kubernetes/kube-state-metrics/tree/master/kubernetes
---更新---
如果您运行使用旧版本的 K8s,它仍然使用部署版本 v1beta1 并且没有 RBAC,请尝试以下(yaml 文件)示例:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kube-state-metrics-deployment
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: kube-state-metrics
version: "v0.4.1"
spec:
containers:
- name: kube-state-metrics
image: gcr.io/google_containers/kube-state-metrics:v0.4.1
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
annotations:
prometheus.io/scrape: 'true'
name: kube-state-metrics
labels:
k8s-app: kube-state-metrics
spec:
ports:
- name: http-metrics
port: 8080
protocol: TCP
selector:
k8s-app: kube-state-metrics
对于 UPDATE1
中的那些错误(在我的问题中),我在那个 repo 中使用了以前版本的 yaml
文件。你可以在这里看到变化 --> https://github.com/kubernetes/kube-state-metrics/commit/24ab2b6e6d7d97690538cabc977c4afc3dcdc822
我想在 K8s 中收集 PODs 的指标。 kube-state-metrics
看起来不错。我无法关注 README。我在 make container
之后击中了。有什么简单的方法可以部署kube-state-metrics
。
更新1
运行kubectl apply -f kubernetes
。出现以下错误。我认为,版本不匹配。知道如何克服吗?
serviceaccount "kube-state-metrics" configured
service "kube-state-metrics" configured
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-cluster-role-binding.yaml": ClusterRoleBinding in version "v1" cannot be handled as a ClusterRoleBinding: no kind "ClusterRoleBinding" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-cluster-role.yaml": ClusterRole in version "v1" cannot be handled as a ClusterRole: no kind "ClusterRole" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-deployment.yaml": Deployment in version "v1beta2" cannot be handled as a Deployment: no kind "Deployment" is registered for version "apps/v1beta2"
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-role-binding.yaml": RoleBinding in version "v1" cannot be handled as a RoleBinding: no kind "RoleBinding" is registered for version "rbac.authorization.k8s.io/v1"
Error from server (BadRequest): error when creating "kubernetes/kube-state-metrics-role.yaml": Role in version "v1" cannot be handled as a Role: no kind "Role" is registered for version "rbac.authorization.k8s.io/v1"
你很接近。
同一页面有一个 Kubernetes Deployment
部分。
https://github.com/kubernetes/kube-state-metrics#kubernetes-deployment
克隆 github 存储库后,您只需 运行:
kubectl apply -f kubernetes
您可以在此处仔细查看部署文件:
https://github.com/kubernetes/kube-state-metrics/tree/master/kubernetes
---更新---
如果您运行使用旧版本的 K8s,它仍然使用部署版本 v1beta1 并且没有 RBAC,请尝试以下(yaml 文件)示例:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kube-state-metrics-deployment
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: kube-state-metrics
version: "v0.4.1"
spec:
containers:
- name: kube-state-metrics
image: gcr.io/google_containers/kube-state-metrics:v0.4.1
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
annotations:
prometheus.io/scrape: 'true'
name: kube-state-metrics
labels:
k8s-app: kube-state-metrics
spec:
ports:
- name: http-metrics
port: 8080
protocol: TCP
selector:
k8s-app: kube-state-metrics
对于 UPDATE1
中的那些错误(在我的问题中),我在那个 repo 中使用了以前版本的 yaml
文件。你可以在这里看到变化 --> https://github.com/kubernetes/kube-state-metrics/commit/24ab2b6e6d7d97690538cabc977c4afc3dcdc822