I've given the x509 authentication for a user in kubernetes, but deployments access doesn't seem to be working fine.
Roles:
# kubectl get rolebindings devops-rb -n demo -o yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
creationTimestamp: 2018-03-26T13:43:49Z
name: devops-rb
namespace: demo
resourceVersion: "2530329"
selfLink: /apis/rbac.authorization.k8s.io/v1/namespaces/demo/rolebindings/devops-rb
uid: b6c17e28-30fb-11e8-b530-000d3a11bb2f
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: devops-role
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: devops
Role Bindings:
# kubectl get roles devops-role -n demo -o yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
creationTimestamp: 2018-03-26T13:43:49Z
name: devops-role
namespace: demo
resourceVersion: "2538402"
selfLink: /apis/rbac.authorization.k8s.io/v1/namespaces/demo/roles/devops-role
uid: b6bee0fb-30fb-11e8-b530-000d3a11bb2f
rules:
- apiGroups:
- ""
resources:
- pods
- secrets
- services
- replicasets
- persistentvolumeclaims
- deployments
verbs:
- get
- list
- watch
Trying to list deployments using user config:
# kubectl --kubeconfig /root/.kube/config-tesla get deploy -n demo
Error from server (Forbidden): deployments.extensions is forbidden: User "tesla" cannot list deployments.extensions in the namespace "demo"
Trying to list deployments using the admin config:
# kubectl get deploy -n demo
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
wordpress 1 1 1 1 13d
wordpress-mysql 1 1 1 1 13d
Trying to list pods using user config:
# kubectl --kubeconfig /root/.kube/config-tesla get po -n demo
NAME READY STATUS RESTARTS AGE
ncp-centos-pod 1/1 Running 0 12d
wordpress-77d578745-vdgr9 1/1 Running 0 13d
wordpress-mysql-58cf8dc9f9-pzvbs 1/1 Running 0 13d
Trying to list pods using admin config:
# kubectl get pods -n demo
NAME READY STATUS RESTARTS AGE
ncp-centos-pod 1/1 Running 0 12d
wordpress-77d578745-vdgr9 1/1 Running 0 13d
wordpress-mysql-58cf8dc9f9-pzvbs 1/1 Running 0 13d