Как мне поставить sh рулевые графики в Amazon ECR - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть контрольная карта, которую я хочу сделать sh в ECR, но я продолжаю нажимать 401 Unauthorized.

$ helm chart list
REF                                         NAME                    VERSION     DIGEST  SIZE        CREATED 
myecr.us-east-2.amazonaws.com/hello-world   hello-world             1.0.0+1     6c7c951 135.3 KiB   23 hours

$ helm chart push myecr.us-east-2.amazonaws.com/hello-world:1.0.0
The push refers to repository [1myecr.us-east-2.amazonaws.com/helloworld]
ref:     myecr.us-east-2.amazonaws.com/hello-world:1.0.0
digest:  6c7c9512d309b04816afd17dcdaaa64d0492550d8e290155973ddab125815da7
size:    135.3 KiB
name:    hello-world
version: 1.0.0+1
Error: unexpected response: 401 Unauthorized

Я также пытался аутентифицировать ECR с помощью шлема с helm registry login myecr.us-east-2.amazonaws.com, но учетные данные, которые Я получил от aws sts get-caller-identity не работает.

$ aws sts get-caller-identity
{
    "UserId": "<USERID>",
    "Account": "<Account>",
    "Arn": "arn:aws:iam::<Account>:user/foo"
}

$ helm registry login myecr.us-east-2.amazonaws.com
Username: <USERID>
Password: 
Error: login attempt to https://myecr.us-east-2.amazonaws.com/v2/ failed with status: 401 Unauthorized

Моя версия руля v3.0.2. Разве helm не поддерживает ECR как реестр для диаграмм?

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

Я нашел ответ, поэтому отвечаю на свой вопрос.

Для проверки подлинности руля с помощью ECR, запустите:

TOKEN=`aws ecr get-login --region ${REGION} --registry-ids ${ACCOUNT} | cut -d' ' -f6`

helm registry login myecr.us-east-2.amazonaws.com
Username: AWS
Password: $TOKEN

Вышеприведенное будет проверять подлинность руля с помощью ECR, однако выглядит вроде ECR не поддерживает ORAS (OCI Registry As Storage). Другими словами, вы пока не можете добавить к нему графики руля.

$ helm chart push myecr.us-east-2.amazonaws.com/hello-world:1.0.0
The push refers to repository [myecr.us-east-2.amazonaws.com/hello-world]
ref:     myecr.us-east-2.amazonaws.com/hello-world:2.0.0
digest:  6c7c9512d309b04816afd17dcdaaa64d0492550d8e290155973ddab125815da7
size:    135.3 KiB
name:    hello-world
version: 1.0.0+1
Error: failed commit on ref "manifest-sha256:262e1e34f4762606ec011c776944636c003969a2cfb289776fa0f7c26883f7ad": unexpected status: 405 Method Not Allowed

Проблема отслеживается здесь: https://github.com/aws/containers-roadmap/issues/308

0 голосов
/ 11 февраля 2020

Проверьте, авторизованы ли вы с помощью helm

Используйте команду helm registry login для входа в реестр, передавая адрес реестра с портом (если порт не задан по умолчанию)

Войдите в реестр с помощью helm команда

$ helm registry login -u myuser registrydomain:5000
Password:
Login succeeded

Выход

$ helm registry logout registrydomain:5000
Logout succeeded

Официальная документация: https://helm.sh/docs/topics/registries/#the -registry-subcommand

...