Blog de Florent Appointaire

Blog sur les technologies Microsoft (Windows Server, System Center, Azure, Windows Azure Pack/Azure Stack, etc;)

[Docker] Installation d’UCP avec une PKI ADCS

Voulant utiliser une PKI déjà existante pour mon interface UCP, et n’ayant rien trouvé sur internet si ce n’est le chapitre 4 de la documentation officielle, je vais vous expliquer comment faire ceci.

Les prérequis sont bien sur d’avoir une PKI qui tourne avec AD CS dans mon cas, et ensuite d’avoir une VM qui accueillera l’interface UCP, et où docker-engine est déjà installé.

Pour commencer, il faut installer la librairie openssl sur un ordinateur Windows: http://slproweb.com/download/Win32OpenSSL-1_0_2h.exe

Ensuite, il faut générer le certificat pour notre contrôleur UCP. C’est un certificat de type Web Server. Ajoutez tous les DNS susceptibles d’être utilisés pour accéder à l’UCP:

image

N’oubliez pas, dans la partie Private Key, de cocher la case pour autoriser l’export de la clé privée:

image

Il faut maintenant télécharger votre certificat root et exporter le certificat que vous venez de générer avec la clé privée:

image

image

Comme sur Linux nous pouvons utiliser que des certificats avec l’extension PEM, on va devoir convertir nos certificats. On va commencer avec le certificat root. Exécutez la commande suivante pour le convertir. Attention a bien nommer le nouveau certificat ca.pem:

cd C:\OpenSSL-Win32\bin
openssl.exe x509 -inform der -in "C:\Users\FlorentAppointaire\Downloads\RootCertificate.cer" -out "C:\Users\FlorentAppointaire\Desktop\ca.pem"

image

Maintenant nous allons extraire notre clé privée du certificat de base. Ce certificat sera découpé en 2 parties, cert.pem et key.pem:

openssl.exe pkcs12 -in "C:\Users\FlorentAppointaire\Downloads\FLOAPP-UCP01.pfx" -out "C:\Users\FlorentAppointaire\Downloads\cert.pem" –nokeys

openssl.exe pkcs12 -in "C:\Users\FlorentAppointaire\Downloads\FLOAPP-UCP01.pfx" -out "C:\Users\FlorentAppointaire\Downloads\key.pem"

image

Il faut maintenant supprimer la passphrase du certificat key.pem car docker ne supporte pas cette possibilité:

openssl rsa -in "C:\Users\FlorentAppointaire\Downloads\key.pem" -out "C:\Users\FlorentAppointaire\Desktop\key.pem"

image

Maintenant que nous avons nos certificats, il faut les transférer sur les serveurs UCP:

image

Allez sur le premier serveur UCP et créez un nouveau volume Docker:

sudo docker volume create --name ucp-controller-server-certs

image

Il faut récupérer le chemin de ce volume où nos certificats seront stockés. On va ensuite copier nos certificats dans ce répertoire:

sudo docker volume inspect ucp-controller-server-certs
sudo cp /tmp/* /var/lib/docker/volumes/ucp-controller-server-certs/_data/
sudo ls -l /var/lib/docker/volumes/ucp-controller-server-certs/_data/

image

Une fois terminé, utilisez la commande suivante pour lancer l’installation de l’UCP. N’oubliez pas le paramètre –external-server-cert pour utiliser les certificats qui sont dans le volume que nous avons créé précédemment:

sudo docker run --rm -it --name ucp -v /var/run/docker.sock:/var/run/docker.sock docker/ucp install -i --host-address 10.0.2.150 --external-server-cert

image

Si vous accédez à votre interface, vous devriez avec le certificat que vous avez créé est utilisé:

image

Bon courage Sourire

Facebook Like
Anonymous