noheat: deploy MetalLB, cert-manager and prometheus 12/123012/3
authorMaciej Wereski <m.wereski@partner.samsung.com>
Wed, 28 Jul 2021 13:38:43 +0000 (13:38 +0000)
committerMorgan Richomme <morgan.richomme@orange.com>
Tue, 24 Aug 2021 13:41:02 +0000 (13:41 +0000)
Issue-ID: INT-1601
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Change-Id: Ia23b7ec2f5dbe3ecc1845f245f6377401daebbf0

deployment/noheat/cluster-rke/ansible/create.yml
deployment/noheat/cluster-rke/ansible/roles/deps/defaults/main.yml [new file with mode: 0644]
deployment/noheat/cluster-rke/ansible/roles/deps/tasks/main.yml [new file with mode: 0644]
deployment/noheat/cluster-rke/ansible/roles/deps/templates/metallb-values.yaml.j2 [new file with mode: 0644]

index c2eca98..9a2943b 100644 (file)
@@ -41,3 +41,8 @@
   hosts: operator0
   roles:
     - role: setup_helm
+- name: Install metallb, cert-manager and prometheus
+  hosts: operator0
+  gather_facts: false
+  roles:
+    - role: deps
diff --git a/deployment/noheat/cluster-rke/ansible/roles/deps/defaults/main.yml b/deployment/noheat/cluster-rke/ansible/roles/deps/defaults/main.yml
new file mode 100644 (file)
index 0000000..28ddadf
--- /dev/null
@@ -0,0 +1,6 @@
+---
+cert_manager_version: "1.2.0"
+prometheus_version: "13.13.1"
+metallb_version: "0.10.2"
+metallb_protocol: "layer2"
+metallb_addresses: "192.168.1.240-192.168.1.255"
diff --git a/deployment/noheat/cluster-rke/ansible/roles/deps/tasks/main.yml b/deployment/noheat/cluster-rke/ansible/roles/deps/tasks/main.yml
new file mode 100644 (file)
index 0000000..022867d
--- /dev/null
@@ -0,0 +1,44 @@
+- name: Download cert-manager
+  get_url:
+    url: "https://github.com/jetstack/cert-manager/releases/download/v{{ cert_manager_version }}/cert-manager.yaml"
+    dest: "/tmp"
+    mode: '0400'
+
+- name: Deploy cert-manager
+  kubernetes.core.k8s:
+    src: /tmp/cert-manager.yaml
+    state: present
+
+- name: Add MetalLB Helm repository
+  kubernetes.core.helm_repository:
+    name: metallb
+    repo_url: https://metallb.github.io/metallb
+
+- name: Add prometheus Helm repository
+  kubernetes.core.helm_repository:
+    name: prometheus
+    repo_url: https://prometheus-community.github.io/helm-charts
+
+- name: Copy MetalLB override file
+  template:
+    src: "metallb-values.yaml.j2"
+    dest: "/tmp/metallb-values.yaml"
+    mode: '0400'
+
+- name: Deploy MetalLB charts
+  kubernetes.core.helm:
+    name: metallb
+    chart_version: "{{ metallb_version }}"
+    chart_ref: metallb/metallb
+    release_namespace: metallb
+    create_namespace: true
+    values_files:
+      - /tmp/metallb-values.yaml
+
+- name: Deploy Prometheus charts
+  kubernetes.core.helm:
+    name: prometheus
+    chart_version: "{{ prometheus_version }}"
+    chart_ref: prometheus/kube-prometheus-stack
+    release_namespace: prometheus
+    create_namespace: true
diff --git a/deployment/noheat/cluster-rke/ansible/roles/deps/templates/metallb-values.yaml.j2 b/deployment/noheat/cluster-rke/ansible/roles/deps/templates/metallb-values.yaml.j2
new file mode 100644 (file)
index 0000000..d86d505
--- /dev/null
@@ -0,0 +1,6 @@
+configInline:
+  address-pools:
+   - name: default
+     protocol: "{{ metallb_protocol }}"
+     addresses:
+     - "{{ metallb_addresses }}"