-
Notifications
You must be signed in to change notification settings - Fork 107
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Kubeconfig environment added to playbook Kubeconfig environment added to playbook Changelog updated with Node Exporter as DaemonSet node-exporter as DaemonSet node-exporter as DaemonSet node-exporter as DaemonSet node-exporter as DaemonSet node-exporter as DaemonSet Removed 'Set Kubernetes credentials' task in Prometheus Role. Repository Rebased Update core/src/epicli/data/common/ansible/playbooks/roles/node_exporter/tasks/install-node-exporter-as-system-service.yml Co-authored-by: Michał Opala <sk4zuzu@gmail.com> Update core/src/epicli/data/common/ansible/playbooks/roles/node_exporter/tasks/install-node-exporter-as-system-service.yml Co-authored-by: Michał Opala <sk4zuzu@gmail.com> Update core/src/epicli/data/common/ansible/playbooks/roles/prometheus/tasks/configure-k8s-apps-monitoring.yml Co-authored-by: Michał Opala <sk4zuzu@gmail.com>
- Loading branch information
Showing
16 changed files
with
204 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,3 +8,5 @@ | |
become_method: sudo | ||
roles: | ||
- node_exporter | ||
environment: | ||
KUBECONFIG: "{{ kubeconfig.local }}" |
51 changes: 51 additions & 0 deletions
51
...common/ansible/playbooks/roles/node_exporter/tasks/install-node-exporter-as-daemonset.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
--- | ||
|
||
- name: Prepare configuration and upgrade/install Node-Exporter's Helm chart | ||
vars: | ||
# Handling "undefined", "null", "empty" and "boolean" values all at once. | ||
disable_helm_chart_bool: "{{ specification.disable_helm_chart | default(false, true) | bool }}" | ||
|
||
# Handling "undefined", "null" and "empty" values all at once. | ||
helm_chart_values_bool: "{{ specification.helm_chart_values | default(false) | ternary(true, false) }}" | ||
|
||
delegate_to: localhost | ||
become: false | ||
run_once: true | ||
when: not disable_helm_chart_bool | ||
block: | ||
- name: Set Node-Exporter's Chart file name to install | ||
set_fact: | ||
exporter_chart_file_name: "{{ specification.files.node_exporter_helm_chart_file_name }}" | ||
|
||
- name: Download Node-Exporter's Chart File | ||
include_role: | ||
name: download | ||
tasks_from: download_file | ||
vars: | ||
file_name: "{{ exporter_chart_file_name }}" | ||
repository_url: http://localhost/epirepo | ||
|
||
- when: helm_chart_values_bool | ||
# IF `helm_chart_values` | ||
block: | ||
- name: Copy Node-Exporter's Helm chart's custom configuration to file | ||
copy: | ||
content: "{{ specification.helm_chart_values }}" | ||
dest: "{{ download_directory }}/{{ specification.helm_chart_name }}_values.yaml" | ||
|
||
- name: Install Node-Exporter's Helm chart (with custom values.yaml) | ||
delegate_to: localhost | ||
shell: | | ||
helm upgrade --install \ | ||
-f {{ download_directory }}/{{ specification.helm_chart_name }}_values.yaml \ | ||
{{ specification.helm_chart_name }} \ | ||
{{ download_directory }}/{{ exporter_chart_file_name }} | ||
- when: not helm_chart_values_bool | ||
# ELSE | ||
block: | ||
- name: Install Node-Exporter's Helm chart (with default values.yaml) | ||
shell: | | ||
helm upgrade --install \ | ||
{{ specification.helm_chart_name }} \ | ||
{{ download_directory }}/{{ exporter_chart_file_name }} |
83 changes: 83 additions & 0 deletions
83
...n/ansible/playbooks/roles/node_exporter/tasks/install-node-exporter-as-system-service.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
--- | ||
|
||
- name: Create node_exporter system group | ||
group: | ||
name: node_exporter | ||
system: true | ||
state: present | ||
|
||
- name: Create node_exporter system user | ||
user: | ||
name: node_exporter | ||
system: true | ||
shell: "/usr/sbin/nologin" | ||
group: node_exporter | ||
createhome: false | ||
|
||
- name: Set Node Exporter file name to install | ||
set_fact: | ||
exporter_file_name: "node_exporter-{{ exporter.version }}.linux-amd64.tar.gz" | ||
|
||
- name: Download Node Exporter binaries | ||
include_role: | ||
name: download | ||
tasks_from: download_file | ||
vars: | ||
file_name: "{{ exporter_file_name }}" | ||
|
||
- name: Create /opt/node_exporter directories | ||
file: | ||
path: "{{ item }}" | ||
recurse: true | ||
owner: root | ||
group: "node_exporter" | ||
mode: u=rwx,g=rx,o= | ||
state: directory | ||
with_items: | ||
- /opt/node_exporter | ||
|
||
- name: Unpack node_exporter binary | ||
unarchive: | ||
remote_src: true | ||
src: "{{ download_directory }}/{{ exporter_file_name }}" | ||
dest: "/opt/node_exporter" | ||
creates: "/opt/node_exporter/node_exporter" | ||
extra_opts: [--strip-components=1] | ||
mode: u=rwx,g=rx,o=rx | ||
owner: root | ||
group: node_exporter | ||
check_mode: false | ||
notify: | ||
- restart prometheus node exporter service | ||
|
||
- name: Install node_exporter service to systemd | ||
template: | ||
src: prometheus-node-exporter.service.j2 | ||
dest: "/etc/systemd/system/{{ exporter.service.name }}.service" | ||
owner: root | ||
group: root | ||
mode: u=rw,g=r,o=r | ||
|
||
- name: Configure systemd to use node_exporter service | ||
systemd: | ||
daemon_reload: true | ||
enabled: true | ||
name: "{{ exporter.service.name }}.service" | ||
|
||
- name: Start exporter | ||
service: | ||
name: "{{ exporter.service.name }}" | ||
state: started | ||
|
||
- name: Copy file_sd_config to prometheus hosts | ||
template: | ||
dest: "{{ specification.config_for_prometheus.prometheus_config_dir }}/file_sd/node-{{ inventory_hostname }}.yml" | ||
src: file_sd_config.yml.j2 | ||
owner: root | ||
group: root | ||
mode: u=rw,g=r,o=r | ||
delegate_to: "{{ item }}" | ||
with_inventory_hostnames: | ||
- prometheus | ||
notify: | ||
- restart prometheus on remote servers |
85 changes: 5 additions & 80 deletions
85
core/src/epicli/data/common/ansible/playbooks/roles/node_exporter/tasks/main.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,83 +1,8 @@ | ||
--- | ||
- name: Create node_exporter system group | ||
group: | ||
name: node_exporter | ||
system: true | ||
state: present | ||
|
||
- name: Create node_exporter system user | ||
user: | ||
name: node_exporter | ||
system: true | ||
shell: "/usr/sbin/nologin" | ||
group: node_exporter | ||
createhome: false | ||
- name: Include installation tasks for Node Exporter as System Service | ||
include_tasks: install-node-exporter-as-system-service.yml | ||
|
||
- name: Set Node Exporter file name to install | ||
set_fact: | ||
exporter_file_name: "node_exporter-{{ exporter.version }}.linux-amd64.tar.gz" | ||
|
||
- name: Download Node Exporter binaries | ||
include_role: | ||
name: download | ||
tasks_from: download_file | ||
vars: | ||
file_name: "{{ exporter_file_name }}" | ||
|
||
- name: Create /opt/node_exporter directories | ||
become: true | ||
file: | ||
path: "{{ item }}" | ||
recurse: true | ||
owner: root | ||
group: "node_exporter" | ||
mode: 0750 | ||
state: directory | ||
with_items: | ||
- /opt/node_exporter | ||
|
||
- name: Unpack node_exporter binary | ||
become: true | ||
unarchive: | ||
remote_src: true | ||
src: "{{ download_directory }}/{{ exporter_file_name }}" | ||
dest: "/opt/node_exporter" | ||
creates: "/opt/node_exporter/node_exporter" | ||
extra_opts: [--strip-components=1] | ||
mode: 0755 | ||
owner: root | ||
group: node_exporter | ||
check_mode: false | ||
notify: | ||
- restart prometheus node exporter service | ||
|
||
- name: Install node_exporter service to systemd | ||
template: | ||
src: prometheus-node-exporter.service.j2 | ||
dest: "/etc/systemd/system/{{ exporter.service.name }}.service" | ||
owner: root | ||
group: root | ||
mode: 0644 | ||
|
||
- name: Configure systemd to use node_exporter service | ||
systemd: | ||
daemon_reload: true | ||
enabled: true | ||
name: "{{ exporter.service.name }}.service" | ||
|
||
- name: Start exporter | ||
service: | ||
name: "{{ exporter.service.name }}" | ||
state: started | ||
|
||
- name: Copy file_sd_config to prometheus hosts | ||
template: | ||
dest: "{{ specification.config_for_prometheus.prometheus_config_dir }}/file_sd/node-{{ inventory_hostname }}.yml" | ||
src: file_sd_config.yml.j2 | ||
owner: root | ||
group: root | ||
mode: 0644 | ||
delegate_to: "{{ item }}" | ||
with_inventory_hostnames: | ||
- prometheus | ||
notify: restart prometheus on remote servers | ||
- name: Include installation tasks for Node Exporter as DaemonSet for "k8s as cloud service" | ||
when: k8s_as_cloud_service is defined and k8s_as_cloud_service | ||
include_tasks: install-node-exporter-as-daemonset.yml |
29 changes: 23 additions & 6 deletions
29
...li/data/common/ansible/playbooks/roles/prometheus/tasks/configure-k8s-apps-monitoring.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters