Compare commits

...

8 Commits

Author SHA1 Message Date
root
b812948257 role AWX 2024-01-30 12:54:38 +01:00
root
88061eb89d reorganisation du role s-awx et s-awx-post 2024-01-30 11:55:30 +01:00
root
6fbad9d9fa MAJ role AWX 2024-01-30 11:38:16 +01:00
sio user
30c7275ba6 filebeat... 2024-01-30 11:25:20 +01:00
root
33529f2781 ajout role zabbix-cli pour vm à superviser & token à jour avec BD 2024-01-30 10:48:57 +01:00
Flo
77a7f3c567 update zabbix 2024-01-29 21:15:11 +01:00
root
a3235af304 modifs diverses 2024-01-29 18:06:09 +01:00
root
17647b17da ajout role awx 2024-01-29 18:02:49 +01:00
15 changed files with 172 additions and 9 deletions

6
goss/s-awx.yaml Normal file
View File

@@ -0,0 +1,6 @@
interface:
enp0s8:
exists: true
addrs:
- 172.16.0.22/24
mtu: 1500

View File

@@ -1,12 +1,14 @@
---
- hosts: localhost
connection: local
become: yes
roles:
- base
- goss
- r-ext
- snmp-agent
- zabbix-cli
- ssh-cli
# - syslog-cli
- post

View File

@@ -1,6 +1,7 @@
---
- hosts: localhost
connection: local
become: yes
roles:
- base
@@ -9,5 +10,5 @@
- ssh-cli
# - syslog-cli
- dhcp
- snmp-agent
- zabbix-cli
- post

26
roles/awx/README.md Normal file
View File

@@ -0,0 +1,26 @@
# Rôle awx
***
Rôle awx: Configuration d'un serveur AWX avec k3s.
## Tables des matières
1. [Que fait le rôle AWX ?]
2. [Connexion à l'interface WEB du serveur AWX]
**AWX** est l'application développée par **RedHat** permettant de lancer des playbooks **ansible** depuis une interface web évoluée plutôt qu'en ligne de commande. **AWX** utlise kubernetes mise en oeuvre ici avec **k3s**.
## Que fait le rôle AWX ?
Le rôle **awx** installe et configure un serveur **AWX** avec **k3s** pour cela le role:
- Installe **k3s** en spécifiant l'adresse IP ainsi que l'interface d'écoute
- Clone le dépot **Github** **awx-on-k3s**
- Procéde au déploiement du pod **awx-operator**
- Génére un certifiacat auto-signé utlisée par le serveur **AWX** en utilisant **OpenSSL**
- Edite le fichier awx.yaml afin d'y indique le nom d'hote du serveur en accord avec le nom utlisé par les certificats
- Déploie le serveur **AWX**
- Test l'accésibilité du serveur **AWX**.
### Connexions à l'interface WEB du serveur AWX ###
Une fois le role **awx** terminé il est possible de se connecter à l'interface web duserveur depuis un navigateur.
S'assurer que votre machine puisse résoudre **s-awx.gsb.lan**
- Se connecter sur : **https://s-awx.gsb.lan**
- Utlisateur: **admin** / Mot de passe: **Ansible123!**

79
roles/awx/tasks/main.yml Normal file
View File

@@ -0,0 +1,79 @@
---
- name: Installation de k3s ...
ansible.builtin.shell: curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION=v1.28.5+k3s1 sh -s - --write-kubeconfig-mode 644 --node-ip "{{ awx_ip }}" --flannel-iface "{{ awx_if }}"
- name: Clonage du dépot awx-on-k3s
git:
repo: https://github.com/kurokobo/awx-on-k3s.git
dest: "{{ awx_dir }}"
clone: yes
force: yes
- name: Git checkout
ansible.builtin.shell: "git checkout 2.10.0"
args:
chdir: "{{ awx_dir }}"
- name: Deploiement AWX Operator ...
ansible.builtin.shell: "kubectl apply -k operator"
args:
chdir: "{{ awx_dir }}"
#- name: Git checkout
#ansible.builtin.git:
#repo: 'https://github.com/kurokobo/awx-on-k3s.git'
#dest: "{{ awx_dir }}"
#version: release-2.10.0
- name: Generation de certificat auto-signé avec OpenSSL
ansible.builtin.shell: 'openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -out ./base/tls.crt -keyout ./base/tls.key -subj "/CN={{ awx_host }}/O={{ awx_host }}" -addext "subjectAltName = DNS:{{ awx_host }}"'
args:
chdir: "{{ awx_dir }}"
- name: Changement de la ligne hostname dans le fichier awx.yaml
replace:
path: ~/tools/awx-on-k3s/base/awx.yaml
regexp: 'awx.example.com'
replace: '{{ awx_host }}'
backup: yes
- name: creation du repertoire postgres-13
ansible.builtin.file:
path: /data/postgres-13
state: directory
mode: '0755'
- name: Creation repertoire projects
ansible.builtin.file:
path: /data/projects
state: directory
owner: 1000:0
- name: Deploiement d'AWX ...
ansible.builtin.shell: "kubectl apply -k base"
args:
chdir: "{{ awx_dir }}"
- name: Test d'accésibilité de l'interface web AWX
ansible.builtin.uri:
url: "https://s-awx.gsb.lan"
follow_redirects: none
method: GET
validate_certs: false
register: _result
until: _result.status == 200
retries: 60 # 90*10 seconds = 15 min
delay: 10 # Every 10 seconds
- debug:
msg: "L'installation du serveur AWX est terminée."
- debug:
msg: "Connectez-vous sur: https://s-awx.gsb.lan"
- debug:
msg: "Nom d'utilisateur: admin / mdp: Ansible123!"

View File

@@ -8,6 +8,7 @@
apt:
deb: "/tmp/filebeat-{{ BEATVER }}-amd64.deb"
<<<<<<< HEAD
- name: Chgt filebeat.yml - localhost:9200 - Elastic
replace:
path: /etc/filebeat/filebeat.yml
@@ -22,10 +23,29 @@
replace: 's-elk.gsb.adm:5601'
backup: yes
- name: Chgt filebeat.yml - user - Kibana
replace:
path: /etc/filebeat/filebeat.yml
regexp: 'user:5601'
replace: 's-elk.gsb.adm:5601'
backup: yes
#- name: Changement du fichier de conf
# copy:
# src: filebeat.yml
# dest: /etc/filebeat/filebeat.yml
=======
- name: sorie pou debug
fail:
msg: "packet installe"
- name: Changement du fichier de conf
copy:
src: filebeat.yml
dest: /etc/filebeat/filebeat.yml
>>>>>>> d16ccae (maj pour elk-filebeat-cli)
- name: Configuration de filebeat
shell: filebeat modules enable system

View File

@@ -11,7 +11,7 @@ Rôle du Zabbix client pour la supervision des différentes machines en active
Il permet de configurer les agents zabbix en active sur le serveur.
### Installation et configuration de Zabbix-agent
Le rôle Zabbix-cli va installer Zabbix-agent sur les serveurs Debian. Vous pouvez modifier les paramètres dans le fichier 'defaults'. Il s'agit d'une configuration en mode actif, ce qui signifie que du côté du serveur, il suffit de définir les hôtes avec leur nom, le type d'OS, et pour notre cas, préciser qu'il s'agit d'une machine virtuelle sur le serveur Zabbix.
Le rôle Zabbix-cli installe Zabbix-agent sur Debian. Les paramètres sont modifiable dans le fichier 'defaults'. Il s'agit d'une configuration en mode actif(remonte lui seule au serveur zabbix), ce qui signifie que du côté du serveur, il suffit de définir les hôtes avec leur nom, le type d'OS, et pour notre cas, préciser qu'il s'agit d'une machine virtuelle sur le serveur Zabbix.(Le script hostcreate.sh remonte automatiquement les machines uniquement si la clée d'api est valide)
### Partie Windows !
Le fonctionnement de Zabbix-agent n'est pas différent de celui sur Linux. Cependant, lorsque vous êtes sur le site de Zabbix pour installer l'agent, veillez à choisir la version classique de Zabbix-agent plutôt que la version 2, car elle requiert plus de ressources pour une faible supervision supplémentaire.

View File

@@ -1,3 +1,3 @@
SERVER: "127.0.0.1"
SERVERACTIVE: "192.168.99.8"
TOKENAPI: "f72473b7e5402a5247773e456f3709dcdd5e41792360108fc3451bbfeed8eafe"
TOKENAPI: "a44e2a4977d61a869437739cb6086ae42f4b9937fbb96aed24bbad028469a1cf"

View File

@@ -1,6 +1,8 @@
---
- hosts: localhost
connection: local
become: yes
roles:
- base

11
s-awx-post.yml Normal file
View File

@@ -0,0 +1,11 @@
---
- hosts: localhost
connection: local
vars:
awx_host: "s-awx.gsb.lan"
awx_dir: "/root/tools/awx-on-k3s"
awx_ip: "172.16.0.22"
awx_if: "enp0s8"
roles:
- awx

12
s-awx.yml Normal file
View File

@@ -0,0 +1,12 @@
---
- hosts: localhost
connection: local
vars:
roles:
- base
- goss
- ssh-cli
#- awx
# - zabbix-cli
- journald-snd
- post

View File

@@ -1,6 +1,7 @@
---
- hosts: localhost
connection: local
become: yes
vars:
stork_db_user: "stork-server"
stork_db_passwd: "Azerty1+"

View File

@@ -1,14 +1,16 @@
---
- hosts: localhost
connection: local
become: yes
# include: config.yml
roles:
- base
# - zabbix-cli
- goss
- zabbix-cli
- goss
- dns-master
- webautoconf
- elk-filebeat-cli
# - elk-filebeat-cli
# - journald-snd
- ssh-cli
- post

View File

@@ -1,7 +1,7 @@
---
- hosts: localhost
connection: local
become: yes
#vars:
#glpi_version: "10.0.11"
#glpi_dir: "/var/www/html/glpi"

View File

@@ -1,7 +1,8 @@
---
- hosts: localhost
connection: local
become: yes
roles:
- base
- goss