diff --git a/k8s_yaml/config/apex-user/apex-user-kubeconfig b/k8s_yaml/config/apex-user/apex-user-kubeconfig new file mode 100644 index 0000000..b88597d --- /dev/null +++ b/k8s_yaml/config/apex-user/apex-user-kubeconfig @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Config +clusters: +- cluster: # kubectl config view --raw -o jsonpath='{.clusters[0].cluster.server}' 获取集群ca + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5akNDQWJLZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQ0FYRFRJMU1UQXhNVEE1TWpFd09Wb1lEekl3TlRVeE1EQTBNRGt5TVRBNVdqQVZNUk13RVFZRApWUVFERXdwcmRXSmxjbTVsZEdWek1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCnpFNHZKbXFhLytkWnpDV01QN2RYb3RzREM2RU9Nb2VSSjFSZ3ZvS1F6cFpTLzBpakFqeGEwWHZoRGs5eS91Zi8KWUk3Ukw2WVhxWVQ3c1YyanN5U21JVFVRVXhscGptUHBPb0lQdmltMnRaelBwakI5RDF5d0llWVRzbU11K3loMwpBL1RpU1pQVnVQMFpKNHJCdyt1bU1HQ25FUjJXNVc0WmpuWGV2WndCOWk2WW5oc3FNWVA4azJ6N3RhdnJRSWpOClFuSXlGRUNac3ZMbHlRRlZnR3EyWU9WRERkRUNORXptQjU4Z3NQeFZaOGFTdTZjTVA1MzN4cTNObzJwTWN6cEUKSnRvTEFqZFNCYkU4ZFpBUUFtRXB5WkEwUzJXZnAxK0NYekg0UEhHT2pjVVI0eVQ1T0NQeE5nRGxsenFNVnExOApSQlkvNGI0U3lVbmxHV0luN2tNdWhRSURBUUFCb3lNd0lUQU9CZ05WSFE4QkFmOEVCQU1DQXBRd0R3WURWUjBUCkFRSC9CQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFpM3lDWk9zbG1ScVh4eDRkY1BJaXp2K1QKWmRiT05hbHo5S3R2QmlFZHdVKytLRWRaZm5aWlpFMWFPbitxckxPSHpGcGdvblp1eTRKNFlodWRHakFYVE1McwpLWC9WUVZLcndYUVVUMXNybnZVR3FpV21teVZsd1dpUi8yT1A5aHdUVjRaYkVxMzZPMlAvOVJNUXVaYUZDbXZYCm5tcDNYUE5keVVSaHcyeWxVUWJQRGRFKyt0a1B4ZENPOXZlV3VJRUJpQXdaeC9zOFZCZVA2eWNXSjQxdmgrUVMKN2VUbXU1YVFwdllUcWNqMTFycTA1NnMzQlhYUU02TnAvV2tkVStFTHpzT2gwZzhXRU16Q0gvL1lNdFdVWGMyOQo1Z3AzcURNWW1LUW1JSHBIWEtHcEN2OEcvNmFhdWVvWGJnamtFVTRWVkhyWmg3Q1JLZGxsbkhjWU9OemY3UT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K + server: https://10.0.10.125 + name: cls-pl1yhr34 +contexts: +- context: + cluster: cls-pl1yhr34 + namespace: apex-evaluation + user: apex-user + name: cls-pl1yhr34-100038894437-context-default +current-context: cls-pl1yhr34-100038894437-context-default +users: +- name: apex-user + user: # kubectl create token apex-user -n apex-evaluation 创建token + token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjF5MjNtcUNOVzhsZTlFRUNfQ2NDQ3hjbi1TRV9wS09LYTBzUTA4UU1Yc00ifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzYzNDUxMzE2LCJpYXQiOjE3NjM0NDc3MTYsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwianRpIjoiNjI4ZDM1MTktMzJjYy00YjkwLWE5ZDEtMTQzYTA3YWFmOWE5Iiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJhcGV4LWV2YWx1YXRpb24iLCJzZXJ2aWNlYWNjb3VudCI6eyJuYW1lIjoiYXBleC11c2VyIiwidWlkIjoiNTA4Nzg5YTItZDBmOC00Njg1LTkxZGMtMjNhYjI4NWFmODQ3In19LCJuYmYiOjE3NjM0NDc3MTYsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDphcGV4LWV2YWx1YXRpb246YXBleC11c2VyIn0.fmfLIliz_bNlX6TbRh-ylBfWnIKJJ1eJPB7WjbveOPZVUZToUp14GIaUZd5bA_dncclcfI2UQH0rAFt7xKEvgXioyYDmK5ODkryCTeNV-3mHQsvisN_TUzV3JkDjtuyrA3DKoQ_31N6qp-69vgBvpXiLk_VU9j0Wr--n3EqAv-sFU8wptuGB_8tJiDzpHGhQhNyltNUY8hYY7OsiH8AIPEMxTjbwrJg8eeULBxXOz521u6jO5mpWCDvNsOoQp6luLBtxFWZjoNRH_xhRgfL2tzrwC8RTkiaEXeI_zKNrbC6MactOhfblXjAf44HSEAOO7F_oPBR8ZCJnQnGJ3U3cBQ diff --git a/k8s_yaml/config/apex-user/apex-user-rbac.yaml b/k8s_yaml/config/apex-user/apex-user-rbac.yaml new file mode 100644 index 0000000..c76fd09 --- /dev/null +++ b/k8s_yaml/config/apex-user/apex-user-rbac.yaml @@ -0,0 +1,34 @@ +# 创建 ServiceAccount(放在命名空间) +apiVersion: v1 +kind: ServiceAccount +metadata: + name: apex-user + namespace: apex-evaluation # 明确 ServiceAccount 所在的命名空间(必填) +--- + +# 为 apex-evaluation 命名空间创建 Role(仅允许操作 apex-evaluation 下的资源) +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: apex-user-role # Role 名称 + namespace: apex-evaluation # 绑定到 apex-evaluation 命名空间 +rules: +- apiGroups: ["", "apps", "extensions", "batch", "networking.k8s.io"] + resources: ["pods", "pods/log", "statefulsets", "deployments", daemonsets, "services", "configmaps", "secrets"] + verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] +--- + +# 将 apex-evaluation 命名空间的 Role 绑定到 ServiceAccount +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: apex-user-binding + namespace: apex-evaluation # 与 Role 同命名空间 +subjects: +- kind: ServiceAccount + name: apex-user + namespace: apex-evaluation # 注意:这里是 SA 所在的命名空间 +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: apex-user-role # 绑定的 Role 名称,与上方 Role 一致 \ No newline at end of file