Avec le développement rapide d'Internet, la construction d'informations des entreprises accorde de plus en plus d'attention à l'exploitation et à la maintenance automatisées, et elles explorent également constamment divers outils d'exploitation et de maintenance automatisés open source. Parmi eux, SaltStack est un très bon outil d'exploitation et de maintenance automatisé, qui présente les avantages d'une maintenance facile et d'un déploiement rapide, et est largement utilisé dans les entreprises Internet.
SaltStack se caractérise par une architecture distribuée qui peut être déployée, étendue et maintenue très facilement. Dans le même temps, les fonctionnalités du langage SaltStack sont également très excellentes. Il est basé sur les langages Python et Jinja2, il est donc très simple et facile à apprendre, et la syntaxe est plus facile à utiliser que les autres outils d'automatisation.
Nous présentons ici comment implémenter des outils d'exploitation et de maintenance automatisés open source SaltStack via PHP.
Tout d'abord, nous devons installer SaltStack et préparer l'environnement du serveur avant l'installation.
1. Installer SaltStack
Pour installer SaltStack sous Centos ou Ubuntu, vous pouvez exécuter la commande suivante :
• Système Centos : miam install salt -minion -y
• Système Ubuntu : apt-get install salt-minion –y
2. Configurer SaltStack
Après l'installation, vous avez besoin Configurez SaltStack, modifiez le fichier de configuration et définissez le minion_id et l'adresse IP ou le nom de domaine du maître sur l'identifiant et l'adresse IP ou le nom de domaine du nœud SaltStack Master que nous avons installé.
• 在Centos系统下: 修改/etc/salt/minion文件,将id的值改为SaltStack Master节点的id, 执行service salt-minion restart实现配置生效。 • 在Ubuntu系统下: 修改/etc/salt/minion_id文件,将id的值改为SaltStack Master节点的id, 执行service salt-minion restart实现配置生效。
3. Testez SaltStack
Une fois la configuration terminée, vous pouvez exécuter la commande via le nœud SaltStack Master pour vérifier si le minion est connecté avec succès. comme suit :
• 在SaltStack Master节点下,执行命令salt ‘*’ test.ping 或者执行命令salt ‘minion_id’ test.ping • 如果出现True,则表示SaltStack Master节点和minion成功联通。
function call_salt_api($api, $params) { $url = 'http://saltapi-url-here:8000/'; $content = json_encode($params); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url . 'run'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $content); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($content) )); $result = curl_exec($ch); curl_close($ch); return $result; }
function call_salt_command($command, $target, $arguments) { $params = array( 'client' => 'local', 'tgt' => $target, 'fun' => $command, 'arg' => $arguments, 'expr_form' => 'list' ); $result = json_decode(call_salt_api('run', $params), true); if (isset($result['return'][0])) { return $result['return'][0]; } return false; }
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!