kubernetes - не может получить доступ к кластеру с новым сертификатом пользователя - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу создать нового пользователя admin в kubernetes, я делаю все шаги для создания и авторизации сертификатов, но когда я хочу получить доступ к API, я получаю несанкционированную ошибку. я делаю эти шаги для создания пользователя-администратора:

1 / openssl genrsa -out user.key 2048

2 / openssl req -new -key user.key -out user.csr -subj "/CN=kube-user"

3 /

cat <<EOF | kubectl apply -f -
apiVersion: certificates.k8s.io/v1beta1
kind: CertificateSigningRequest
metadata:
  name: user
spec:
  request: $(cat user.csr | base64 | tr -d '\n')
  usages:
  - digital signature
  - key encipherment
  - server auth
EOF

4 / k certificate approve user

5 / k get csr user -o jsonpath='{.status.certificate}' | base64 --decode > user.crt

6 / kubectl config view -o jsonpath='{.clusters[0].cluster.certificate-authority-data}' --raw | base64 --decode - > ca.crt

7 /

curl https://$Kube-Master-Ip:6443/api/v1 \
 --key user.key \
 --cert user.crt \
 --cacert ca.crt

8 / и это то, что я Получил:

{
"kind":"Status",
"apiVersion":"v1",
"metadata":{},
"status":"Failure",
"message":"Unauthorized",
"reason":"Unatuhorized",
"code":401
}

Источник документа: https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/

1 Ответ

2 голосов
/ 17 февраля 2020

Команда шага 2 неверна. Пользователь с правами администратора должен быть частью системы: группа мастеров.

openssl req -new -key user.key -out user.csr -subj "/CN=kube-user/O=system:masters"
...