Compare commits
11 Commits
v0.0.7i-ps
...
v0.0.7s-ak
Author | SHA1 | Date | |
---|---|---|---|
35e816c2eb | |||
b1e4b50982 | |||
d65fe53ef8 | |||
451c8ba094 | |||
88061eb89d | |||
6fbad9d9fa | |||
30c7275ba6 | |||
33529f2781 | |||
77a7f3c567 | |||
a3235af304 | |||
17647b17da |
6
goss/s-awx.yaml
Normal file
6
goss/s-awx.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
interface:
|
||||
enp0s8:
|
||||
exists: true
|
||||
addrs:
|
||||
- 172.16.0.22/24
|
||||
mtu: 1500
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- r-ext
|
||||
- snmp-agent
|
||||
- zabbix-cli
|
||||
- ssh-cli
|
||||
# - syslog-cli
|
||||
- post
|
||||
|
@ -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
|
||||
|
20
roles/awx-user-cli/tasks/main.yml
Normal file
20
roles/awx-user-cli/tasks/main.yml
Normal file
@ -0,0 +1,20 @@
|
||||
---
|
||||
|
||||
- name: Creation user awx
|
||||
ansible.builtin.user:
|
||||
name: awx
|
||||
groups: sudo
|
||||
append: yes
|
||||
shell: /bin/bash
|
||||
|
||||
- name: Get awx key_pub
|
||||
get_url:
|
||||
url: http://s-adm.gsb.adm/gsbstore/id_rsa_awx.pub
|
||||
dest: /tmp
|
||||
|
||||
|
||||
- name: Set authorized key taken from file /tmp
|
||||
ansible.posix.authorized_key:
|
||||
user: awx
|
||||
state: present
|
||||
key: "{{ lookup('file', '/tmp/id_rsa_awx.pub') }}"
|
14
roles/awx-user/tasks/main.yml
Normal file
14
roles/awx-user/tasks/main.yml
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
- name: Creation user awx, cle SSH et group sudo
|
||||
ansible.builtin.user:
|
||||
name: awx
|
||||
groups: sudo
|
||||
append: yes
|
||||
shell: /bin/bash
|
||||
generate_ssh_key: yes
|
||||
|
||||
- name: Copie cle publique dans gsbstore
|
||||
copy:
|
||||
src: /home/awx/.ssh/id_rsa.pub
|
||||
dest: /var/www/html/gsbstore/id_rsa_awx.pub
|
||||
remote_src: yes
|
26
roles/awx/README.md
Normal file
26
roles/awx/README.md
Normal 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
79
roles/awx/tasks/main.yml
Normal 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!"
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -79,6 +79,10 @@
|
||||
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
|
||||
},
|
||||
|
||||
{
|
||||
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_stat_cmds.so"
|
||||
},
|
||||
|
||||
{
|
||||
// The HA hook library should be loaded.
|
||||
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_ha.so",
|
||||
@ -179,8 +183,19 @@
|
||||
// choice is 8.8.8.8, owned by Google. Using third party DNS
|
||||
// service raises some privacy concerns.
|
||||
"name": "domain-name-servers",
|
||||
"data": "172.16.0.1"
|
||||
}
|
||||
"data": "172.16.0.1, 172.16.0.4"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "domain-name",
|
||||
"data": "gsb.lan"
|
||||
},
|
||||
|
||||
{
|
||||
"name": "domain-search",
|
||||
"data": "gsb.lan"
|
||||
},
|
||||
|
||||
],
|
||||
|
||||
// Some devices should get a static address. Since the .100 - .199 range is dynamic,
|
||||
|
@ -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.
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
SERVER: "127.0.0.1"
|
||||
SERVERACTIVE: "192.168.99.8"
|
||||
TOKENAPI: "f72473b7e5402a5247773e456f3709dcdd5e41792360108fc3451bbfeed8eafe"
|
||||
TOKENAPI: "a44e2a4977d61a869437739cb6086ae42f4b9937fbb96aed24bbad028469a1cf"
|
||||
|
@ -1,6 +1,8 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
|
||||
|
||||
roles:
|
||||
- base
|
||||
|
11
s-awx-post.yml
Normal file
11
s-awx-post.yml
Normal 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
12
s-awx.yml
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
vars:
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
- ssh-cli
|
||||
#- awx
|
||||
# - zabbix-cli
|
||||
- journald-snd
|
||||
- post
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
become: yes
|
||||
vars:
|
||||
stork_db_user: "stork-server"
|
||||
stork_db_passwd: "Azerty1+"
|
||||
|
@ -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
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
become: yes
|
||||
#vars:
|
||||
#glpi_version: "10.0.11"
|
||||
#glpi_dir: "/var/www/html/glpi"
|
||||
|
@ -17,8 +17,8 @@
|
||||
- goss
|
||||
- ssh-cli
|
||||
- kea
|
||||
- stork-agent
|
||||
- zabbix-cli
|
||||
- awx-user-cli
|
||||
#- stork-agent
|
||||
# - zabbix-cli
|
||||
- journald-snd
|
||||
- snmp-agent
|
||||
- post
|
||||
|
@ -1,7 +1,8 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
connection: local
|
||||
|
||||
become: yes
|
||||
|
||||
roles:
|
||||
- base
|
||||
- goss
|
||||
|
@ -9,11 +9,11 @@
|
||||
- Une fois l'installation du serveur Windows 2019, démarrer la VM Windows Server.
|
||||
- Faite l'installation de windows server. Vous pouvez suivre de l'étape 3 a l'étape 12 (Lien : https://www.infonovice.fr/guide-dinstallation-de-windows-server-2019-avec-une-interface-graphique/)
|
||||
- Renommer votre nom de machine du serveur windows depuis les parametre de "Informations Systèmes" en **s-win**. Puis redémarrer la machine.
|
||||
- Modifier la premiere carte de l'IP du serveur windows depuis le panneau de configuration en "192.168.99.6" avec la passerelle en "192.168.99.99 et la seconde en "172.16.0.6" et ajouter la passerelle par defaut en "172.16.0.254".
|
||||
- Eteindre votre VM et ajouter une carte en pont dans les parametres reseaux de la VM. Allumer votre VM et installer git depuis le site officiel, il faudra sans doute activer certaines options dans les parametres d'internet explorer comme "JavaScript" ou encore l'option de Téléchargement (lien source: https://git-scm.com/download/win et https://support.microsoft.com/fr-fr/topic/procédure-d-activation-de-javascript-dans-windows-88d27b37-6484-7fc0-17df-872f65168279).
|
||||
- Modifier la premiere carte de l'IP du serveur windows depuis le panneau de configuration en "192.168.99.6" avec la passerelle en "192.168.99.99" et la seconde en "172.16.0.6" et ajouter la passerelle par defaut en "172.16.0.254".
|
||||
- Eteindre votre VM et ajouter une carte en pont dans les parametres reseaux de la VM. Allumer votre VM et installer git depuis le site officiel, il faudra sans doute activer certaines options dans les parametres d'internet explorer comme "JavaScript" ou encore l'option de "Téléchargement" et si besoin rajouter le site du **gitea** du lycée etant comme site sure (lien source: https://git-scm.com/download/win et https://support.microsoft.com/fr-fr/topic/procédure-d-activation-de-javascript-dans-windows-88d27b37-6484-7fc0-17df-872f65168279).
|
||||
- Installer Serveur DNS et Services AD DS. Pour vous aider, suivre le TP de "Installation du service" a "Installation serveur DNS" (lien source: https://sio.lyc-lecastel.fr/doku.php?id=promo_2024:serveur_windows_2019-installation_ad)
|
||||
- Créer une nouvelle fôret pour le domaine **gsb.lan**.
|
||||
- Configurer la zone inverse du DNS et l'alimenter avec les enregistrements souhaités (A et PTR pour **s-win**, **s-itil**, **r-int** et **s-infra*. Vous pouvez vous aidez de ce tutoriel (https://www.it-connect.fr/dns-sous-windows-server-2022-comment-configurer-une-zone-de-recherche-inversee/).
|
||||
- Configurer la zone inverse du DNS et l'alimenter avec les enregistrements souhaités (A et PTR pour **s-win**, **s-itil**, **r-int** et **s-infra**. Vous pouvez vous aidez de ce tutoriel (https://www.it-connect.fr/dns-sous-windows-server-2022-comment-configurer-une-zone-de-recherche-inversee/).
|
||||
|
||||
## Création des dossiers partagés et des utilisateur
|
||||
|
||||
|
Reference in New Issue
Block a user