 J'aimerais que vous soyez ici pour parler d'alimentation. Je vais faire une introduction à ce que c'est et ce que vous pouvez utiliser. Alimentation est primairement une fréquence d'exécution remotely, ce qui signifie que c'est un truc qui vous permet d'exécuter un code d'une machine sur beaucoup d'autres, juste d'un autre, selon ce que vous voulez faire. C'est un set d'outils qui sont construits autour de cette fréquence. Donc l'un des outils qui est assez important est le management de la configuration, mais vous pouvez aussi l'utiliser pour la provision, pour l'entraînement, etc. Donc qui ici utilise le management de la configuration ? La majorité de vos outils, les outils que vous utilisez ? Peut-être que vous utilisez un pavé, un chef, ou un salet. C'est installé quelque part, et parfois vous n'avez pas de choses avec ça. Je vois que Toref utilise tout. Oui, en même temps, je suis sûr. Ils ont tous beaucoup de bonnes choses et beaucoup d'outils. Pourquoi utilisez-vous le salet ? Le premier, c'est écrit Python, donc si vous êtes un shop Python comme Lojila, c'est un point très intéressant, parce que ça signifie que vous pouvez l'utiliser sans avoir à apprendre un autre langage. Il utilise YAML pour décrire les états et les choses que vous utilisez. La date que vous avez créée est utilisée en YAML, à moins par défaut. Donc ce n'est pas un DSL, comme le chef d'Oppopeta, c'est une langue raisonnable. Il a beaucoup de documentations, il a une grande communauté d'utilisateurs, et aussi des contributaires. Il s'est mobilisé très vite, il y a beaucoup d'activités de développement. Il y a aussi des raisons de ne pas l'utiliser. L'une des raisons de ne pas l'utiliser, c'est que c'est écrit Python, donc si vous n'avez pas l'air, vous allez probablement mieux offrir quelque chose d'autre. Il y a aussi un projet jeune, donc, je veux dire, il est plus mature, mais le fait que c'est encore plus rapide signifie qu'il y a beaucoup de choses à faire, il est plus stable et plus mature, et il y a moins de choses à faire. Donc il faut continuer avec le développement. Et l'une des aspects controversiaux est qu'il n'utilise pas quelque chose comme SSH pour la communication entre les machines. Il a son protocole basé sur 0MQ, et il a son crypto et l'authentication sur ceci. Oui, c'est Martin. Je voulais juste ajouter une chose. Il s'agit aussi d'une pièce de Python modulée. Qu'est-ce qui pourrait se passer? Et une autre raison de ne pas l'utiliser, c'est que si vous êtes très heureux avec votre caractère config, vous n'aurez probablement pas, parce que, comme Tolef a dit, c'est terrible. Avant d'aller dans les détails, nous allons parler un peu de terminologie, parce que, évidemment, depuis que c'est un autre système de config, il y a sa propre terminologie. Donc, généralement, vous avez un master, qui est la machine qui contrôle tous vos autres systèmes, et ces autres systèmes sont appelés les minions. Normalement, vous avez seulement un master et une ou deux mille millions de minions. Vous pouvez aussi avoir une technologie plus compliquée, si vous avez besoin. Donc, la façon dont ça fonctionne sur le niveau network, c'est que les minions apprennent la connexion avec le master, donc vous n'avez pas de nouvelles portes sur les minions. Et puis, ils attendent pour des choses à faire. Et puis, quand ils ont fait des choses, ils retournent les résultats pour le master, synchroniquement. Donc, vous pouvez prendre la commande sur une mille mille millions, et vous n'avez pas... Vous avez les résultats comme ils viennent. Un autre mot qui a besoin c'est la graine d'eau. C'est un data statique qui est sur les minions. Donc, par exemple, Aignan, met ça ici. Non, il ne veut pas. Non, il ne veut pas. Quoi-même. Non, ok. Ok, non, il n'y a pas encore. Ouais, un jour maintenant. Yay! Donc, j'ai deux minions. Ils sont tous respondants. Un d'entre eux est mon laptop, donc c'est tous les master et les minions. Et l'autre est le VM. Et je peux demander le VM pour me dire ce que ces graines sont et c'est un truc comme quelle version d'eau est en train. Quelle sorte de machine est-ce que c'est physique ou c'est un VM. Et c'est en train d'habiller etc. Donc, vous savez un peu de choses sur les minions, ses IP-adresses, l'architecture, des trucs comme ça. Des autres données que vous avez sont les piles. Les piles sont des données contrôlées pour les graines sont présentes sur le master et sont appliquées différemment à chaque minion. Donc, chaque minion a sa pile qui est donnée par le master. Et puis, sur le management config vous avez des states qui sont des descriptions de ce que vous voulez faire ou de quel state vous voulez que le minion soit en train. Vous avez un topfile qui décrive les states appliquées à chaque minion ou les piles appliquées à chaque minion. C'est un autre topfile pour les piles. Et il y a la notion d'un topfile qui est aller et appliquer tous mes states à cette minion ou à ces minions. Donc, c'est un genre de description de mes states et aller faire ça et attendre un peu et voir que c'est tout fait. Donc, normalement, le topfile devrait être important. En même temps, il devrait juste dire que je suis déjà dans le right state et il n'y a rien à faire. Donc, comment pouvez-vous ajouter un minion ? Vous installez le package salte de minion. Il est présent dans Weezy Backpost. Mais il y a probablement de nouvelles versions sur www.soulstack.com Services qui sont maintenues par le même gars donc ça devrait être très bien. Ok. Il y a aussi d'autres textes que vous pouvez câler et poursuivre et on ne parle pas de ça. Ensuite, si vous avez installé le minion vous devez le dire où c'est le masteries. Par défaut, c'est pour le salte. Et puis vous commencez le minion et vous allez essayer de connecter au masteries. Mais, depuis que le masteries ne le connait pas, vous devez vérifier que le public qui tente au masteries c'est le meilleur. Et puis, quand vous acceptez le public, vous devez aller. Donc, ce genre de choses peut-on gérer ? Et puis il y a quelque chose qui est le mignon en marchant et en répondant et c'est la communication avec le master. Ok. Vous pouvez marcher d'autres commandes ou des codes Python ou tout autre. Et une chose assez importante c'est que vous n'avez pas d'autres commandes. Vous pouvez utiliser chel globbing ou RegEx ou filter par grain ou pillas pour dire que je veux marcher sur ces commandes seulement sur ce set de mignons. Par exemple, ici, j'ai marché seulement sur les mignons que j'ai marchés. Donc, dans mes deux mignons, l'une est marchée et l'autre est marchée. Et on verra que le master n'a qu'une chose. Il y a un nombre d'autres fonctions comme ce que vous pouvez marcher pour installer des packages, créer des utilisateurs, créer des databases ou juste obtenir des informations. Je veux dire, certains font des choses sur les mignons, un peu juste acheter des informations. Il y a un mélange de choses. Vous pouvez write-your-own parce que ce sont des fonctions Python. Vous pouvez ajouter des fonctions là-bas. Il y a des fonctions de master à mignons et vous pouvez les rassembler comme s'il y avait été construit. Dans le partage de config, par défaut, vous destriverez le state que vous voulez en utilisant YAML. Et vous pouvez utiliser JINJA Vous pouvez avoir des variables basées sur des graines ou d'autres choses ou d'autres fonctions sur les mignons. Ou vous pouvez avoir des loops. Vous pouvez avoir des conditions et utiliser beaucoup de pouvoir. Il y a des complexes mais il y a des graines et des piles. Ils sont disponibles pour targeter à quel stage il faut appliquer à quel mignon. Ils sont disponibles dans JINJA pour la templation. Donc, ils sont disponibles pour templer les files de state ou d'autres files pour les mignons. Il y a des files de state de config. Il y a des différences entre les mignons et je vais utiliser le même template. Et le mignon va faire le travail de replacer le template avec les valeurs correctes. Donc, comment j'ai targeté mes mignons? J'ai ce file top OK. Mon state commun s'applique à tout le monde et mon state Apache s'applique à les mignons qui sont web server. Donc, comment j'ai fait mon state commun? Il dit que j'ai besoin d'installer les packages de vm.less et les packages de dépsum. Je vais vouloir que le package de dépsum s'applique à des mignons de dépsum et non à les mignons de redhat. Depuis que il y a un mignon qui me dit que s'il y a des machines, des windows ou des mignons de redhat de dépsum je peux le faire. Je peux le faire ici dans le file sls ou en utilisant différents files dans le file top. Je peux avoir des files sls plus compliqués. Assumant que j'ai pour chaque machine, qui est un web server, je le dis, ok, vous êtes servant, ça et ça et ça vhost. Je peux accesser ce data dans mon file sls et dire, ok, il y a le package de dépsum et il y a le service de dépsum et c'est restarté quand j'ai changé l'un des files vhost. C'est incompliqué parce que j'ai besoin de définir ce qu'il y a mais cette idée de remplacer un template avec le data et depuis que le master peut servir le service de file je peux avoir le template sur le master et dire, ok, et dire le mignon, ok, vous allez avoir le template ici et replacer les variables dans ça. Alors il y a un autre chose qu'il y a c'est l'intégration avec cloud ou virtualisation APIs donc il peut parler à OpenStack et d'autres choses comme ça. Vous devez donner quelques credentials et vous devez savoir ce qu'il y a qui vous permettra de provisioner vos VMs et donc pré-générer le mignon et pré-accepter sur le master et puis quand le VM va il sera capable d'avoir déjà un high state d'exemple et d'être dans la configuration correcte. Il peut aussi parler à LibVert donc ici il sait de la LibVert qui est sur mon laptop et il sait qu'il y a un running VM et un peu de shutdowns il peut créer de nouveaux VMs d'un template d'une image et il peut manager ces choses et donc avec un mignon qui s'est présenté dans le test.ping plus tard, c'est un host qui peut être managé avec SolVert et je peux avoir documentation sur d'autres modules de fonction avec des options donc pour exemple, si je veux voir des informations sur mon VM si je dis quel VM il serait mieux ici ok, donc il me dit que c'est un adresse network, c'est un trafic c'est un disque et quelque chose comme ça que je ne pouvais aller à LibVert directement et que SolVert donne une façon unifiée et une façon programmative pour travailler avec ça une chose que l'on peut utiliser c'est que vous pouvez écrire votre propre mignonne qui est qu'est-ce que le mignon doit faire avec le data des applications qui nécessitent ce type de data dans le database ou quelque chose comme ça pour monitorer mes VMs donc c'est aussi un API qui est offert par SolVert c'est tout ce que j'ai pour cette overview et si vous avez des questions vous avez dit que SolVert est un projet de fast moving qui nous a donné des points qui vous permettent de considérer si vous voulez utiliser SolVert incluant ce type de crypto si vous avez été dans le projet pour longtemps et j'aimerais entendre votre opinion sur les questions de design que vous parlez du crypto du module Python et d'autres choses si vous pensez qu'ils vont être résolus parce que c'est des problèmes oui il y a un moyen d'utiliser SolVert plutôt que d'utiliser le protocole mais apparemment c'est pas assez scalable parce que c'est vraiment le corps de leurs propres protocoles que vous pouvez vraiment faire 2000 dominions et ils ouvrent leur connecteur pour le master quand ils ont besoin et c'est juste le plus qui est probablement pas le cas avec SolVert et donc je ne suis pas sûr ils savent pas ces problèmes il ne semble pas être une priorité c'est vraiment ma question vous avez été dans le projet plus longtemps que j'ai ce que vous ressentez c'est pas une priorité ils sont heureux avec leur crypto crypto-coc je ne sais pas si ils sont heureux mais c'est pas une priorité donc vous pensez que ça fait du sens d'utiliser SolVert ? je pense il y a assez de gens en utilisant maintenant ou il y a un réveil de leur protocole mais j'espère que il y a des réveils de SolVert il y a des séries mais les crypto-cocs je ne sais pas comment c'est c'est un réveil je me suis demandé est-ce qu'il y a une raison spécifique que vous avez choisi SolVert plutôt que de dire Ansible qui semble être très similaire mais il y a il n'y a pas des détails que vous avez mentionnés je l'ai entendu Martin il n'y a pas de Ansible et il n'y a pas de Ansible il n'y a pas de Ansible le projet Ansible c'est un show de 1-man de ce que j'ai compris ok je suis désolé, je ne veux pas qu'il y ait un 2-man mais Ansible est bien financé il y a beaucoup de gens il n'y a pas c'est un show de 1-man je ne sais j'ai aussi été engagé à la maintenance et c'est pourquoi je me suis un petit peu mal par ici j'ai starté avec SolVert je pense que deux ans auparavant quelque chose comme ça je peux massage je me suis également estimé quel seurage pour vous il y a des sals d'Ansible mais aussi je ne me suis même pas si le management pour la virtualisation fluctue吗 d'autres technologies de virtualisation. Je sais qu'il y a des... Il y a des intégrations avec des trucs comme Vagrant et Docker. Je ne choisis pas ces trucs, donc je ne suis pas très familial avec eux, mais je sais que ça existe et que les gens utilisent le sol afin d'obtenir des instances Docker. Si vous inquiétez ce que vous devez utiliser, je vais donner une parole à l'aménagement de configuration. Cool. Bonjour. Ce sont des problèmes que je vois avec toutes les solutions d'automation aujourd'hui. C'est que si vous avez réussi à obtenir ce component central, vous pouvez faire quelque chose à tous les hostes. Ça n'a pas de manière à vous protéger. Est-ce qu'il y a des solutions similaires ou similaires? Non, ce n'est pas ce que je sais. D'ailleurs, c'est un problème difficile pour vous. Même si vous avez le programme check signé, si quelqu'un a root sur votre système de master, vous êtes assez faible parce qu'ils peuvent modifier le programme pour ne pas lire la signature. Il y a d'autres techniques d'utiliser les keys SSH. Par exemple, vous pouvez simplement utiliser l'agent forwarding et ne pas avoir le key SSH local à la machine centrale. Mais c'est difficile de faire le fait que vous ayez un test centralisé. Vous pouvez le faire dans la façon centrale. Vous n'avez pas de master traditionnel. En parlant d'agent forwarding, pouvez-vous décrire un workflow avec le salt que vous utilisez pour un single note ou un multi note sans un master? Est-ce possible? Je ne suis pas sûr. Ma question est essentiellement, comment vous utilisez le salt dans un environnement décentralisé sans un master? Vous pouvez l'utiliser sans un master. Si vous avez juste un note, si vous avez un million sur le salt, vous pouvez donner des files SSH, des trucs comme ça, et dire que c'est bon. Vous n'aurez pas besoin d'un million pour faire ça. Vous n'avez pas besoin d'un million pour faire ça. Vous n'avez pas besoin d'un million pour faire ça. Vous n'avez pas besoin d'un million pour faire ça. Vous n'avez pas besoin d'un million pour faire ça. Ça arrive à나�selfie dans le Python et on n'a pas besoin d'una しek qui throat Pocket, ou cette texture des ingénieurs dominating le site. Ce карter firing est bon. Si votre tête va tourner dans le menu, oui, ou à l'ext trucks. En過后, C'est aussi pour ça qu'il faut être décentralisé et qu'il faut mettre tous les repositories dans les mines, ou qu'ils se synchronisent avec l'autre et qu'ils s'appliquent juste avec cron-call sur ce data set, et qu'ils s'appliquent eux-mêmes. Et puis, tu as toujours le problème que si quelqu'un s'accueille dans ton gate repo et met des trucs dans le code, ils peuvent faire des codes qu'ils veulent sur toutes les machines. C'est un issue, et c'est un issue que je n'ai pas utilisé pour le moment, mais j'ai voulu dire quelque chose comme, j'ai poussé le file de description sur les menus, puis le problème est que tu vas probablement pousser beaucoup d'informations sur tous tes hosts, et ça pourrait être un issue, tu peux discuter beaucoup d'informations sur ces hosts. Je veux dire, tu peux mettre tous les trucs secrets ou les trucs restrictifs, tu peux le mettre dans les piles, et puis, c'est seulement envoyé aux menus qui sont listés pour ça. Toutes les States peuvent être évoquées, et tous les files peuvent être évoquées par toutes les menus, mais les piles sont seulement disponibles pour les menus qui sont évoqués. Je suppose que j'ai voulu adopter l'application de configuration dans l'interprète avec Sol. Qu'est-ce que je dois mettre dans Sol ? Je dois mettre chaque configuration pour chaque application, même si c'est juste une seule instance, ou il y a quelque chose que je voudrais configurer au-delà de l'application de Sol ? Je vais tendre à mettre autant de choses que possible dans Sol, parce que ça fait que c'est beaucoup plus facile de repliquer l'application d'autres hosts, si tu as besoin d'un deuxième host, ou si ta machine se démarre ou quelque chose comme ça, c'est... ça remet beaucoup de peintures en s'étendant une nouvelle machine. Quand tu commences à utiliser ça, tu mets des choses comme 1x1 dans le config local, dans le management config, parce que tu n'es pas commencé par scratch, mais je pense que ça fait le sens de mettre autant de choses que possible dans le management config. Pour répondre à cette question, je voudrais vraiment poser la question, est-ce que tu penses que tu peux récemment avoir un environnement de s'étendant ou de développement avec ces choses ? Si l'answer est non, peut-être que tu es okay avec juste avoir un backup d'un host, mais en général, juste mettre tout. C'est juste moins travaillé. Est-ce que Sol a une possibilité de faire un configuration multiple, d'avoir un nombre de mignons ou d'avoir une disponibilité de configuration ? Martin dit oui. Je ne suis pas familiar avec ça parce que je n'ai jamais besoin de ça. J'ai un set-up, mais... Je ne sais pas ce qu'il s'appelle, mais l'une des outils est juste un bounceur. Tu serais un host central, puis tu serais un bounceur à 15, donc tu serais un host central, puis tu serais un bounceur à 15, et ils contrôleraient 20 000 mignons à chaque chose. Je pense que nous sommes à l'heure. Merci beaucoup à tous d'être venus, et à la prochaine.