GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

Chef est un puissant utilitaire de gestion de configuration qui transforme l'infrastructure en code. Avec Chef, les utilisateurs peuvent facilement gérer, configurer et déployer les ressources sur le réseau à partir de l'emplacement centralisé, quel que soit l'environnement (cloud, sur site ou hybride). Cet article vous aidera à configurer un chef 12 sur CentOS 7 / RHEL 7

À partir de la version du serveur Chef 11, le frontal du serveur Chef est écrit en Erlang et le client utilise Ruby pour gérer les modifications de configuration.

Composants de Chef :

Chef est composé d'un serveur Chef, d'un ou plusieurs postes de travail et d'un nœud où le chef-client est installé. Le nom des composants est basé sur les rôles joués par chaque machine dans l'écosystème Chef.

Chef Serveur  :Il s'agit du serveur concentrateur central qui stocke les livres de cuisine et les recettes téléchargées à partir des postes de travail, auquel le chef-client accède ensuite pour le déploiement de la configuration.

Postes de travail de chef :C'est ici que les recettes, les livres de cuisine et d'autres détails de configuration du chef sont créés ou modifiés. Tous ces éléments sont ensuite poussés vers le serveur Chef à partir du poste de travail, où ils seront disponibles pour être déployés sur les nœuds chef-client.

Chef Client  :Il s'agit du nœud cible où sont déployées les configurations dans lesquelles le chef-client est installé. Un nœud peut être n'importe quelle machine (physique, virtuelle, cloud, périphérique réseau, etc.)

Configurer un Chef 12 sur CentOS 7 :

Configuration requise / Environnement :

Assurez-vous que votre système répond aux exigences de ressources suivantes. Ici, j'utiliserai CentOS 7 comme système d'exploitation de base pour l'installation de Chef.

NOM D'HÔTE ADRESSE IP SE CPU MÉMOIRE DISQUE OBJECTIF
chefserver.itzgeek.local 192.168.12.11 CentOS 7 4 4 Go 40 Go Chef serveur
chefdk.itzgeek.local 192.168.12.12 CentOS 7 1 512 Mo NA Station de travail Chef (Kit de développement Chef)
chefclient.itzgeek.local 192.168.12.20 CentOS 7 1 512 Mo NA Chef Client

Prérequis :

L'hôte doit avoir un nom de domaine complet.

Doit avoir une entrée DNS ou hôte en place.

vi /etc/hosts

192.168.12.11  chefserver.itzgeek.local  chefserver
192.168.12.12  chefdk.itzgeek.local  chefdk
192.168.12.20  chefclient.itzgeek.local chefclient

Installez le paquet wget.

yum -y install wget

Chef serveur :

Le serveur Chef agit comme un hub central pour les données de configuration. Le serveur stocke les livres de recettes, les politiques appliquées aux nœuds et les métadonnées liées à un nœud enregistré. Le nœud enregistré utilise le client chef pour demander au serveur chef des détails de configuration, tels que des recettes, des modèles et la distribution de fichiers.

Installer et configurer le serveur Chef :

Téléchargez la dernière version du noyau du serveur Chef (12.10 au moment de la rédaction).

wget https://packages.chef.io/stable/el/7/chef-server-core-12.10.0-1.el7.x86_64.rpm

Une fois le téléchargement terminé, installez le noyau du serveur chef à l'aide de la commande suivante.

rpm -ivh chef-server-core-*.rpm

Si votre système de serveur chef ne répond pas à la configuration matérielle recommandée, cette étape peut échouer.

Une fois l'installation terminée, vous devez reconfigurer les composants du serveur chef pour que le serveur fonctionne ensemble. La reconfiguration peut prendre un peu plus de temps .

chef-server-ctl reconfigure

Vérifiez l'état des composants de Chef Server à l'aide de la commande suivante.

chef-server-ctl status

Sortie :

run: bookshelf: (pid 6084) 387s; run: log: (pid 6114) 385s
run: nginx: (pid 5973) 417s; run: log: (pid 6276) 359s
run: oc_bifrost: (pid 5816) 477s; run: log: (pid 5831) 476s
run: oc_id: (pid 5961) 420s; run: log: (pid 5966) 419s
run: opscode-erchef: (pid 6186) 379s; run: log: (pid 6176) 381s
run: opscode-expander: (pid 6039) 388s; run: log: (pid 6071) 388s
run: opscode-solr4: (pid 5992) 399s; run: log: (pid 5999) 398s
run: postgresql: (pid 5805) 478s; run: log: (pid 5809) 477s
run: rabbitmq: (pid 5767) 480s; run: log: (pid 5760) 481s
run: redis_lb: (pid 5377) 595s; run: log: (pid 6272) 359s

Créez un utilisateur administrateur et une organisation :

Nous devons créer un utilisateur administrateur. Cet utilisateur aura accès pour apporter des modifications aux composants de l'infrastructure de l'organisation que nous allons créer. La commande ci-dessous générera automatiquement la clé privée RSA et doit être enregistrée dans un emplacement sûr.

Les détails de l'utilisateur sont ci-dessous.

Nom d'utilisateur :administrateur

Prénom :administrateur

Nom de famille :administrateur

Courriel :[email protected]

Mot de passe :mot de passe

Nom de fichier :admin.pem

Chemin :/etc/chef

chef-server-ctl user-create admin admin admin [email protected] password -f /etc/chef/admin.pem

Commande d'origine :

chef-server-ctl user-create USER_NAME FIRST_NAME LAST_NAME EMAIL 'PASSWORD' -f PATH_FILE_NAME

Il est temps pour nous de créer une organisation pour organiser les configurations des chefs.

Nom abrégé :itzgeek (Remarque :le nom doit commencer par une lettre minuscule ou un chiffre, peut contenir une lettre minuscule, des chiffres, des traits d'union et des traits de soulignement, et doit être compris entre 1 et 255 caractères )

Nom complet de l'organisation :ITzGeek Inc (Remarque :Doit commencer par un caractère d'espace non blanc et doit être compris entre 1 et 1023 caractères )

Utilisateur de l'association :admin (Remarque :Cette option associera l'utilisateur créé précédemment (admin ) avec les administrateurs groupe de sécurité sur le serveur chef )

Nom de fichier :itzgeek-validator.pem (Remarque :la commande génère automatiquement la clé privée RSA et doit être enregistrée dans un emplacement sûr )

Chemin :/etc/chef

chef-server-ctl org-create itzgeek "ITzGeek, Inc" --association_user admin -f /etc/chef/itzgeek-validator.pem

Commande d'origine :

chef-server-ctl org-create short_name 'full_organization_name' --association_user user_name --filename ORGANIZATION-validator.pem

A partir de maintenant, vous aurez deux .pem clés dans /etc/chef annuaire. Dans notre cas, ils s'appelleront admin.pem et itzgeek-validator.pem . Bientôt, nous placerons ces deux fichiers dans la machine du poste de travail Chef.

Pare-feu :

Le serveur Chef nécessite que les ports suivants soient ouverts via le pare-feu. Mais n'activant que 80 et 443 ferait aussi pour nous.

Exécutez la commande suivante pour autoriser 80 et 443 à travers le pare-feu.

firewall-cmd --permanent --zone public --add-service http
firewall-cmd --permanent --zone public --add-service https
firewall-cmd --reload
Pages :1 2 3
Cent OS
  1. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  2. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

  3. Comment configurer Icinga Web 2 sur CentOS 7 / RHEL 7

  4. Comment configurer le serveur SVN sur CentOS, RHEL et Fedora

  5. Comment configurer mutt dans CentOS/RHEL

Comment configurer un cluster haute disponibilité sur CentOS 8 / RHEL 8

Comment configurer Icinga Web 2 sur CentOS 8 / RHEL 8

Comment exécuter Google Chrome en tant que root sur CentOS 7 / RHEL 7

Comment configurer la connexion sans mot de passe SSH sur CentOS 8 / RHEL 8

Comment configurer le serveur SysLog centralisé sur CentOS 8 / RHEL 8

Comment configurer la réplication MySQL dans RHEL/Centos