Giter VIP home page Giter VIP logo

Comments (5)

javsalgar avatar javsalgar commented on June 30, 2024

Hi,

Could you check if the roles and rolebindings in the kubeprod namespace for kube-state-metrics are created?

from kube-prod-runtime.

floek avatar floek commented on June 30, 2024

Hi,

yes I've the following role binding created (from kubectl -n kubeprod get rolebindings kube-state-metrics -o yaml):

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    kubecfg.ksonnet.io/garbage-collect-tag: kube_prod_runtime
    name: kube-state-metrics
  name: kube-state-metrics
  namespace: kubeprod
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: kube-state-metrics-resizer
subjects:
- kind: ServiceAccount
  name: kube-state-metrics
  namespace: kubeprod

floek

from kube-prod-runtime.

floek avatar floek commented on June 30, 2024

And here is the Role:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: kube-state-metrics-resizer
  namespace: kubeprod
rules:
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - get
- apiGroups:
  - extensions
  resourceNames:
  - kube-state-metrics
  resources:
  - deployments
  verbs:
  - get
  - update

Seems there is no entry for deployments and apiGroup "apps".

floek

from kube-prod-runtime.

javsalgar avatar javsalgar commented on June 30, 2024

Hi,

This is strange, as the apps API group is in the jsonnet manifest

    clusterRole: kube.ClusterRole($.p + "kube-state-metrics") {
      local core = "",  // workaround empty-string-key bug in `jsonnet fmt`
      local listwatch = {
        [core]: ["configmaps", "endpoints", "limitranges", "namespaces", "nodes", "persistentvolumeclaims", "persistentvolumes", "pods", "replicationcontrollers", "resourcequotas", "secrets", "services"],
        "admissionregistration.k8s.io": ["mutatingwebhookconfigurations", "validatingwebhookconfigurations"],
        apps: ["daemonsets", "deployments", "replicasets", "statefulsets"],
        autoscaling: ["horizontalpodautoscalers"],
        "autoscaling.k8s.io": ["verticalpodautoscalers"],
        batch: ["cronjobs", "jobs"],
        "certificates.k8s.io": ["certificatesigningrequests"],
        extensions: ["daemonsets", "deployments", "ingresses", "replicasets"],
        "networking.k8s.io": ["ingresses", "networkpolicies"],
        policy: ["poddisruptionbudgets"],
        "storage.k8s.io": ["storageclasses", "volumeattachments"],
        "storageclasses.k8s.io": ["storageclasses"],
      },
      all_resources:: std.set(std.flattenArrays(kube.objectValues(listwatch))),
      rules: [{
        apiGroups: [k],
        resources: listwatch[k],
        verbs: ["list", "watch"],
      } for k in std.objectFields(listwatch)],
    },

As you can see, there's an apps entry.

from kube-prod-runtime.

floek avatar floek commented on June 30, 2024

Hi,

you showed me the code for the "ClusterRole". In the same file a view lines down there ist the code for the "Role":

    role: kube.Role($.p + "kube-state-metrics-resizer") + $.metadata {
      rules: [
        {
          apiGroups: [""],
          resources: ["pods"],
          verbs: ["get"],
        },
        {
          apiGroups: ["extensions"],
          resources: ["deployments"],
          resourceNames: ["kube-state-metrics"],
          verbs: ["get", "update"],
        },
      ],
    },

Here apps is missing, and from my understanding this is referenced by (#1095 (comment))

roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: kube-state-metrics-resizer

and corresponds to my role shown in the comment #1095 (comment)

Floek

from kube-prod-runtime.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.