diff --git a/group_vars/k8s-cluster/plain.yml b/group_vars/k8s_cluster/plain.yml similarity index 82% rename from group_vars/k8s-cluster/plain.yml rename to group_vars/k8s_cluster/plain.yml index 2d5ea6a..0c3a2fb 100644 --- a/group_vars/k8s-cluster/plain.yml +++ b/group_vars/k8s_cluster/plain.yml @@ -2,10 +2,6 @@ ip: "{{ stage_private_server_ip | default('-') }}" -docker_enabled: false -traefik_enabled: false -filebeat_enabled: false - ### parameters used by kubespray ### cloud_provider: external diff --git a/group_vars/kube_control_plane/plain.yml b/group_vars/kube_control_plane/plain.yml index 5e5fdc4..5d10261 100644 --- a/group_vars/kube_control_plane/plain.yml +++ b/group_vars/kube_control_plane/plain.yml @@ -2,3 +2,8 @@ hetzner_server_type: "{{ hetzner_server_type_kube_master | default('cpx21') }}" hetzner_server_labels: "stage={{ stage }} service=kube_control_plane" + +docker_enabled: false +traefik_enabled: false +filebeat_enabled: false +node_exporter_enabled: false diff --git a/group_vars/kube_node/plain.yml b/group_vars/kube_node/plain.yml index 32d0c54..b2c99eb 100644 --- a/group_vars/kube_node/plain.yml +++ b/group_vars/kube_node/plain.yml @@ -2,3 +2,8 @@ hetzner_server_type: "{{ hetzner_server_type_kube_node | default('cpx21') }}" hetzner_server_labels: "stage={{ stage }} service=kube_node" + +docker_enabled: false +traefik_enabled: false +filebeat_enabled: false +node_exporter_enabled: false diff --git a/group_vars/redis/plain.yml b/group_vars/redis/plain.yml index b2cc017..f413e14 100644 --- a/group_vars/redis/plain.yml +++ b/group_vars/redis/plain.yml @@ -4,8 +4,6 @@ hetzner_server_labels: "stage={{ stage }} service=redis" docker_enabled: false traefik_enabled: false -filebeat_enabled: true -node_exporter_enabled: true redis_bind_interface: 0.0.0.0 redis_maxmemory: '{{ ansible_memtotal_mb * 0.8 | int }}' diff --git a/inventory_plugins/netgo-hcloud.py b/inventory_plugins/netgo-hcloud.py index d47665d..4cf104e 100644 --- a/inventory_plugins/netgo-hcloud.py +++ b/inventory_plugins/netgo-hcloud.py @@ -183,7 +183,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable): if serverService == "kube_control_plane": self.inventory.add_host(serverName, group="etcd") if serverService == "kube_control_plane" or serverService == "kube_node": - self.inventory.add_host(serverName, group="k8s-cluster") + self.inventory.add_host(serverName, group="k8s_cluster") self.inventory.set_variable(serverName, 'stage_server_ip', serverPublicIp) self.inventory.set_variable(serverName, 'ansible_ssh_host', serverPublicIp) diff --git a/roles/prometheus/tasks/_update_config.yml b/roles/prometheus/tasks/_update_config.yml new file mode 100644 index 0000000..62d067b --- /dev/null +++ b/roles/prometheus/tasks/_update_config.yml @@ -0,0 +1,20 @@ +--- + +### tags: + +- name: "Deploy service templates for {{ inventory_hostname }}" + include_role: + name: _deploy + tasks_from: templates + vars: + current_config: "prometheus" + current_base_path: "{{ service_base_path }}" + current_destination: "{{ inventory_hostname }}" + current_owner: "{{ docker_owner }}" + current_group: "{{ docker_group }}" + +- name: "Reload prometheus configuration" + uri: + url: "{{ http_s }}://{{ prometheus_id }}.{{ domain }}/-/reload" + method: POST + status_code: 200 diff --git a/stage-dev b/stage-dev index d69841b..db96fad 100644 --- a/stage-dev +++ b/stage-dev @@ -46,12 +46,12 @@ dev-postgres-02 [prometheus] dev-prometheus-01 -[webdav] -dev-webdav-01 - [redis] dev-redis-01 +[webdav] +dev-webdav-01 + [kube_control_plane] dev-kube-master-01 dev-kube-master-02 @@ -67,7 +67,7 @@ dev-kube-node-01 dev-kube-node-02 dev-kube-node-03 -[k8s-cluster:children] +[k8s_cluster:children] kube_control_plane kube_node @@ -78,7 +78,7 @@ elastic gitea harbor iam -k8s-cluster +k8s_cluster keycloak kibana logstash diff --git a/stage-qa b/stage-qa index 46ec004..d68587f 100644 --- a/stage-qa +++ b/stage-qa @@ -52,7 +52,7 @@ qa-redis-01 [webdav] qa-webdav-01 -[kube-control-plane] +[kube_control_plane] qa-kube-master-01 qa-kube-master-02 qa-kube-master-03 @@ -62,14 +62,14 @@ qa-kube-master-01 qa-kube-master-02 qa-kube-master-03 -[kube-node] +[kube_node] qa-kube-node-01 qa-kube-node-02 qa-kube-node-03 -[k8s-cluster:children] -kube-node -kube-control-plane +[k8s_cluster:children] +kube_control_plane +kube_node [stage_qa:children] awx @@ -78,7 +78,7 @@ elastic gitea harbor iam -k8s-cluster +k8s_cluster keycloak kibana logstash diff --git a/update-monitoring.yml b/update-monitoring.yml index 683525d..0313214 100644 --- a/update-monitoring.yml +++ b/update-monitoring.yml @@ -5,10 +5,6 @@ # Parameters: # playbook inventory # stage := the type of the stage (e.g. dev, int, qa, prod) -# tenant_id := (unique key for the tenant, e.g. customer) -# cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -32,20 +28,21 @@ tags: - always - - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" + - name: "Import autodiscover pre-tasks" + include_tasks: tasks/autodiscover_pre_tasks.yml tags: - always tasks: - name: Add prometheus servers to hosts if necessary add_host: - name: "{{ stage }}-prometheus-01" + name: "{{ item.name }}" groups: - "stage_{{ stage }}" - - "{{ item }}" + - "{{ item.service }}" + stage_server_infos: "{{ stage_server_infos }}" changed_when: False - with_items: "{{ cluster_services }}" + with_items: "{{ stage_server_infos }}" tags: - always @@ -53,27 +50,16 @@ # update monitoring ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-prometheus-01" serial: "{{ serial_number | default(1) }}" remote_user: root vars: ansible_ssh_host: "{{ stage_server_domain }}" - pre_tasks: - - name: "Import autodiscover pre-tasks" - include_tasks: tasks/autodiscover_pre_tasks.yml - tags: - - always - - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - tags: - - always - tasks: - include_role: name: prometheus + tasks_from: _update_config tags: - always @@ -81,7 +67,7 @@ # Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-prometheus-01" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local