I'm facing with next issue. I'm requesting to kubernetes whether I'm able to make some operation:
$ kubectl auth can-i list secrets --namespace iotdevadm
no - no RBAC policy matchedAbove, I'm asking for listing secrets. According to response, I'm not able to do that.
However:
$ kubectl get secrets
NAME TYPE DATA AGE
builder-dockercfg-9m9rf kubernetes.io/dockercfg 1 23h
builder-token-6xxdn kubernetes.io/service-account-token 4 23h
builder-token-qc7q7 kubernetes.io/service-account-token 4 23h
default-dockercfg-qs7sj kubernetes.io/dockercfg 1 23h
default-token-n4lpw kubernetes.io/service-account-token 4 23h
default-token-n7rhh kubernetes.io/service-account-token 4 23h
deployer-dockercfg-nhnps kubernetes.io/dockercfg 1 23h
deployer-token-5rkb6 kubernetes.io/service-account-token 4 23h
deployer-token-v85wp kubernetes.io/service-account-token 4 23h
istio.builder istio.io/key-and-cert 3 23h
istio.default istio.io/key-and-cert 3 23h
istio.deployer istio.io/key-and-cert 3 23h
istio.kafka istio.io/key-and-cert 3 16h
istio.zeppelin istio.io/key-and-cert 3 18h
kafka-dockercfg-whltw kubernetes.io/dockercfg 1 16h
kafka-token-crrxt kubernetes.io/service-account-token 4 16h
kafka-token-j5dgd kubernetes.io/service-account-token 4 16h
sh.helm.release.v1.kafka.v1 helm.sh/release.v1 1 16h
sh.helm.release.v1.spark.v1 helm.sh/release.v1 1 16h
sh.helm.release.v1.zeppelin.v1 helm.sh/release.v1 1 18h
sh.helm.release.v1.zookeeper.v1 helm.sh/release.v1 1 16h
spark-secret Opaque 0 16h
zeppelin-dockercfg-7zdkm kubernetes.io/dockercfg 1 18h
zeppelin-token-85jtc kubernetes.io/service-account-token 4 18h
zeppelin-token-x4r5c kubernetes.io/service-account-token 4 18hThe commands that you are running are different- one has get and the other one has list.
kubectl get secretsAbove command will get secrets in the namespace configured in kubeconfig. I assume the namespace is iotdevadm in kubeconfig. If this is not the case then run below command.
kubectl get secrets -n iotdevadmThe equivalent command to check permission should be as below.
kubectl auth can-i get secrets --namespace iotdevadmThis command will check permission to get secrets for the user configured in kubeconfig in namespace iotdevadm.
kubectl get secrets will list secrets from default namespace unless you have set a namespace context for the current cluster in your kubeconfig file.
kubectl get secrets -n iotdevadm to list secrets from iotdevadm namespace.