Outils pour utilisateurs

Outils du site


tech:awx_-_build_to_run

Ceci est une ancienne révision du document !


AWX - build to run

AWX Resource Requirements

Prérequis logiciels

  • have configured an NTP client on all nodes

Architecture

Choix :

  • Base de données sur le hôte ou sur K8S ?
    • Idéalement Postgres dans un conteneur : plus de souplesse avec la gestion des versions

Conf système hôte

  • Réactiver SELinux
  • Après avoir redéfini ipv6_disabled, si OK désactiver l'IPv6 sur le hôte et tester

Changer dans Job settings - Container Run Options

[
  "--network",
  "slirp4netns:enable_ipv6=true"
]

Désactiver le SWAP. Totalement ou memory.swap.max=0 ? Voir

cat /sys/fs/cgroup/memory.swap.max

Conf Podman

Tester le démarrage automatique native Podman

podman update --restart=always kind-control-plane

A la place de ~/.config/systemd/user/container-kind-control-plane.service

Réseau

Conf AWX

Voir :

kubectl get AWX -o json | jq '.items[0].spec'
  • auto_upgrade
  • hostname
  • ipv6_disabled

Sauvegarde / backup

  1. Export de tous les objets AWX en YAML
  2. Export de la base de données
  3. Sauvegarde avec AWX Operator

Export de tous les objets AWX en YAML

awx -f yaml export > all.yaml

NOTE : Les credentials ne sont pas exportés, ni certains objets

Export de la base de données PostgreSQL

Voir :

# retrieve your secret's name, something like awx-postgres-configuration
kubectl get secrets
 
# show secrets 
kubectl get secrets awx-your-instance-postgres-configuration -o yaml
 
kubectl port-forward awx-your-postgre-pod 5432:5432

Source : https://forum.ansible.com/t/need-advices-on-awx-config-import-export/6974/6

Sauvegarde avec AWX Operator

PoC Stockage

Voir :

cluster-config.yml

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
  extraPortMappings:
    - containerPort: 30000
      hostPort: 30000
      protocol: TCP
  extraMounts:
    - containerPath: /data/files
      hostPath: /data/files

ansible-files-pv.yml

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: awx-ansible-files-volume
spec:
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  capacity:
    storage: 2Gi
  storageClassName: local-path
  hostPath:
    path: /data/ansible-files

ansible-files-pvc.yml

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: awx-ansible-files-claim
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 2Gi
  storageClassName: local-path
kubectl create secret generic awx-custom-certs --from-file=bundle-ca.crt=/etc/ssl/certs/ca-bundle.crt

cluster-config.yml

---

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
    extraPortMappings:
      - containerPort: 30000
        hostPort: 30000
        protocol: TCP
    extraMounts:
      - containerPath: /data/ansible-files
        hostPath: /data/ansible-files
      - containerPath: /data/projects
        hostPath: /data/projects
      - containerPath: /data/postgres-13
        hostPath: /data/postgres-13

Fixer la version avec l'option --image

kind create cluster --image kindest/node:v1.34.2

Available tags can be found at https://hub.docker.com/r/kindest/node/tags

kind create cluster --config=cluster-config.yml --name=kind2
 
# kubectl create deployment nginx --image=nginx --port=80
# kubectl create service nodeport nginx --tcp=80:80 --node-port=30000
 
kubectl create service nodeport awx-service --tcp=80:80 --node-port=30000

Dans jobs settings changer :

Paths to expose to isolated jobs

[
  "/etc/pki/ca-trust:/etc/pki/ca-trust:O",
  "/usr/share/pki:/usr/share/pki:O"
]
tech/awx_-_build_to_run.1770385446.txt.gz · Dernière modification : de Jean-Baptiste

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki