# Copyright 2020 Huawei Technologies Co., Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- - name: check if prometheus is already installed shell: cmd: helm status mep-prometheus register: result ignore_errors: yes no_log: True - debug: msg: prometheus is already present when: result.stdout != "" - debug: # yamllint disable rule:line-length msg: Ignore Uninstall Log , prometheus not installed continue with Installation # yamllint disable rule:line-length when: result.stdout == "" - name: "INSTALL: copy values.yaml to host" copy: src: values.yaml dest: /tmp/prometheus/ when: result is failed and ansible_architecture == 'aarch64' - name: "INSTALL: Install prometheus on aarch64" # yamllint disable rule:line-length command: helm install mep-prometheus stable/prometheus -f /tmp/prometheus/values.yaml --version v9.3.1 --set alertmanager.image.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/prom/alertmanager --set configmapReload.image.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/jimmidyson/configmap-reload --set nodeExporter.image.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/prom/node-exporter --set server.image.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/prom/prometheus --set pushgateway.image.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/prom/pushgateway --set kubeStateMetrics.image.repository={{ vardata.private_repo_ip.name}}:{{ vardata.docker_registry_port.name}}/carlosedp/kube-state-metrics --set alertmanager.image.pullPolicy=IfNotPresent --set configmapReload.image.pullPolicy=IfNotPresent --set nodeExporter.image.pullPolicy=IfNotPresent --set server.image.pullPolicy=IfNotPresent --set pushgateway.image.pullPolicy=IfNotPresent --set kubeStateMetrics.image.pullPolicy=IfNotPresent # yamllint disable rule:line-length ignore_errors: yes no_log: True - name: Expose promethious server # yamllint disable rule:line-length command: kubectl expose deployment mep-prometheus-server --type=NodePort --name nodeport-mep-prometheus-server # yamllint disable rule:line-length ignore_errors: yes no_log: True - name: Execute patch service with given port shell: # yamllint disable rule:line-length cmd: "kubectl patch service nodeport-mep-prometheus-server --type='json' --patch='[{ \"op\": \"replace\", \"path\": \"/spec/ports/0/nodePort\", \"value\":{{ vardata.prometheus_node_port.name }}}]'" # yamllint disable rule:line-length ignore_errors: yes no_log: True