1
0
mirror of https://github.com/rancher/rke.git synced 2025-08-12 12:13:25 +00:00

Adding DNS Policy support for nginx ingress controller

This commit is contained in:
Chris Kim 2019-08-23 15:52:31 -07:00 committed by Alena Prokharchyk
parent c5fefd5c77
commit 5cb6699fe3
2 changed files with 12 additions and 0 deletions

View File

@ -50,6 +50,7 @@ type ingressOptions struct {
Options map[string]string Options map[string]string
NodeSelector map[string]string NodeSelector map[string]string
ExtraArgs map[string]string ExtraArgs map[string]string
DNSPolicy string
AlpineImage string AlpineImage string
IngressImage string IngressImage string
IngressBackend string IngressBackend string
@ -485,6 +486,7 @@ func (c *Cluster) deployIngress(ctx context.Context, data map[string]interface{}
Options: c.Ingress.Options, Options: c.Ingress.Options,
NodeSelector: c.Ingress.NodeSelector, NodeSelector: c.Ingress.NodeSelector,
ExtraArgs: c.Ingress.ExtraArgs, ExtraArgs: c.Ingress.ExtraArgs,
DNSPolicy: c.Ingress.DNSPolicy,
IngressImage: c.SystemImages.Ingress, IngressImage: c.SystemImages.Ingress,
IngressBackend: c.SystemImages.IngressBackend, IngressBackend: c.SystemImages.IngressBackend,
} }

View File

@ -4,6 +4,7 @@ import (
"context" "context"
"fmt" "fmt"
"github.com/rancher/rke/metadata" "github.com/rancher/rke/metadata"
"k8s.io/api/core/v1"
"strings" "strings"
"github.com/rancher/rke/log" "github.com/rancher/rke/log"
@ -163,6 +164,15 @@ func validateIngressOptions(c *Cluster) error {
if c.Ingress.Provider != DefaultIngressController && c.Ingress.Provider != "none" { if c.Ingress.Provider != DefaultIngressController && c.Ingress.Provider != "none" {
return fmt.Errorf("Ingress controller %s is incorrect", c.Ingress.Provider) return fmt.Errorf("Ingress controller %s is incorrect", c.Ingress.Provider)
} }
if c.Ingress.DNSPolicy != "" &&
!(c.Ingress.DNSPolicy == string(v1.DNSClusterFirst) ||
c.Ingress.DNSPolicy == string(v1.DNSClusterFirstWithHostNet) ||
c.Ingress.DNSPolicy == string(v1.DNSNone) ||
c.Ingress.DNSPolicy == string(v1.DNSDefault)) {
return fmt.Errorf("DNSPolicy %s was not a valid DNS Policy", c.Ingress.DNSPolicy)
}
return nil return nil
} }