Kubernetes: RBAC рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╡реЙрд▓реНрдпреВрдо рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рджрд┐рд╕ре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kubernetes/kubernetes

рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ

Kubernetes рд╕рдВрд╕реНрдХрд░рдг ( kubectl version ): рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг: version.Info {рдореЗрдЬрд░: "1", рдорд╛рдЗрдирд░: "5", GitVersion: "v1.5.1", GitCommit: "82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState: "рдХреНрд▓реАрди" , BuildDate:"2016-12-14T00:57:05Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"darwin/amd64"}
рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: version.Info {рдореЗрдЬрд░: "1", рдорд╛рдЗрдирд░: "5+", GitVersion: "v1.5.1-3 + 10e41f22e4421c", GitCommit: "10e41f22e4421c9a14e9e6782c6375c199a07a86", GitTreeState: "рдХреНрд▓реАрди", рдмрд┐рд▓реНрдбрдбреЗрдЯ: "2016-12 -15T10:06:44Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}

рдкрд░реНрдпрд╛рд╡рд░рдг :

  • рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди : рдУрдкрдирд╕реНрдЯреИрдХ
  • OS (рдЬреИрд╕реЗ /etc/os-release рд╕реЗ): centos7
  • рдХрд░реНрдиреЗрд▓ (рдЬреИрд╕реЗ uname -a ): 3.10.0-327.36.3.el7.x86_64

рдХреНрдпрд╛ рд╣реБрдЖ : рд╣рдордиреЗ рдЖрд░рдмреАрдПрд╕реА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реЛрд▓рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╣реИрдВ:

apiVersion: rbac.authorization.k8s.io/v1alpha1
kind: ClusterRoleBinding
metadata:
  name: cluster-admin-custom
subjects:
- kind: ServiceAccount
  name: default
  namespace: kube-system
- kind: User
  name: kubelet
  namespace: kube-system
- kind: User
  name: clusteradmin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin

рддрдерд╛

apiVersion: rbac.authorization.k8s.io/v1alpha1
kind: RoleBinding
metadata:
  name: default-admin
  namespace: default
subjects:
- kind: ServiceAccount
  name: default
- kind: User
  name: defaultadmin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin

рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ: рдХреНрд▓рд╕реНрдЯрд░рдбрдорд┐рди, рдЬрд┐рд╕рдХреА рдХреНрдпреВрдм рдХреНрд▓рд╕реНрдЯрд░ рдФрд░ рдбрд┐рдлреЙрд▓реНрдЯрдбрдорд┐рди рдореЗрдВ рд╕рдм рдХреБрдЫ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдЬрд┐рд╕рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХреНрд▓рд╕реНрдЯрд░рдбрдорд┐рди рдХреЗ рд╕рд╛рде рдкреАрд╡реА рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдбрд┐рдлреЙрд▓реНрдЯрдбрдорд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ:

Kubectl pv рдорд┐рд▓рддрд╛ рд╣реИ
рд╕рд░реНрд╡рд░ рд╕реЗ рддреНрд░реБрдЯрд┐ (рдирд┐рд╖рд┐рджреНрдз): рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ (рд▓рдЧрд╛рддрд╛рд░ рдорд╛рддреНрд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ)

рд╕рд░реНрд╡рд░ рд╕реЗ рддреНрд░реБрдЯрд┐ (рдирд┐рд╖рд┐рджреНрдз): "db-pv.yaml" рдмрдирд╛рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐: рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ (рд╕реНрдерд┐рд░ рд╡реЙрд▓реНрдпреВрдо рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ)

рдЖрдк рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ : рдбрд┐рдлреЙрд▓реНрдЯрдбрдорд┐рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдкреАрд╡реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдХреНрд▓рд╕реНрдЯрд░-рдПрдбрдорд┐рди рдХреНрд▓рд╕реНрдЯрд░рд░реЛрд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╣рддрд╛ рд╣реИ:

- apiGroups:
  - '*'
  attributeRestrictions: null
  resources:
  - '*'
  verbs:
  - '*'
- attributeRestrictions: null
  nonResourceURLs:
  - '*'
  verbs:
  - '*'

рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬ рд╕рдВрд╕рд╛рдзрди * рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреАрд╡реА рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рдЗрд╕реЗ рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░реЗрдВ (рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдиреНрдпреВрдирддрдо рдФрд░ рд╕рдЯреАрдХ):

  • рдЖрд░рдмреАрдПрд╕реА рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
  • рджреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдБ, рдХреНрд▓рд╕реНрдЯрд░рдПрдбрдорд┐рди рдФрд░ рдбрд┐рдлреЙрд▓реНрдЯрдПрдбрдорд┐рди
  • рдХреНрд▓рд╕реНрдЯрд░ рд░реЛрд▓рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рд░реЛрд▓рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдЗрд╕ рдмрдЧ рдЯрд┐рдХрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛
  • рджреЛрдиреЛрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдкреАрд╡реА рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдкреАрд╡реА рдХреНрд▓рд╕реНрдЯрд░-рд╕реНрдХреЛрдкреНрдб рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред рд╡реЗ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред RBAC рдХреЗ рд╕рд╛рде PV API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ ClusterRole рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдХреЛрдк рдкрд░ ClusterRole рдмрд╛рдЙрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореЗрд░реЗ рдкрд╛рд╕ dev рдФрд░ default рд╕рд╣рд┐рдд рдХреБрдЫ рдирд╛рдорд╕реНрдерд╛рди рд╣реИрдВред рдПрдХ "рджреЗрд╡ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рдкреАрд╡реАрд╕реА рд╕рд╣рд┐рдд dev рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди dev рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ "рджреЗрд╡ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдкреАрд╡реА рдмрдирд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЙрд╕реА рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ рдКрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рддреНрд░реБрдЯрд┐:

Error from server (Forbidden): error when creating "db-pv.yaml": the server does not allow access to the requested resource (post persistentvolumes)

рдореИрдВ default рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ PV рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред

рдкреАрд╡реА рдПрдХ рдирд╛рдо рд╕реНрдерд╛рди рд╕реЗ рдЬреБрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ

рдкреАрд╡реА рдХреНрд▓рд╕реНрдЯрд░-рд╕реНрдХреЛрдкреНрдб рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред рд╡реЗ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред RBAC рдХреЗ рд╕рд╛рде PV API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ ClusterRole рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рд╕реНрдХреЛрдк рдкрд░ ClusterRole рдмрд╛рдЙрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ddysher picture ddysher  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

montanaflynn picture montanaflynn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alexferl picture alexferl  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

errordeveloper picture errordeveloper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sjenning picture sjenning  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ