Comment faire pour utiliser un registry docker avec authentification ?
D'aprés la documentation marathon il faut envoyé un tar.gz avec les credentials dedans https://mesosphere.github.io/marathon/docs/native-docker-private-registry.html mais cela n'est pas possible dans l'offre "Containers" OVH.
Peut être mettre le fichier sur Object Storage avec un lien signé avec date d'expiration ? C'est pas très propre comme solution.
Docker registry private
Sujets apparentés
- Kubectl - TLS handshake timeout
5632
18.03.2019 09:07
- [Auto TLS sur k8s] ClusterIssuer cert-manager pour OVH
4453
18.11.2017 22:45
- Ingress on ports 80/443 for cluster
4203
05.12.2018 14:44
- Kubernetes Metrics
3187
18.11.2019 10:49
- A-t-on une idée des futurs tarifs?
3039
03.04.2019 19:18
- OVH Managed Kubernetes security patches
2915
06.12.2018 10:23
- Kubernetes ingress port 80 & 443
2784
31.12.2018 11:48
- Node Autoscaling / K8s dans une autre région: est-ce que K8s vaut le coup ?
2603
23.01.2020 16:40
- Datastore commun ?
2596
12.10.2016 12:15
Hello !
L'utilisation d'une registry Docker privée (avec auth) n'est pas encore disponible sur notre offre mais le sera d'ici peu. De plus, une registry Docker OVH sera prochainement disponible (disposant elle aussi d'une authentification, et d'un espace privé permettant d'y stocker ses images).
Pour ton information, en effet, il est nécessaire de déposer une archive TAR contenant le fichier JSON produit par la commande docker login sur les hosts.
Bonjour,
Je suis aussi intéressé pour faire fonctionner ma registry privée (hébergée sur un VPS ovh) avec authentification.
Pour le moment j'ai désactivé l'authentification dans mon reverse proxy (nginx) pour les requêtes provenant du LB (docker-XXXX-1.lb.13.containers.ovh.net3.containers.ovh.net)
Voilà la conf Nginx si jamais cela intéresse quelqu'un, le temps qu'une solution avec authentification soit possible:
server {
listen 80;
server_name 1registry.domain.com;registry.domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name 1registry.domain.com;registry.domain.com;
ssl_certificate /etc/letsencrypt/live/1registry.domain.com/fullchain.pem;registry.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/1registry.domain.com/privkey.pem;registry.domain.com/privkey.pem;
ssl_dhparam /etc/pki/tls/private/dhparams.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_prefer_server_ciphers On;
ssl_session_cache shared:SSL:10m;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 900;
add_header Strict-Transport-Security "max-age=15552000" always;
add_header X-Frame-Options "DENY" always;
location ~ ^/(.*) {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/docker-registry.htpasswd;
satisfy any;
allow /32;
deny all;
proxy_pass http://127.0.0.1:5000/$1;
}
}
Merci pour l'astuce, pour info et pour les futurs visiteurs j'ai réussi à déployé via API en utilisant un registry privé
Requéte post sur /apps avec en payload
> {
> "id": "/testapi",
> "instances": 1,
> "cpus": 0.5,
> "disk": 0,
> "mem": 50,
> "backoffFactor": 1.15,
> "backoffSeconds": 1,
> "container": {
> "docker": {
> "forcePullImage": false,
> "image": "mon nom d'image",
> "network": "BRIDGE",
> "portMappings": [
> {
> "containerPort": 80,
> "hostPort": 0,
> "protocol": "tcp",
> "servicePort": 10023 (a incrémenter entre chaque nouveau service)
> }
> ],
> "privileged": false
> },
> "type": "DOCKER",
> "volumes": []
> },
> "maxLaunchDelaySeconds": 600,
> "uris": [
> "url du tar.gz contenant l'authentification du registry"
> ]
> }
Merci de partager ce genre d'astuces!
@dgoujard, pour info, tu peux laisser le servicePort à 0, et marathon se chargera d'en trouver un disponible.
Pour info, on est en train de bosser sur le fait de pouvoir s'authentifier sur une registry existante via un jeu de credentials que vous uploadez chez nous via l'API OVH. La feature devrait être disponible la semaine prochaine si tout va bien.
La registry authentifiée OVH est aussi dans les cartons mais arrivera un peu plus tard.
Ok, la feature qui vous permet de faire un appel API chez nous pour uploader des credentials vers n'importe quelle registry privée (voire plusieurs sets de credentials), et que ces credentials soient utilisées par marathon au docker pull est prête.
Tout ce qu'il nous reste à faire est d'ajouter ces appels API sur l'API OVH :)
C'est en prod! Vous pouvez ajouter des credentials vers des registry privées, via l'APIv6 ou le https://www.ovh.com/manager/sunrise/containers/index.html#/containers manager sunrise.
Une fois les identifiants registry ajoutés dans l'interface et déployés, vos slaves seront aptes a puller des images depuis cette registry privée.
Pour récupérer ces credentials et être sûr de l'URL de la registry, connectez vous sur une machine sur laquelle vous avez déjà un accès sur cette registry, et affichez le fichier de config de docker:
```
$ cat ~/.docker/config.json
{
"auths": {
"https://index.docker.io/v1/": // registryUrl
{
"auth": "usernameandpasswordinbase64==",
"email": ""
}
}
}
```
La documentation de marathon précise qu'il vous faudra ajouter un lien public vers un fichier `.tar.gz` contenant vos identifiants, dans le champ `uris` du `marathon.json`. Nous faisons tout ça pour vous (sauf que le lien est un path local, non un lien public), du coup, vous n'avez **rien** n'à faire de plus pour bénéficier de cette feature.
Et voilà le tutoriel officiel: https://community.runabove.com/kb/en/docker/using-a-private-registry.html !
Bonjour à tous,
C'est avec un grand plaisir que la team Containers vous présente leur nouveau produit : OVH Docker Registry.
Ce nouveau service, en beta, vous permettra de bénéficier d'une registry docker avec une gestion fine des droit d'accès sur vos images. Image publique ou privée, peu importe, à vous de décider !
Venez tester le service : https://www.runabove.com/ovh-docker-registry.xml
N'hésitez pas à nous faire des feedbacks !
L'Equipe Containers.