Puncte:0

Pod-urile Kubernetes nu reușesc cu ImagePullBackOff când încearcă să extragă o imagine din AWS ECR

drapel gb

Încerc să rulez câteva poduri Kubernetes în mașina mea Windows utilizând Docker-Desktop. Încerc să le instalez folosind HELM. Mi-am creat imaginile Docker și le-am introdus în depozitul privat AWS ECR.

Când încerc să rulez comanda de instalare HELM pentru a porni containerul, acestea sunt create. Cu toate acestea, atunci când încearcă să tragă imaginile din AWS ECR, se afișează o eroare și containerul primește un „ImagePullBackOff' eroare.

Eroare la descrierea unui pod eșuat:

Nu s-a putut extrage imaginea „012345678900.dkr.ecr.ap-south-1.amazonaws.com/arjun-poc1/centos-test1:latest”: eroare rpc: code = Desc necunoscut = Răspuns de eroare de la demon: Head „https:/ /012345678900.dkr.ecr.ap-south-1.amazonaws.com/v2/arjun-poc1/centos-test1/manifests/latest": fără acreditări de bază

am facut 'aws configure" pas și au rulat "aws ecr get-login-password'comandă. Pot să rulez manual „docker pull” și să obțin imaginea local. Cu toate acestea, nu este tras automat în timpul pornirii containerului.

De asemenea, am încercat să configurez un „imagePullSecret' prin rularea următoarei comenzi: kubectl creează docker-registry secret aws-secret --docker-server=https://[email protected] --docker-username=AWS --docker-password=$ (aws ecr get-login-parola). Am încercat să-l includ și în valorile.yaml.

diagrame\centos-test1\templates\deployment.yaml

specificație:
  imagePullSecrets: {{- toYaml .Values.global.imagePullSecrets | nindent 12 }}

valori.yaml

global:
  hub: 012345678900.dkr.ecr.ap-south-1.amazonaws.com/arjun-poc1
  imagePullSecrets:
  - nume: aws-secret


  imagini:
    centos-test1:
        nume: centos-test1
        tag: mai recent
        pullPolicy: Întotdeauna

Totuși nu funcționează.Primesc eroarea „ImagePullBackOff” de fiecare dată. Stie cineva cum sa remediez aceasta problema?

drapel in
Din fragmentul mic pe care l-ați postat, se pare că `global.imagePullSecrets:` este un **șir**, în timp ce [în `PodSpec` este o **listă** de obiecte](https://kubernetes.io/docs /reference/generated/kubernetes-api/v1.22/#podspec-v1-core), așa cum se arată clar în [manualul fin](https://kubernetes.io/docs/concepts/containers/images/#referring- la-o-imaginepullsecrets-pe-o-pod). Habar n-am cum PodSpec-ul tău ar trece măcar validarea, dar aici ești
arjunbnair avatar
drapel gb
Îmi pare rău. Am făcut o modificare la acel fragment și acum este actualizat în întrebarea mea. Așa arată codul meu acum.
arjunbnair avatar
drapel gb
Totusi ma confrunt cu aceeasi problema.
drapel in
Cu siguranță este suspect că aveți `--docker-username` **și** un nume de utilizator inline în `https://AWS@`, deoarece [documentele AWS nu fac asta](https://docs. aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html#get-login-password)
arjunbnair avatar
drapel gb
Ce zici de: `kubectl create secret docker-registry aws-secret --docker-server=https://[email protected] --username=AWS --password=$ (aws ecr get-login-password --region ap-south-1)` ??
arjunbnair avatar
drapel gb
Totuși, primesc această eroare: **eroare: fie --from-file, fie combinația dintre --docker-username, --docker-password și --docker-server este necesară**
drapel in
Nu știu să fiu mai clar; omiteți `https://AWS@` din parametrul dvs. `--docker-server`, deoarece `--docker-username` este locul în care merg numele de utilizator, nu în linie în URL-ul https

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.