Ключ подписи учетной записи службы Kubernetes - PullRequest
0 голосов
/ 16 апреля 2020

Я ищу закрытый ключ, используемый для подписи токенов служебной учетной записи в моем кластере. Есть ли способ, которым я могу найти путь к этому ключу или распечатать его как-нибудь?

Документация говорит, какой флаг используется для предоставления ключа во время запуска, но нет информации о текущем используемом ключе .

1 Ответ

2 голосов
/ 16 апреля 2020

Вы можете проверить путь, переданный параметру –service-account-private-key-file компоненту диспетчера контроллеров kube. Этот ключ используется контроллером токенов для подписи учетных записей служб.

–service-account-private-key-file string
Filename containing a PEM-encoded private RSA or ECDSA key used to sign service account tokens.

В кластере, установленном kubeadm, я мог проверить путь, описав pod kube-controller-manager-kind-control-plane (имя модуля может отличаться в разных cluster) в kube-system namespace

kubectl describe pod kube-controller-manager-kind-control-plane -n kube-system
Name:                 kube-controller-manager-kind-control-plane
Namespace:            kube-system
Priority:             2000000000
Priority Class Name:  system-cluster-critical
Node:                 kind-control-plane/172.17.0.2
Start Time:           Tue, 14 Apr 2020 14:13:18 +0530
Labels:               component=kube-controller-manager
                      tier=control-plane
Annotations:          kubernetes.io/config.hash: 15e79e27a50d92dc481a5aaaad4399d8
                      kubernetes.io/config.mirror: 15e79e27a50d92dc481a5aaaad4399d8
                      kubernetes.io/config.seen: 2020-04-14T08:43:15.2951468Z
                      kubernetes.io/config.source: file
Status:               Running
IP:                   172.17.0.2
IPs:
  IP:           172.17.0.2
Controlled By:  Node/kind-control-plane
Containers:
  kube-controller-manager:
    Container ID:  containerd://6423f4d70cf0af2be708315b1aa5d4cb038d73b00b63f3d759db60e75f1ebf56
    Image:         k8s.gcr.io/kube-controller-manager:v1.17.0
    Image ID:      sha256:7818d75a7d002a3c1bb6e9d8fe4416e75ee7df87b57585ab4f8ef01ccba1ddaa
    Port:          <none>
    Host Port:     <none>
    Command:
      kube-controller-manager
      --allocate-node-cidrs=true
      --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
      --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf
      --bind-address=127.0.0.1
      --client-ca-file=/etc/kubernetes/pki/ca.crt
      --cluster-cidr=10.244.0.0/16
      --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
      --cluster-signing-key-file=/etc/kubernetes/pki/ca.key
      --controllers=*,bootstrapsigner,tokencleaner
      --enable-hostpath-provisioner=true
      --kubeconfig=/etc/kubernetes/controller-manager.conf
      --leader-elect=true
      --node-cidr-mask-size=24
      --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
      --root-ca-file=/etc/kubernetes/pki/ca.crt
      --service-account-private-key-file=/etc/kubernetes/pki/sa.key
      --service-cluster-ip-range=10.96.0.0/12
      --use-service-account-credentials=true

Как видно из вышеизложенного в кластере, установленном kubeadm, файл ключа расположен в главных узлах в /etc/kubernetes/pki/sa.key location

Поскольку вы в управляемом кластере EKS у вас не будет доступа к главным узлам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...