Compare commits
2
Commits
a5d4882512
...
6d05d4c0a7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d05d4c0a7 | ||
|
|
3274a2a3b4 |
@@ -2,3 +2,7 @@
|
||||
casa
|
||||
casa-mini-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:
|
||||
- all
|
||||
become: true
|
||||
tasks:
|
||||
|
||||
- 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 }}"
|
||||
- ansible.builtin.import_tasks:
|
||||
file: tasks/os-get-info.yaml
|
||||
@@ -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
|
||||
hosts:
|
||||
- casa
|
||||
- casa-minion-01
|
||||
- casa-mini-minion-01
|
||||
- maintenance-node-target
|
||||
become: true
|
||||
tasks:
|
||||
- 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 }}"
|
||||
- ansible.builtin.import_tasks:
|
||||
file: tasks/os-update.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
|
||||
|
||||
- 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" {
|
||||
targets = discovery.kubernetes.kube_nodes.targets
|
||||
|
||||
|
||||
@@ -129,6 +129,8 @@ alloy:
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// ============================================
|
||||
// Metrics: Prometheus connection config
|
||||
// ============================================
|
||||
|
||||
Reference in New Issue
Block a user