kubeconfig での Role 設定手順
kubeconfigを記載することで Role によって Kubernetes の操作権限を制御します。
cf.
手順
例として、Pod の参照のみ可能な kubeconfig を作成します。
- ServiceAccount を作成します:
apiVersion: v1
kind: ServiceAccount
metadata:
name: pod-reader
namespace: default
- Role を作成します:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: default
name: pod-reader
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list"]
- RoleBinding を作成します:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-pods
namespace: default
subjects:
- kind: ServiceAccount
name: pod-reader
namespace: default
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io
- 認証トークンを作成します:
kubectl create token pod-reader -n default
kubeconfigを作成します:
apiVersion: v1
kind: Config
clusters:
- name: my-cluster
cluster:
server: https://<API_SERVER>
#certificate-authority-data: <CA_DATA> # base64 encoded
insecure-skip-tls-verify: true
users:
- name: pod-reader
user:
token: <TOKEN>
contexts:
- name: pod-reader-context
context:
cluster: my-cluster
namespace: default
user: pod-reader
current-context: pod-reader-context
kubeconfigを適用します:
export KUBECONFIG=path/to/config