--- # tasks file for create cluster k8s via terraform - name: Create directory {{ project_terraform }} file: path: "{{ project_backend }}" state: directory - name: Copy backend k8s yaml template: src: "{{ item }}.yaml.j2" dest: "{{ project_backend }}/{{ item }}.yaml" with_items: "{{ backend_yaml }}" - name: Create a k8s namespace kubernetes.core.k8s: name: testing api_version: v1 kind: Namespace state: present - name: Apply deployment kubernetes.core.k8s: src: "{{ project_backend }}/backend-deployment.yaml" state: present - name: Apply services kubernetes.core.k8s: src: "{{ project_backend }}/backend-service.yaml" state: present - name: Apply configmap kubernetes.core.k8s: src: "{{ project_backend }}/env-configmap.yaml" state: present - name: Apply secret kubernetes.core.k8s: src: "{{ project_backend }}/secret.yaml" state: present - name: En attente d'une adresse IP publique du cluster ansible.builtin.pause: minutes: 2 - name: Fetch services set_fact: service: "{{ query('kubernetes.core.k8s', kind='Service', namespace='testing') }}" register: result tags: [ "services"] - name: debug services debug: msg: "{{ result.ansible_facts.service[0].status.loadBalancer.ingress[0].ip }}" tags: [ "services"] - name: Test API Backend ansible.builtin.uri: url: "http://{{ result.ansible_facts.service[0].status.loadBalancer.ingress[0].ip }}:{{ port }}/api/hello" status_code: 200 method: GET tags: [ "services" ]