Requirement:
Ingress is proved to be very useful and efficient in Kubernetes world. The concept of ingress can be found official Kubernetes doc. Ingress is similar to bigip on-premise. It provides rich functions for how to route and control ingress traffic in OKE. It is also adopted by the OKE team.
This note is based on https://kubernetes.github.io/ingress-nginx/ version 0.26
Kubernetes version needs to be at least v1.14.0
You would need cluster-admin role to proceed
Installation Steps:
- git clone https://github.com/HenryXie1/Prometheus-Granafa-Ingress-OKE.git
- cd Prometheus-Granafa-Ingress-OKE/ingress-controllers/nginx
- kubectl create -f ingress-controller.yaml
- It will create internal Loadbalancer in OKE
- typical output is
kubectl get po -n ingress-nginx NAME READY STATUS RESTARTS AGE nginx-ingress-controller-d7976cdbd-d2zr6 1/1 Running 0 71m
kubectl get svc -n ingress-nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx LoadBalancer 10.96.197.52 123.123.123.123 80:32155/TCP,443:31641/TCP 70m
Access Prometheus via Ingress Controller:
- About how to install Prometheus, please refer Install Prometheus and Grafana with High Availability in OKE (Oracle Kubernetes Engine)
- Steps of accessing Prometheus via ingress controller
- Spoof IP address for DNS names via below entry and take off www proxy of the browser
- 123.123.123.123 prometheus.bar.com grafana.bar.com alertmanager.bar.com
- prometheus.bar.com
- grafana.bar.com
- alertmanager.bar.com
- Spoof IP address for DNS names via below entry and take off www proxy of the browser
- Ingress for Grafana
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: grafana-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: grafana.bar.com http: paths: - path: / backend: serviceName: grafana servicePort: 3000
- Ingress for Alert manager
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: alertmanager-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: alertmanager.bar.com http: paths: - path: / backend: serviceName: alertmanager-main servicePort: 9093
- Ingress for Prometheus
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: prometheus-ingress annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: prometheus.bar.com http: paths: - path: / backend: serviceName: prometheus-k8s servicePort: 9090
No comments:
Post a Comment