File tree Expand file tree Collapse file tree 9 files changed +51
-1
lines changed Expand file tree Collapse file tree 9 files changed +51
-1
lines changed Original file line number Diff line number Diff line change 4
4
5
5
### Enhancements
6
6
7
+ - Implement super-admin user and bind admin to built-in cluster-admins role
8
+ (PR[ #4418 ] ( https://github.com/scality/metalk8s/pull/4418 ) )
9
+
7
10
- Bump Kubernetes version to
8
11
[ 1.29.8] ( https://github.com/kubernetes/kubernetes/releases/tag/v1.29.8 )
9
12
(PR[ #4417 ] ( https://github.com/scality/metalk8s/pull/4417 ) )
Original file line number Diff line number Diff line change @@ -477,6 +477,7 @@ def task(self) -> types.TaskDict:
477
477
Path ("salt/metalk8s/kubectl/configured.sls" ),
478
478
Path ("salt/metalk8s/kubectl/init.sls" ),
479
479
Path ("salt/metalk8s/kubectl/installed.sls" ),
480
+ Path ("salt/metalk8s/kubernetes/admin/deployed.sls" ),
480
481
Path ("salt/metalk8s/kubernetes/apiserver/certs/etcd-client.sls" ),
481
482
Path ("salt/metalk8s/kubernetes/apiserver/certs/front-proxy-client.sls" ),
482
483
Path ("salt/metalk8s/kubernetes/apiserver/certs/init.sls" ),
Original file line number Diff line number Diff line change @@ -11,6 +11,8 @@ certificates:
11
11
files:
12
12
admin:
13
13
watched: True
14
+ super-admin :
15
+ watched: True
14
16
controller-manager :
15
17
watched: True
16
18
kubelet:
Original file line number Diff line number Diff line change @@ -251,6 +251,12 @@ certificates:
251
251
days_remaining : 90
252
252
days_valid : 365
253
253
files :
254
+ super-admin :
255
+ path : /etc/kubernetes/super-admin.conf
256
+ renew :
257
+ sls :
258
+ - metalk8s.kubernetes.apiserver.kubeconfig
259
+ watched : False
254
260
admin :
255
261
path : /etc/kubernetes/admin.conf
256
262
renew :
Original file line number Diff line number Diff line change 2
2
- metalk8s.kubernetes.kube-proxy.deployed
3
3
- metalk8s.kubernetes.cni.calico.deployed
4
4
- metalk8s.kubernetes.coredns.deployed
5
+ - metalk8s.kubernetes.admin.deployed
5
6
- metalk8s.repo.deployed
6
7
- metalk8s.salt.master.deployed
7
8
- metalk8s.backup.deployed
Original file line number Diff line number Diff line change
1
+ Deploy admin user ClusterRoleBinding :
2
+ metalk8s_kubernetes.object_present :
3
+ - manifest:
4
+ apiVersion: rbac.authorization.k8s.io/v1
5
+ kind: ClusterRoleBinding
6
+ metadata:
7
+ name: kubeadm:cluster-admin
8
+ roleRef:
9
+ apiGroup: rbac.authorization.k8s.io
10
+ kind: ClusterRole
11
+ name: cluster-admin
12
+ subjects:
13
+ - kind: Group
14
+ name: kubeadm:cluster-admins
15
+ apiGroup: rbac.authorization.k8s.io
Original file line number Diff line number Diff line change @@ -13,14 +13,33 @@ include:
13
13
14
14
{%- set apiserver = ' https://' ~ apiserver_ip ~ ' :6443' % }
15
15
16
+ Create kubeconfig file for super - admin:
17
+ metalk8s_kubeconfig.managed:
18
+ - name: {{ certificates.kubeconfig.files[" super-admin" ].path }}
19
+ - ca_server: {{ pillar[' metalk8s' ][' ca' ][' minion' ] }}
20
+ - signing_policy: {{ kube_api.cert.client_signing_policy }}
21
+ - client_cert_info:
22
+ CN : " kubernetes-super-admin"
23
+ O: " system:masters"
24
+ - apiserver: {{ apiserver }}
25
+ - cluster: {{ kubernetes.cluster }}
26
+ - days_valid: {{
27
+ certificates.kubeconfig.files[" super-admin" ].days_valid |
28
+ default(certificates.kubeconfig.days_valid) }}
29
+ - days_remaining: {{
30
+ certificates.kubeconfig.files[" super-admin" ].days_remaining |
31
+ default(certificates.kubeconfig.days_remaining) }}
32
+ - require:
33
+ - metalk8s_package_manager: Install m2crypto
34
+
16
35
Create kubeconfig file for admin:
17
36
metalk8s_kubeconfig.managed:
18
37
- name: {{ certificates.kubeconfig.files.admin.path }}
19
38
- ca_server: {{ pillar[' metalk8s' ][' ca' ][' minion' ] }}
20
39
- signing_policy: {{ kube_api.cert.client_signing_policy }}
21
40
- client_cert_info:
22
41
CN : " kubernetes-admin"
23
- O: " system:masters "
42
+ O: " kubeadm:cluster-admins "
24
43
- apiserver: {{ apiserver }}
25
44
- cluster: {{ kubernetes.cluster }}
26
45
- days_valid: {{
Original file line number Diff line number Diff line change @@ -531,6 +531,7 @@ metalk8s:
531
531
# Client
532
532
- /etc/kubernetes/pki/etcd/salt-master-etcd-client.crt
533
533
# Kubeconfig
534
+ - /etc/kubernetes/super-admin.conf
534
535
- /etc/kubernetes/admin.conf
535
536
# Server
536
537
- /etc/kubernetes/pki/apiserver.crt
Original file line number Diff line number Diff line change @@ -144,6 +144,8 @@ certificates:
144
144
watched : true
145
145
kubeconfig :
146
146
files :
147
+ super-admin :
148
+ watched : true
147
149
admin :
148
150
watched : true
149
151
controller-manager :
You can’t perform that action at this time.
0 commit comments