Un monde d'octets

Aller au contenu | Aller au menu | Aller à la recherche

mercredi, février 14 2024

Rundeck: definition d'un fichier de resources pour les noeuds

Type d'inventaire

Nous utilisons un inventaire de type file dont les propriétés sont :

Format: resourceyaml
File Path:/etc/rundeck/resources.yaml 
Generate: Yes
Require File Exists: Yes
Writeable: Yes

Contenu du fichier

ce fichier peut (et doit) être modifié avec l'éditeur inégré pour cette définition 'inventaire dans rundeck

interceptor: 
  nodename: interceptor
  hostname: 192.168.9.79
  description: raspberry pi 
  username: interceptor
  osFamily: unix
  sh-authentication: privateKey
  ssh-key-passphrase-option: option.sshKeyPassphrase
  ssh-key-storage-path: keys/interceptor/id_rsa.priv
  ssh-key-passphrase-storage-path: keys/interceptor/privkey.password

les paths des clefs et passphrase ssh auront, bien évidemment, été créé.

Plus di'informations sur les noeuds et leurs options sur la documentation officielle

vendredi, avril 2 2021

Jenkins : updater jenkins dans l'image docker

Jenkins étant une application java, son update dans docker se fait par remplacement du war :

Se connecter root au container :

docker -u 0 -t -i jenkins bash

Télécharger l'image war

sur http://updates.jenkins-ci.org/download/war/, faire un wget de la dernière image. puis :

mv ./jenkins.war /usr/share/jenkins

Relancer le container

docker restart jenkins

Vous pouvez bien sur contrôler les logs pour voir que tout s'est bien passé !

samedi, mai 23 2020

Dev et Ops

Dans le DevOps, il y'a Dev et Ops, et il y'a des tâches pour chacun et des tâches en commun.

Taches des Dev

  • Comprendre la chaine de déploiement (builds, déploiements, tests …) et pourquoi elle est si importante,
  • Avoir un environnement de bac à sable sur sa propre machine
  • Être en mesure d'identifier un point faible, y remédier ou si nécessaire, remonter l'information aux Ops

Un dev n'est pas un simple "pondeur de code" mais quelqu'un qui doit connaître un minimum des process Ops pour être en mesure que ses produits soient en adéquation avec la plateforme. Il doit aussi se reposer sur l'Ops quand nécessaire.

Tâches des Ops

  • Installation et configuration des serveurs, stockage et réseaux ...
  • Supervision des serveurs,
  • Administration des automatisations,
  • Gestion et délégation des accès aux logs (pour une vision par les devs)

Il n'est pas forcément nécessaire qu'un ops connaisse toutes les technos. C'est un travail d'équipe.

Tâches communes

  • Discuter des process et du planning de déploiement
  • Voir les modalités de scale up, scale down, update
  • Optimiser les taches de CI/CD
  • Evaluer le taux de disponibilité à atteindre

Devops - Logiciels

Gestion de version

  • git, github, gitlab
  • subversion
  • bitbucket

Tout depend de la politique de l'entreprise.

Automatisation des tests

  • scripts curl
  • selenium ide et selenium webdriver (librairie python de controle de gecko)
  • browerstack (payant)

Intégration continue

  • Gitlab CI
  • Jenkins
  • Travis CI, Circle Ci, Bamboo, CodeShip, TeamCity (payants)

Gestion de configuration

  • Ansible (agentless, si ce n'est ssh)
  • Puppet
  • Salt
  • Chef
  • Fabric

Monitoring

  • Zabbix
  • Inciga
  • Nagios
  • Cacti
  • CollectD
  • Datadog (payant)

Journaux

  • ElasticSearch/Logstash/Kibana (eventuellement filebeat, fluentbit, fluentd ...)
  • Datadog (payant)
  • logz-io (elk en mode saas)

Virtualisation

  • Openstack
  • Vmware
  • Virtualbox
  • Vagrant/Packer (en automatisation)

Containerisation

  • LXC
  • Docker
  • Kubernetes

Load balancers

  • NgInx
  • Haproxy

A tout ca s'ajout encore

  • Analyseurs de codes (sonar, etc...)
  • Repos d'artifacts
  • Outils de déploiement
  • Outils de collaboration interne
  • Outils de suivi d'incident/changement