Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

kubectl certificate și CertificateSigningRequest în Kubernetes (kubectl)

Configurare și context kubectl 1.5+ (certificates.k8s.io/v1 din Kubernetes 1.19) Q&A / Distribuie cod

Aprobă sau respinge cererile de certificat (CSR) trimise clusterului, de exemplu pentru a da acces unui utilizator nou.

Sintaxă comandă
kubectl certificate approve <csr>
kubectl certificate deny <csr>
kubectl get csr

Ce face kubectl certificate și CertificateSigningRequest

Un CertificateSigningRequest (CSR) este o cerere ca autoritatea de certificare a clusterului să semneze un certificat. Cu semnatarul kubernetes.io/kube-apiserver-client, certificatul rezultat servește la autentificarea unui utilizator: câmpul CN devine numele utilizatorului, iar fiecare O un grup, folosite apoi în regulile RBAC.

kubectl certificate approve aprobă cererea, iar deny o respinge; după aprobare, certificatul semnat apare în status.certificate. Kubernetes nu poate revoca certificatele de client, deci alege o durată scurtă cu expirationSeconds și dă drepturi unui grup, nu direct utilizatorului.

Parametri

Parametru Descriere
approve CSR Aprobă cererea.
deny CSR Respinge cererea.
spec.signerName Semnatarul: kubernetes.io/kube-apiserver-client pentru utilizatori.
spec.expirationSeconds Durata cerută a certificatului (minimum 600 de secunde).
spec.usages Utilizări; pentru utilizatori client auth.
kubectl get csr Listează cererile și starea lor.

Exemple

Exemplul 1: Cheie și cerere de certificat pentru Ana

Ana își generează cheia (care nu părăsește calculatorul ei) și o cerere cu numele ana și grupul dezvoltatori.

openssl genrsa -out ana.key 2048
openssl req -new -key ana.key -out ana.csr -subj "/CN=ana/O=dezvoltatori"
kubectl apply -f - <<EOF
apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
  name: ana
spec:
  request: $(base64 < ana.csr | tr -d '\n')
  signerName: kubernetes.io/kube-apiserver-client
  expirationSeconds: 2592000
  usages: ["client auth"]
EOF

Ieșire în terminal

certificatesigningrequest.certificates.k8s.io/ana created

Exemplul 2: Aprobarea și extragerea certificatului

Administratorul aprobă cererea; certificatul semnat se adaugă apoi în kubeconfig-ul Anei.

kubectl certificate approve ana
kubectl get csr ana
kubectl get csr ana -o jsonpath='{.status.certificate}' | base64 -d > ana.crt
kubectl config set-credentials ana --client-key=ana.key --client-certificate=ana.crt --embed-certs=true

Ieșire în terminal

certificatesigningrequest.certificates.k8s.io/ana approved
NAME   AGE   SIGNERNAME                            REQUESTOR          REQUESTEDDURATION   CONDITION
ana    40s   kubernetes.io/kube-apiserver-client   kubernetes-admin   30d                 Approved,Issued
User "ana" set.

Greșeli frecvente

  • Aprobarea cererilor fără a verifica CN și O din cerere (openssl req -in ana.csr -noout -subject): cineva poate cere un certificat în grupul system:masters, cu acces total.
  • Certificate cu durată de ani pentru oameni: când cineva pleacă din echipă, certificatul rămâne valabil. Folosește durate scurte sau autentificare printr-un furnizor de identitate (OIDC).

Comenzi înrudite

  • kubectl auth can-i: Verifică dacă tu (sau alt utilizator ori ServiceAccount) ai voie să faci o anumită acțiune în cluster, conform regulilor RBAC.
  • kubectx și kubens: Unelte mici pentru schimbarea rapidă a contextului (clusterului) și a namespace-ului implicit din kubeconfig.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: kubectl certificate și CertificateSigningRequest

Ai o nelămurire despre utilizarea comenzii kubectl certificate și CertificateSigningRequest sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.