簡體   English   中英

無法在 K8S 集群中創建 Prometheus

[英]Not able to create Prometheus in K8S cluster

我正在嘗試在我的 K8S 集群上安裝 Prometheus

當我運行命令時

kubectl get namespaces

我得到了以下命名空間:

default       Active   26h
kube-public   Active   26h
kube-system   Active   26h
monitoring    Active   153m
prod          Active   5h49m

現在我想通過創建普羅米修斯

helm install stable/prometheus --name prom -f k8s-values.yml

我得到了錯誤:

錯誤:發布 prom-demo 失敗:命名空間“default”被禁止:用戶“system:serviceaccount:kube-system:default”無法在命名空間“default”中的 API 組“”中獲取資源“namespaces”

即使我切換到monitoring ns 我也遇到了同樣的錯誤,

k8s-values.yml 如下所示

rbac:
  create: false
server:
  name: server

  service:
    nodePort: 30002
    type: NodePort

知道這里可能缺少什么嗎?

您收到此錯誤是因為您在使用 RBAC 的情況下沒有授予正確的權限。

授予分櫱權限:
取自https://github.com/helm/helm/blob/master/docs/rbac.md

示例:具有 cluster-admin 角色的服務帳戶在 rbac-config.yaml 中:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system

注意:cluster-admin 角色是在 Kubernetes 集群中默認創建的,因此您不必明確定義它。

$ kubectl create -f rbac-config.yaml
serviceaccount "tiller" created
clusterrolebinding "tiller" created
$ helm init --service-account tiller

為 prometheus 創建一個服務賬戶:
rbac.create的值更改為true

rbac:
  create: true
server:
  name: server

  service:
    nodePort: 30002
    type: NodePort

查看 prometheus operator 以啟動 prometheus 堆棧中的所有監控服務。 以下鏈接很有幫助https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus/manifests

所有清單都列在那里。 瀏覽這些文件並在 k8s 集群中部署您需要監控的任何內容

暫無
暫無

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

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