diff --git a/inventory/sample/group_vars/k8s-cluster.yml b/inventory/sample/group_vars/k8s-cluster.yml
index 5f4889e8b486743d72167cabc7ddd164a79e7cff..3e208bdaf02e80084ee8b4034f2c2a9664038ce8 100644
--- a/inventory/sample/group_vars/k8s-cluster.yml
+++ b/inventory/sample/group_vars/k8s-cluster.yml
@@ -163,9 +163,15 @@ dashboard_enabled: true
 # Monitoring apps for k8s
 efk_enabled: false
 
-# Helm deployment
+# Helm deployment. Needs for Prometheus Operator, k8s metrics.
 helm_enabled: false
 
+# Prometheus Operator. Needs for k8s metrics. Installed Helm is required.
+prometheus_operator_enabled: false
+
+# K8s cluster metrics. Installed Helm and Prometheus Operator are required.
+k8s_metrics_enabled: false
+
 # Istio deployment
 istio_enabled: false
 
diff --git a/roles/kubernetes-apps/meta/main.yml b/roles/kubernetes-apps/meta/main.yml
index fca51a3b6b8b7ccc57f87119bc8617c4990dab30..bc05e6f8c8b26ca3baa479e2d88a00f8f5ad2570 100644
--- a/roles/kubernetes-apps/meta/main.yml
+++ b/roles/kubernetes-apps/meta/main.yml
@@ -27,6 +27,12 @@ dependencies:
       - apps
       - registry
 
+  - role: kubernetes-apps/metrics
+    when: prometheus_operator_enabled
+    tags:
+      - apps
+      - metrics
+
   # istio role should be last because it takes a long time to initialize and
   # will cause timeouts trying to start other addons.
   - role: kubernetes-apps/istio
diff --git a/roles/kubernetes-apps/metrics/defaults/main.yml b/roles/kubernetes-apps/metrics/defaults/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..72018e6f5f58f6b04921e09c6000ae39d988a386
--- /dev/null
+++ b/roles/kubernetes-apps/metrics/defaults/main.yml
@@ -0,0 +1,9 @@
+---
+# Prometheus Operator. Needs for k8s metrics. Installed Helm is required.
+prometheus_operator_enabled: false
+
+# K8s cluster metrics. Installed Helm and Prometheus Operators are required.
+k8s_metrics_enabled: false
+
+# Separate namespace for monitoring/metrics
+monitoring_namespace: "monitoring"
diff --git a/roles/kubernetes-apps/metrics/tasks/main.yml b/roles/kubernetes-apps/metrics/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f64433c69bed1545acc7e9b73cd9086502938899
--- /dev/null
+++ b/roles/kubernetes-apps/metrics/tasks/main.yml
@@ -0,0 +1,17 @@
+---
+- name: Metrics | Make sure Helm is installed
+  command: "{{ bin_dir }}/helm version"
+
+- name: Metrics | Add coreos repo
+  command: "{{ bin_dir }}/helm repo add coreos https://s3-eu-west-1.amazonaws.com/coreos-charts/stable/"
+  run_once: true
+
+- name: Metrics | Install Prometheus Operator
+  command: "{{ bin_dir }}/helm upgrade --install prometheus-operator coreos/prometheus-operator --namespace {{ monitoring_namespace }}"
+  when: prometheus_operator_enabled
+  run_once: true
+
+- name: Metrics | Install K8s cluster metrics
+  command: "{{ bin_dir }}/helm upgrade --install kube-prometheus     coreos/kube-prometheus     --namespace {{ monitoring_namespace }}"
+  when: k8s_metrics_enabled
+  run_once: true