1
0
mirror of https://github.com/rancher/rke.git synced 2025-04-27 19:25:44 +00:00

Merge pull request #2626 from superseb/ingress_hostport_121

Set ingress to hostport in k8s 1.21 and up
This commit is contained in:
Sebastiaan van Steenis 2021-07-30 21:33:17 +02:00 committed by GitHub
commit c1268be05f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -123,6 +123,7 @@ const (
DefaultHTTPPort = 80 DefaultHTTPPort = 80
DefaultHTTPSPort = 443 DefaultHTTPSPort = 443
DefaultNetworkMode = "hostNetwork" DefaultNetworkMode = "hostNetwork"
DefaultNetworkModeV121 = "hostPort"
) )
var ( var (
@ -804,9 +805,26 @@ func (c *Cluster) setAddonsDefaults() {
if c.Monitoring.Replicas == nil { if c.Monitoring.Replicas == nil {
c.Monitoring.Replicas = &DefaultMonitoringAddonReplicas c.Monitoring.Replicas = &DefaultMonitoringAddonReplicas
} }
k8sVersion := c.RancherKubernetesEngineConfig.Version
toMatch, err := semver.Make(k8sVersion[1:])
if err != nil {
logrus.Warnf("Cluster version [%s] can not be parsed as semver", k8sVersion)
}
if c.Ingress.NetworkMode == "" { if c.Ingress.NetworkMode == "" {
c.Ingress.NetworkMode = DefaultNetworkMode networkMode := DefaultNetworkMode
logrus.Debugf("Checking network mode for ingress for cluster version [%s]", k8sVersion)
// network mode will be hostport for k8s 1.21 and up
hostPortRange, err := semver.ParseRange(">=1.21.0-rancher0")
if err != nil {
logrus.Warnf("Failed to parse semver range for checking ingress network mode")
}
if hostPortRange(toMatch) {
logrus.Debugf("Cluster version [%s] needs to have ingress network mode set to hostPort", k8sVersion)
networkMode = DefaultNetworkModeV121
}
c.Ingress.NetworkMode = networkMode
} }
if c.Ingress.HTTPPort == 0 { if c.Ingress.HTTPPort == 0 {
@ -819,11 +837,6 @@ func (c *Cluster) setAddonsDefaults() {
if c.Ingress.DefaultBackend == nil { if c.Ingress.DefaultBackend == nil {
defaultBackend := true defaultBackend := true
k8sVersion := c.RancherKubernetesEngineConfig.Version
toMatch, err := semver.Make(k8sVersion[1:])
if err != nil {
logrus.Warnf("Cluster version [%s] can not be parsed as semver", k8sVersion)
}
logrus.Debugf("Checking ingress default backend for cluster version [%s]", k8sVersion) logrus.Debugf("Checking ingress default backend for cluster version [%s]", k8sVersion)
// default backend will be false for k8s 1.21 and up // default backend will be false for k8s 1.21 and up
disableIngressDefaultBackendRange, err := semver.ParseRange(">=1.21.0-rancher0") disableIngressDefaultBackendRange, err := semver.ParseRange(">=1.21.0-rancher0")