Compare commits
2
Commits
a5d4882512
...
6d05d4c0a7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d05d4c0a7 | ||
|
|
3274a2a3b4 |
@@ -2,3 +2,7 @@
|
|||||||
casa
|
casa
|
||||||
casa-mini-minion-01
|
casa-mini-minion-01
|
||||||
casa-minion-01
|
casa-minion-01
|
||||||
|
|
||||||
|
|
||||||
|
[maintenance-node-target]
|
||||||
|
casa-mini-minion-01
|
||||||
@@ -1,12 +1,7 @@
|
|||||||
- name: OS update playbook
|
- name: OS Info playbook
|
||||||
hosts:
|
hosts:
|
||||||
- all
|
- all
|
||||||
become: true
|
become: true
|
||||||
tasks:
|
tasks:
|
||||||
|
- ansible.builtin.import_tasks:
|
||||||
- debug:
|
file: tasks/os-get-info.yaml
|
||||||
msg:
|
|
||||||
- "Distribution: {{ hostvars[inventory_hostname].ansible_distribution }}"
|
|
||||||
- "Major version: {{ hostvars[inventory_hostname].ansible_distribution_major_version }}"
|
|
||||||
- "Version: {{ hostvars[inventory_hostname].ansible_distribution_version }}"
|
|
||||||
- "kernel: {{ hostvars[inventory_hostname].ansible_kernel }}"
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
- name: Reboot system playbook
|
||||||
|
hosts:
|
||||||
|
- maintenance-node-target
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- ansible.builtin.import_tasks:
|
||||||
|
file: tasks/os-reboot.yaml
|
||||||
|
|
||||||
@@ -1,44 +1,8 @@
|
|||||||
- name: OS update playbook
|
- name: OS update playbook
|
||||||
hosts:
|
hosts:
|
||||||
- casa
|
- maintenance-node-target
|
||||||
- casa-minion-01
|
|
||||||
- casa-mini-minion-01
|
|
||||||
become: true
|
become: true
|
||||||
tasks:
|
tasks:
|
||||||
- debug:
|
- ansible.builtin.import_tasks:
|
||||||
msg:
|
file: tasks/os-update.yaml
|
||||||
- "ansible_distribution {{ hostvars[inventory_hostname].ansible_distribution }}"
|
|
||||||
- "major version {{ hostvars[inventory_hostname].ansible_distribution_major_version }}"
|
|
||||||
- "version {{ hostvars[inventory_hostname].ansible_distribution_version }}"
|
|
||||||
- "version {{ hostvars[inventory_hostname].ansible_kernel }}"
|
|
||||||
|
|
||||||
- name: Update all Packages to their latest version
|
|
||||||
ansible.builtin.apt:
|
|
||||||
update_cache: true
|
|
||||||
force_apt_get: true
|
|
||||||
|
|
||||||
- name: Upgrade all packages on servers
|
|
||||||
ansible.builtin.apt:
|
|
||||||
upgrade: dist
|
|
||||||
force_apt_get: true
|
|
||||||
|
|
||||||
- name: Check if a reboot is needed
|
|
||||||
register: reboot_required_file
|
|
||||||
stat: path=/var/run/reboot-required
|
|
||||||
|
|
||||||
- name: Reboot server
|
|
||||||
reboot:
|
|
||||||
msg: "Reboot initiated by Ansible due to kernel updates"
|
|
||||||
connect_timeout: 5
|
|
||||||
reboot_timeout: 300
|
|
||||||
pre_reboot_delay: 0
|
|
||||||
post_reboot_delay: 30
|
|
||||||
test_command: uptime
|
|
||||||
when: reboot_required_file.stat.exists
|
|
||||||
|
|
||||||
- debug:
|
|
||||||
msg:
|
|
||||||
- "ansible_distribution {{ hostvars[inventory_hostname].ansible_distribution }}"
|
|
||||||
- "major version {{ hostvars[inventory_hostname].ansible_distribution_major_version }}"
|
|
||||||
- "version {{ hostvars[inventory_hostname].ansible_distribution_version }}"
|
|
||||||
- "version {{ hostvars[inventory_hostname].ansible_kernel }}"
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
- debug:
|
||||||
|
msg:
|
||||||
|
- "Distribution: {{ hostvars[inventory_hostname].ansible_distribution }}"
|
||||||
|
- "Major version: {{ hostvars[inventory_hostname].ansible_distribution_major_version }}"
|
||||||
|
- "Version: {{ hostvars[inventory_hostname].ansible_distribution_version }}"
|
||||||
|
- "kernel: {{ hostvars[inventory_hostname].ansible_kernel }}"
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
- reboot:
|
||||||
|
msg: "Reboot initiated by Ansible due to kernel updates"
|
||||||
|
connect_timeout: 5
|
||||||
|
reboot_timeout: 300
|
||||||
|
pre_reboot_delay: 0
|
||||||
|
post_reboot_delay: 30
|
||||||
|
test_command: uptime
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
- ansible.builtin.import_tasks:
|
||||||
|
file: os-get-info.yaml
|
||||||
|
|
||||||
|
- name: Update all Packages to their latest version
|
||||||
|
ansible.builtin.apt:
|
||||||
|
update_cache: true
|
||||||
|
force_apt_get: true
|
||||||
|
|
||||||
|
- name: Upgrade all packages on servers
|
||||||
|
ansible.builtin.apt:
|
||||||
|
upgrade: dist
|
||||||
|
force_apt_get: true
|
||||||
|
|
||||||
|
- name: Check if a reboot is needed
|
||||||
|
register: reboot_required_file
|
||||||
|
stat: path=/var/run/reboot-required
|
||||||
|
|
||||||
|
- ansible.builtin.import_tasks:
|
||||||
|
file: os-reboot.yaml
|
||||||
|
when: reboot_required_file.stat.exists
|
||||||
|
|
||||||
|
- ansible.builtin.import_tasks:
|
||||||
|
file: os-get-info.yaml
|
||||||
@@ -62,116 +62,6 @@ alloy:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ============================================
|
|
||||||
// Logs: Loki config
|
|
||||||
// ============================================
|
|
||||||
|
|
||||||
loki.write "loki_srv" {
|
|
||||||
endpoint {
|
|
||||||
url = sys.env("LOKI_URL")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
loki.process "loki_srv" {
|
|
||||||
stage.static_labels {
|
|
||||||
values = {
|
|
||||||
cluster = sys.env("CLUSTER_NAME"),
|
|
||||||
zone = sys.env("ZONE"),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
forward_to = [loki.write.loki_srv.receiver]
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ============================================
|
|
||||||
// Loki.source kube_pod_logs
|
|
||||||
// Requirements:
|
|
||||||
// - discovery.relabel: kube_pod_logs
|
|
||||||
// - discovery.process: loki_srv
|
|
||||||
// ============================================
|
|
||||||
|
|
||||||
loki.source.kubernetes "kube_pod_logs" {
|
|
||||||
targets = discovery.relabel.kube_pod_logs.output
|
|
||||||
forward_to = [loki.process.loki_srv.receiver]
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ============================================
|
|
||||||
// Discovery:relabel: kube_pod_logs
|
|
||||||
// Requirements:
|
|
||||||
// - discovery.kubernetes.role.pod: kube_pods
|
|
||||||
// ============================================
|
|
||||||
|
|
||||||
discovery.relabel "kube_pod_logs" {
|
|
||||||
targets = discovery.kubernetes.kube_pods.targets
|
|
||||||
rule {
|
|
||||||
source_labels = ["__meta_kubernetes_namespace"]
|
|
||||||
target_label = "namespace"
|
|
||||||
}
|
|
||||||
|
|
||||||
rule {
|
|
||||||
source_labels = ["__meta_kubernetes_pod_name"]
|
|
||||||
regex = "^(.+?)-[0-9a-zA-Z]{4,16}(?:-[0-9a-zA-Z]{4,16})?$"
|
|
||||||
replacement = "$1"
|
|
||||||
target_label = "pod"
|
|
||||||
}
|
|
||||||
|
|
||||||
rule {
|
|
||||||
source_labels = ["__meta_kubernetes_pod_container_name"]
|
|
||||||
target_label = "container"
|
|
||||||
}
|
|
||||||
|
|
||||||
rule {
|
|
||||||
source_labels = ["__meta_kubernetes_node_name"]
|
|
||||||
target_label = "node_name"
|
|
||||||
}
|
|
||||||
|
|
||||||
rule {
|
|
||||||
source_labels = [
|
|
||||||
"__meta_kubernetes_pod_controller_name",
|
|
||||||
]
|
|
||||||
regex = "([0-9a-z-.]+?)(-[0-9a-f]{8,10})?"
|
|
||||||
target_label = "controller_name"
|
|
||||||
}
|
|
||||||
|
|
||||||
rule {
|
|
||||||
source_labels = [
|
|
||||||
"__meta_kubernetes_pod_label_app_kubernetes_io_name",
|
|
||||||
"__meta_kubernetes_pod_label_app",
|
|
||||||
"controller_name",
|
|
||||||
"__meta_kubernetes_pod_name",
|
|
||||||
]
|
|
||||||
regex = "^;*([^;]+)(;.*)?$"
|
|
||||||
target_label = "app"
|
|
||||||
}
|
|
||||||
|
|
||||||
rule {
|
|
||||||
source_labels = [
|
|
||||||
"__meta_kubernetes_pod_label_app_kubernetes_io_component",
|
|
||||||
"__meta_kubernetes_pod_label_component",
|
|
||||||
]
|
|
||||||
regex = "^;*([^;]+)(;.*)?$"
|
|
||||||
target_label = "component"
|
|
||||||
}
|
|
||||||
|
|
||||||
rule {
|
|
||||||
source_labels = ["namespace", "app"]
|
|
||||||
separator = "/"
|
|
||||||
target_label = "job"
|
|
||||||
}
|
|
||||||
|
|
||||||
rule {
|
|
||||||
source_labels = ["job", "container"]
|
|
||||||
separator = ":"
|
|
||||||
target_label = "instance"
|
|
||||||
}
|
|
||||||
rule {
|
|
||||||
source_labels = ["__meta_kubernetes_pod_node_name"]
|
|
||||||
separator = ":"
|
|
||||||
target_label = "host"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
discovery.relabel "kubelet" {
|
discovery.relabel "kubelet" {
|
||||||
targets = discovery.kubernetes.kube_nodes.targets
|
targets = discovery.kubernetes.kube_nodes.targets
|
||||||
|
|
||||||
|
|||||||
@@ -129,6 +129,8 @@ alloy:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ============================================
|
// ============================================
|
||||||
// Metrics: Prometheus connection config
|
// Metrics: Prometheus connection config
|
||||||
// ============================================
|
// ============================================
|
||||||
|
|||||||
Reference in New Issue
Block a user