52 lines
1.2 KiB
YAML
52 lines
1.2 KiB
YAML
|
|
---
|
||
|
|
- name: Ensure cAdvisor container is running
|
||
|
|
community.docker.docker_container:
|
||
|
|
name: "{{ cadvisor_container_name }}"
|
||
|
|
image: "{{ cadvisor_image }}"
|
||
|
|
state: started
|
||
|
|
restart_policy: unless-stopped
|
||
|
|
ports:
|
||
|
|
- "{{ cadvisor_port }}:8080"
|
||
|
|
volumes:
|
||
|
|
- "/:/rootfs:ro"
|
||
|
|
- "/var/run:/var/run:ro"
|
||
|
|
- "/sys:/sys:ro"
|
||
|
|
- "/var/lib/docker/:/var/lib/docker:ro"
|
||
|
|
- "/dev/disk/:/dev/disk:ro"
|
||
|
|
privileged: true
|
||
|
|
devices:
|
||
|
|
- "/dev/kmsg:/dev/kmsg"
|
||
|
|
tags: cadvisor
|
||
|
|
|
||
|
|
- name: Configure UFW for cAdvisor
|
||
|
|
ufw:
|
||
|
|
rule: allow
|
||
|
|
port: "{{ cadvisor_port }}"
|
||
|
|
proto: tcp
|
||
|
|
comment: "cAdvisor metrics"
|
||
|
|
tags: cadvisor
|
||
|
|
|
||
|
|
- name: Wait for cAdvisor to be ready
|
||
|
|
wait_for:
|
||
|
|
port: "{{ cadvisor_port }}"
|
||
|
|
host: "{{ ansible_host }}"
|
||
|
|
delay: 2
|
||
|
|
timeout: 60
|
||
|
|
tags: cadvisor
|
||
|
|
|
||
|
|
- name: Verify cAdvisor is accessible
|
||
|
|
uri:
|
||
|
|
url: "http://{{ ansible_host }}:{{ cadvisor_port }}/metrics"
|
||
|
|
return_content: true
|
||
|
|
status_code: 200
|
||
|
|
register: cadvisor_check
|
||
|
|
until: cadvisor_check.status == 200
|
||
|
|
retries: 5
|
||
|
|
delay: 3
|
||
|
|
tags: cadvisor
|
||
|
|
|
||
|
|
- name: Show cAdvisor status
|
||
|
|
debug:
|
||
|
|
msg: "cAdvisor successfully deployed at http://{{ ansible_host }}:{{ cadvisor_port }}/metrics"
|
||
|
|
tags: cadvisor
|