Skip to content

Nginx HA #1674

@dkirrane

Description

@dkirrane

QUESTION or FEATURE REQUEST
I'd like to make the nginx ingress controller HA. Have 1 IP that can be used outside the Kubernetes cluster to communicate thru ingress to my services/pods.

I can add 2 nginx ingress controller Replicas but how can I share a VIP between them?

NginX Plus uses keepalived+VRRP with a Virtual IP to do this. Active Nginx gets the VIP. If it dies Backup gets the VIP and becomes the Active:
https://www.nginx.com/products/nginx/high-availability/
But how can I do this in Kubernetes?

NGINX Ingress controller version:
0.9.0-beta.15

Kubernetes version (use kubectl version):
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.1", GitCommit:"f38e43b221d08850172a9a4ea785a86a3ffa3b3a", GitTreeState:"clean", BuildDate:"2017-10-11T23:27:35Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Environment:
CentOS Linux release 7.4.1708 (Core)

  • Cloud provider or hardware configuration:
    Kubernetes cluster created on VMWare with 4 CentOS 7 VMs using kubeadm. 1 master 3 minions

  • OS (e.g. from /etc/os-release):
    CentOS Linux release 7.4.1708 (Core)

  • Kernel (e.g. uname -a):
    Linux master 3.10.0-693.el7.x86_64 Basic structure  #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

  • Install tools:
    kubeadm version: &version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.1", GitCommit:"f38e43b221d08850172a9a4ea785a86a3ffa3b3a", GitTreeState:"clean", BuildDate:"2017-10-11T23:16:41Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

  • Others:
    kubectl version
    Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.1", GitCommit:"f38e43b221d08850172a9a4ea785a86a3ffa3b3a", GitTreeState:"clean", BuildDate:"2017-10-11T23:27:35Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions