Why can't Openshift cannot access metrics API but metrics is setup?

I am trying to get autoscaling working on openshift OKD. I am using Openshift 3.11.

So I have installed metrics and Hawkular metrics and set the url's and set the host files to point to it.

Getting the HorizontalPodAutoscaler:

oc describe hpa

Gives:

Name:                                                  blog
Namespace:                                             demo
Labels:                                                <none>
Annotations:                                           <none>
CreationTimestamp:                                     Mon, 28 Oct 2019 13:35:07 +0200
Reference:                                             DeploymentConfig/blog
Metrics:                                               ( current / target )
  resource cpu on pods  (as a percentage of request):  <unknown> / 50%
Min replicas:                                          1
Max replicas:                                          10
DeploymentConfig pods:                                 3 current / 0 desired
Conditions:
  Type           Status  Reason                   Message
  ----           ------  ------                   -------
  AbleToScale    True    SucceededGetScale        the HPA controller was able to get the target's current scale
  ScalingActive  False   FailedGetResourceMetric  the HPA was unable to compute the replica count: unable to get metrics for resource cpu: unable to fetch metrics from resource metrics API: the server could not find the requested resource (get pods.metrics.k8s.io)
Events:
  Type     Reason                        Age                From                       Message
  ----     ------                        ----               ----                       -------
  Warning  FailedComputeMetricsReplicas  1h (x41 over 1h)   horizontal-pod-autoscaler  failed to get cpu utilization: unable to get metrics for resource cpu: unable to fetch metrics from resource metrics API: the server could not find the requested resource (get pods.metrics.k8s.io)
  Warning  FailedGetResourceMetric       4m (x171 over 1h)  horizontal-pod-autoscaler  unable to get metrics for resource cpu: unable to fetch metrics from resource metrics API: the server could not find the requested resource (get pods.metrics.k8s.io)

So it cannot access the Metrics API.

Furthermore getting the metricsAPIProxy gives:

oc adm diagnostics MetricsApiProxy

Gives:

[Note] Determining if client configuration exists for client/cluster diagnostics
Info:  Successfully read a client config file at '/Users/example/.kube/config'
Info:  Using context for cluster-admin access: 'demo/openshift-example-co-za:8443/exampleh'

[Note] Running diagnostic: MetricsApiProxy
       Description: Check the integrated heapster metrics can be reached via the API proxy

ERROR: [DClu4003 from diagnostic MetricsApiProxy@openshift/origin/pkg/oc/cli/admin/diagnostics/diagnostics/cluster/metrics.go:89]
       Unable to access the metrics API Proxy endpoint /api/v1/proxy/namespaces/openshift-infra/services/https:heapster:/api/v1/model/metrics:
       (*errors.StatusError) the server could not find the requested resource
       The Horizontal Pod Autoscaler is not able to retrieve metrics to drive scaling.

[Note] Summary of diagnostics execution (version v3.11.0+0cbc58b):
[Note] Errors seen: 1

https://docs.openshift.com/container-platform/3.11/dev_guide/pod_autoscaling.html#req-for-using-hpas

To use horizontal pod autoscalers, you need to install the OpenShift Container Platform metrics server:

$ ansible-playbook \ /usr/share/ansible/openshift-ansible/playbooks/metrics-server/config.yml \ -e openshift_metrics_server_install=true

You can verify that the server was installed correctly by running:

$ oc adm top node $ oc adm top pod