Mon problème
J'ai déployé avec succès un travail nomade avec quelques dizaines de conteneurs Redis Docker sur AWS, en utilisant l'image par défaut Redis de Dockerhub.nomade: Pull image docker de ECR avec AWS accès et les clés secrètes
J'ai légèrement modifié le fichier de configuration par défaut créé par nomad init
pour modifier le nombre de conteneurs en cours d'exécution, et tout fonctionne comme prévu
Le problème est que l'image réelle, je voudrais courir est ECR, qui nécessite des autorisations AWS (accès et clé secrète), et je ne sais pas comment les envoyer.
code
job "example" {
datacenters = ["dc1"]
type = "service"
update {
max_parallel = 1
min_healthy_time = "10s"
healthy_deadline = "3m"
auto_revert = false
canary = 0
}
group "cache" {
count = 30
restart {
attempts = 10
interval = "5m"
delay = "25s"
mode = "delay"
}
ephemeral_disk {
size = 300
}
task "redis" {
driver = "docker"
config {
# My problem here
image = "https://-whatever-.dkr.ecr.us-east-1.amazonaws.com/-whatever-"
port_map {
db = 6379
}
}
resources {
network {
mbits = 10
port "db" {}
}
}
service {
name = "global-redis-check"
tags = ["global", "cache"]
port = "db"
check {
name = "alive"
type = "tcp"
interval = "10s"
timeout = "2s"
}
}
}
}
}
Qu'ai-je essayé
- Vaste Recherche Google
- Lecture the manual
- Placer les
aws
informations d'identification dans la machine qui exécute le fichier nomade (en utilisantaws configure
)
Ma question
Comment le nomade peut-il être configuré pour extraire des conteneurs Docker à partir d'AWS ECR à l'aide des informations d'identification AWS?