Le contenu de cet article explique comment utiliser l'outil open source Packer pour créer facilement une image personnalisée. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Utilisez Packer pour créer des images personnalisées
L'outil open source Packer peut facilement créer des images personnalisées. Il fonctionne sur la plupart des principaux systèmes d'exploitation. Reportez-vous à cet article pour installer et utiliser Packer afin de créer facilement des images personnalisées.
Remarque
La description de cet article s'applique uniquement aux serveurs exécutant les systèmes d'exploitation Linux.
1. Installer Packer
Vous pouvez accéder à la page de téléchargement du site officiel de Packer, choisir de télécharger la version correspondant à votre système d'exploitation, reportez-vous aux étapes suivantes ou visitez les instructions d'installation officielles de Packer pour installer Packer.
Connectez-vous et connectez-vous au serveur Linux. Si votre serveur est une instance ECS Linux, veuillez vous référer à la documentation pour utiliser l'authentification par nom d'utilisateur et mot de passe pour vous connecter à l'instance Linux.
Exécutez la commande cd /usr/local/bin pour entrer dans le répertoire /usr/local/bin.
Description
/usr/local/bin est le répertoire des variables d'environnement. Vous pouvez installer Packer dans ce répertoire ou dans d'autres répertoires qui ont été ajoutés aux variables d'environnement.
Exécutez la commande wget https://releases.hashicorp.com/packer/1.1.1/packer_1.1.1_linux_amd64.zip pour obtenir le package d'installation de Packer. Vous pouvez visiter la page de téléchargement de Packer pour obtenir d'autres versions des packages d'installation de Packer.
Exécutez la commande unzip packer_1.1.1_linux_amd64.zip pour décompresser le fichier.
Exécutez la commande packer -v pour vérifier l'état d'installation de Packer. Si le serveur Linux renvoie le numéro de version de Packer, cela signifie que vous avez correctement installé Packer. Si le serveur Linux demande une commande introuvable, cela signifie que Packer n'est pas installé correctement.
2. Définir le modèle Packer
Description
Lorsque vous utilisez Packer pour créer une image personnalisée, vous devez créer un Fichier modèle au format JSON. Dans le fichier modèle, vous devez spécifier Alicloud Image Builder et Provisioners pour créer l'image personnalisée. Packer dispose d'une variété de configurateurs qui peuvent être utilisés pour configurer la méthode de génération de contenu d'images personnalisées. Ce qui suit utilise le configurateur Shell couramment utilisé comme exemple pour définir un modèle Packer.
Créez un fichier json nommé alicloud sur le serveur Linux et collez le contenu suivant.
{ "variables": { "access_key": "{{env `ALICLOUD_ACCESS_KEY`}}", "secret_key": "{{env `ALICLOUD_SECRET_KEY`}}" }, "builders": [{ "type":"alicloud-ecs", "access_key":"{{user `access_key`}}", "secret_key":"{{user `secret_key`}}", "region":"cn-beijing", "image_name":"packer_basic", "source_image":"centos_7_02_64_20G_alibase_20170818.vhd", "ssh_username":"root", "instance_type":"ecs.n1.tiny", "internet_charge_type":"PayByTraffic", "io_optimized":"true" }], "provisioners": [{ "type": "shell", "inline": [ "sleep 30", "yum install redis.x86_64 -y" ] }] }
Description
Vous devez personnaliser les valeurs des paramètres suivants.
3. Utilisez Packer pour créer une image personnalisée
Spécifiez le fichier modèle Packer pour générer une image personnalisée. image personnalisée :
Importez votre AccessKeyID : exécutez export ALICLOUD_ACCESS_KEY=your AccessKeyID.
Importez votre AccessKeySecret : exécutez export ALICLOUD_SECRET_KEY=your AccessKeySecret.
Exécutez le packer de commandes build alicloud.json pour créer une image personnalisée.
Les exemples de résultats d'exécution sont les suivants. L'exemple suivant créera une image personnalisée contenant Redis :
alicloud-ecs output will be in this color. ==> alicloud-ecs: Prevalidating alicloud image name... alicloud-ecs: Found image ID: centos_7_02_64_20G_alibase_20170818.vhd ==> alicloud-ecs: Start creating temporary keypair: packer_59e44f40-c8d6-0ee3-7fd8-b1ba08ea94b8 ==> alicloud-ecs: Start creating alicloud vpc --------------------------- ==> alicloud-ecs: Provisioning with shell script: /var/folders/3q/w38xx_js6cl6k5mwkrqsnw7w0000gn/T/packer-shell257466182 alicloud-ecs: Loaded plugins: fastestmirror --------------------------- alicloud-ecs: Total 1.3 MB/s | 650 kB 00:00 alicloud-ecs: Running transaction check --------------------------- ==> alicloud-ecs: Deleting temporary keypair... Build 'alicloud-ecs' finished. ==> Builds finished. The artifacts of successful builds are: --> alicloud-ecs: Alicloud images were created: cn-beijing: m-2ze12578be1oa4ovs6r9
Étape suivante
Créer une instance à l'aide d'une image personnalisée
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!