Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

K8 beta integration with openshift


#1

Hi, i’m trying to setup k8 beta integration in our openshift 3.6/kube 1.6 env.

https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kubernetes-monitoring-integration

I have the daemonset running, but I can see in the pod logs…

time=“2018-05-23T20:50:08Z” level=warning msg=“network error waiting for endpoint, retrying” error=“Head https://infra-api.newrelic.com: dial tcp 162.247.242.5:443: getsockopt: connection refused”

Do I need to setup some type of http/https proxy info in the newrelic-infrastructure-k8s-1.0.0-beta2.1.yaml to make it work? Doesnt look like the pods can connect to your api. We dont have direct internet access on our hosts.

Also, the docs say:
Confirm that kube-state-metrics is installed in the namespace kube-system

But I could not get it working in kube-system, it seems reserved in openshift. So I have it running in a different namespace. So that may be an issue also, but not sure yet.


#2

Hi mshack.

Thanks for trying out the integration!

There are couple of things.

We officially don’t support Openshift platform. We’re working on it. Therefore note that even if we resolve the network issue, you might encounter further surprises.

Regarding the error: network error waiting for endpoint, retrying. Customer can configure a proxy. Documentation about how to do it: https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/configuration/configure-infrastructure-agent#proxy And to make it works in Kubernetes they need to add into our daemonset the following variable under env:
- name: "NRIA_PROXY" value: "https://user:password@hostname:port"

Regarding kube-state-metrics. If kube-state-metrics is installed as a service and this service has a label called: k8s-app with value kube-state-metrics and service is not a Headless service (more info here: https://kubernetes.io/docs/concepts/services-networking/service/#headless-services) then we should be able to correctly get data from kube-state-metrics. You can try this:
kubectl describe service kube-state-metrics -n name-of-their-namespace
then in the result you should have this three fields:

Type:              ClusterIP
IP:                ip-adress-populated```

Thanks

#3

The instructions to setup Openshift can be found here: https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/kubernetes-monitoring-integration#install-openshift-container-platform