mirror of
https://github.com/rancher/rke.git
synced 2025-08-11 19:53:02 +00:00
Add priority class name to addons
This commit is contained in:
parent
3c2c508492
commit
68453acb6e
@ -43,6 +43,11 @@ const (
|
|||||||
KubeAPIAuthAppName = "kube-api-auth"
|
KubeAPIAuthAppName = "kube-api-auth"
|
||||||
CattleClusterAgentAppName = "cattle-cluster-agent"
|
CattleClusterAgentAppName = "cattle-cluster-agent"
|
||||||
|
|
||||||
|
CoreDNSPriorityClassNameKey = "coredns_priority_class_name"
|
||||||
|
CoreDNSAutoscalerPriorityClassNameKey = "coredns_autoscaler_priority_class_name"
|
||||||
|
KubeDNSPriorityClassNameKey = "kube_dns_priority_class_name"
|
||||||
|
KubeDNSAutoscalerPriorityClassNameKey = "kube_dns_autoscaler_priority_class_name"
|
||||||
|
|
||||||
CoreDNSProvider = "coredns"
|
CoreDNSProvider = "coredns"
|
||||||
KubeDNSProvider = "kube-dns"
|
KubeDNSProvider = "kube-dns"
|
||||||
Nodelocal = "nodelocal"
|
Nodelocal = "nodelocal"
|
||||||
@ -72,6 +77,8 @@ type ingressOptions struct {
|
|||||||
DefaultBackend bool
|
DefaultBackend bool
|
||||||
UpdateStrategy *appsv1.DaemonSetUpdateStrategy
|
UpdateStrategy *appsv1.DaemonSetUpdateStrategy
|
||||||
Tolerations []v1.Toleration
|
Tolerations []v1.Toleration
|
||||||
|
NginxIngressControllerPriorityClassName string
|
||||||
|
DefaultHTTPBackendPriorityClassName string
|
||||||
}
|
}
|
||||||
|
|
||||||
type MetricsServerOptions struct {
|
type MetricsServerOptions struct {
|
||||||
@ -83,6 +90,7 @@ type MetricsServerOptions struct {
|
|||||||
UpdateStrategy *appsv1.DeploymentStrategy
|
UpdateStrategy *appsv1.DeploymentStrategy
|
||||||
Replicas *int32
|
Replicas *int32
|
||||||
Tolerations []v1.Toleration
|
Tolerations []v1.Toleration
|
||||||
|
MetricsServerPriorityClassName string
|
||||||
}
|
}
|
||||||
|
|
||||||
type CoreDNSOptions struct {
|
type CoreDNSOptions struct {
|
||||||
@ -97,6 +105,8 @@ type CoreDNSOptions struct {
|
|||||||
UpdateStrategy *appsv1.DeploymentStrategy
|
UpdateStrategy *appsv1.DeploymentStrategy
|
||||||
LinearAutoscalerParams string
|
LinearAutoscalerParams string
|
||||||
Tolerations []v1.Toleration
|
Tolerations []v1.Toleration
|
||||||
|
CoreDNSPriorityClassName string
|
||||||
|
CoreDNSAutoscalerPriorityClassName string
|
||||||
}
|
}
|
||||||
|
|
||||||
type KubeDNSOptions struct {
|
type KubeDNSOptions struct {
|
||||||
@ -114,6 +124,8 @@ type KubeDNSOptions struct {
|
|||||||
UpdateStrategy *appsv1.DeploymentStrategy
|
UpdateStrategy *appsv1.DeploymentStrategy
|
||||||
LinearAutoscalerParams string
|
LinearAutoscalerParams string
|
||||||
Tolerations []v1.Toleration
|
Tolerations []v1.Toleration
|
||||||
|
KubeDNSPriorityClassName string
|
||||||
|
KubeDNSAutoscalerPriorityClassName string
|
||||||
}
|
}
|
||||||
|
|
||||||
type NodelocalOptions struct {
|
type NodelocalOptions struct {
|
||||||
@ -124,6 +136,7 @@ type NodelocalOptions struct {
|
|||||||
IPAddress string
|
IPAddress string
|
||||||
NodeSelector map[string]string
|
NodeSelector map[string]string
|
||||||
UpdateStrategy *appsv1.DaemonSetUpdateStrategy
|
UpdateStrategy *appsv1.DaemonSetUpdateStrategy
|
||||||
|
NodeLocalDNSPriorityClassName string
|
||||||
}
|
}
|
||||||
|
|
||||||
type addonError struct {
|
type addonError struct {
|
||||||
@ -332,6 +345,8 @@ func (c *Cluster) deployKubeDNS(ctx context.Context, data map[string]interface{}
|
|||||||
RollingUpdate: c.DNS.UpdateStrategy.RollingUpdate,
|
RollingUpdate: c.DNS.UpdateStrategy.RollingUpdate,
|
||||||
},
|
},
|
||||||
Tolerations: c.DNS.Tolerations,
|
Tolerations: c.DNS.Tolerations,
|
||||||
|
KubeDNSPriorityClassName: c.DNS.Options[KubeDNSPriorityClassNameKey],
|
||||||
|
KubeDNSAutoscalerPriorityClassName: c.DNS.Options[KubeDNSAutoscalerPriorityClassNameKey],
|
||||||
}
|
}
|
||||||
linearModeBytes, err := json.Marshal(c.DNS.LinearAutoscalerParams)
|
linearModeBytes, err := json.Marshal(c.DNS.LinearAutoscalerParams)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -369,6 +384,8 @@ func (c *Cluster) deployCoreDNS(ctx context.Context, data map[string]interface{}
|
|||||||
RollingUpdate: c.DNS.UpdateStrategy.RollingUpdate,
|
RollingUpdate: c.DNS.UpdateStrategy.RollingUpdate,
|
||||||
},
|
},
|
||||||
Tolerations: c.DNS.Tolerations,
|
Tolerations: c.DNS.Tolerations,
|
||||||
|
CoreDNSPriorityClassName: c.DNS.Options[CoreDNSPriorityClassNameKey],
|
||||||
|
CoreDNSAutoscalerPriorityClassName: c.DNS.Options[CoreDNSAutoscalerPriorityClassNameKey],
|
||||||
}
|
}
|
||||||
linearModeBytes, err := json.Marshal(c.DNS.LinearAutoscalerParams)
|
linearModeBytes, err := json.Marshal(c.DNS.LinearAutoscalerParams)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -424,6 +441,7 @@ func (c *Cluster) deployMetricServer(ctx context.Context, data map[string]interf
|
|||||||
},
|
},
|
||||||
Replicas: c.Monitoring.Replicas,
|
Replicas: c.Monitoring.Replicas,
|
||||||
Tolerations: c.Monitoring.Tolerations,
|
Tolerations: c.Monitoring.Tolerations,
|
||||||
|
MetricsServerPriorityClassName: c.Monitoring.MetricsServerPriorityClassName,
|
||||||
}
|
}
|
||||||
tmplt, err := templates.GetVersionedTemplates(kdm.MetricsServer, data, c.Version)
|
tmplt, err := templates.GetVersionedTemplates(kdm.MetricsServer, data, c.Version)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -588,6 +606,8 @@ func (c *Cluster) deployIngress(ctx context.Context, data map[string]interface{}
|
|||||||
RollingUpdate: c.Ingress.UpdateStrategy.RollingUpdate,
|
RollingUpdate: c.Ingress.UpdateStrategy.RollingUpdate,
|
||||||
},
|
},
|
||||||
Tolerations: c.Ingress.Tolerations,
|
Tolerations: c.Ingress.Tolerations,
|
||||||
|
NginxIngressControllerPriorityClassName: c.Ingress.NginxIngressControllerPriorityClassName,
|
||||||
|
DefaultHTTPBackendPriorityClassName: c.Ingress.DefaultHTTPBackendPriorityClassName,
|
||||||
}
|
}
|
||||||
// since nginx ingress controller 0.16.0, it can be run as non-root and doesn't require privileged anymore.
|
// since nginx ingress controller 0.16.0, it can be run as non-root and doesn't require privileged anymore.
|
||||||
// So we can use securityContext instead of setting privileges via initContainer.
|
// So we can use securityContext instead of setting privileges via initContainer.
|
||||||
@ -722,6 +742,7 @@ func (c *Cluster) deployNodelocal(ctx context.Context, data map[string]interface
|
|||||||
ClusterDNSServer: c.ClusterDNSServer,
|
ClusterDNSServer: c.ClusterDNSServer,
|
||||||
IPAddress: c.DNS.Nodelocal.IPAddress,
|
IPAddress: c.DNS.Nodelocal.IPAddress,
|
||||||
NodeSelector: c.DNS.Nodelocal.NodeSelector,
|
NodeSelector: c.DNS.Nodelocal.NodeSelector,
|
||||||
|
NodeLocalDNSPriorityClassName: c.DNS.Nodelocal.NodeLocalDNSPriorityClassName,
|
||||||
}
|
}
|
||||||
if c.DNS.Nodelocal.UpdateStrategy != nil {
|
if c.DNS.Nodelocal.UpdateStrategy != nil {
|
||||||
NodelocalConfig.UpdateStrategy = &appsv1.DaemonSetUpdateStrategy{
|
NodelocalConfig.UpdateStrategy = &appsv1.DaemonSetUpdateStrategy{
|
||||||
|
@ -557,6 +557,10 @@ func (c *Cluster) setClusterDNSDefaults() error {
|
|||||||
}
|
}
|
||||||
c.DNS.Provider = ClusterDNSProvider
|
c.DNS.Provider = ClusterDNSProvider
|
||||||
logrus.Debugf("DNS provider set to [%s]", ClusterDNSProvider)
|
logrus.Debugf("DNS provider set to [%s]", ClusterDNSProvider)
|
||||||
|
if c.DNS.Options == nil {
|
||||||
|
// don't break if the user didn't define options
|
||||||
|
c.DNS.Options = make(map[string]string)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,12 +54,15 @@ const (
|
|||||||
FlannelBackendPort = "flannel_backend_port"
|
FlannelBackendPort = "flannel_backend_port"
|
||||||
// FlannelBackendVxLanNetworkIdentify should be greater than or equal to 4096 if using VxLan mode in the cluster with Windows nodes
|
// FlannelBackendVxLanNetworkIdentify should be greater than or equal to 4096 if using VxLan mode in the cluster with Windows nodes
|
||||||
FlannelBackendVxLanNetworkIdentify = "flannel_backend_vni"
|
FlannelBackendVxLanNetworkIdentify = "flannel_backend_vni"
|
||||||
|
KubeFlannelPriorityClassNameKeyName = "kube_flannel_priority_class_name"
|
||||||
|
|
||||||
CalicoNetworkPlugin = "calico"
|
CalicoNetworkPlugin = "calico"
|
||||||
CalicoNodeLabel = "calico-node"
|
CalicoNodeLabel = "calico-node"
|
||||||
CalicoControllerLabel = "calico-kube-controllers"
|
CalicoControllerLabel = "calico-kube-controllers"
|
||||||
CalicoCloudProvider = "calico_cloud_provider"
|
CalicoCloudProvider = "calico_cloud_provider"
|
||||||
CalicoFlexVolPluginDirectory = "calico_flex_volume_plugin_dir"
|
CalicoFlexVolPluginDirectory = "calico_flex_volume_plugin_dir"
|
||||||
|
CalicoNodePriorityClassNameKeyName = "calico_node_priority_class_name"
|
||||||
|
CalicoKubeControllersPriorityClassNameKeyName = "calico_kube_controllers_priority_class_name"
|
||||||
|
|
||||||
CanalNetworkPlugin = "canal"
|
CanalNetworkPlugin = "canal"
|
||||||
CanalIface = "canal_iface"
|
CanalIface = "canal_iface"
|
||||||
@ -69,9 +72,11 @@ const (
|
|||||||
// CanalFlannelBackendVxLanNetworkIdentify should be greater than or equal to 4096 if using Flannel VxLan mode in the cluster with Windows nodes
|
// CanalFlannelBackendVxLanNetworkIdentify should be greater than or equal to 4096 if using Flannel VxLan mode in the cluster with Windows nodes
|
||||||
CanalFlannelBackendVxLanNetworkIdentify = "canal_flannel_backend_vni"
|
CanalFlannelBackendVxLanNetworkIdentify = "canal_flannel_backend_vni"
|
||||||
CanalFlexVolPluginDirectory = "canal_flex_volume_plugin_dir"
|
CanalFlexVolPluginDirectory = "canal_flex_volume_plugin_dir"
|
||||||
|
CanalPriorityClassNameKeyName = "canal_priority_class_name"
|
||||||
|
|
||||||
WeaveNetworkPlugin = "weave"
|
WeaveNetworkPlugin = "weave"
|
||||||
WeaveNetworkAppName = "weave-net"
|
WeaveNetworkAppName = "weave-net"
|
||||||
|
WeaveNetPriorityClassNameKeyName = "weave_net_priority_class_name"
|
||||||
|
|
||||||
AciNetworkPlugin = "aci"
|
AciNetworkPlugin = "aci"
|
||||||
AciOVSMemoryLimit = "aci_ovs_memory_limit"
|
AciOVSMemoryLimit = "aci_ovs_memory_limit"
|
||||||
@ -170,9 +175,14 @@ const (
|
|||||||
|
|
||||||
FlannelInterface = "FlannelInterface"
|
FlannelInterface = "FlannelInterface"
|
||||||
FlannelBackend = "FlannelBackend"
|
FlannelBackend = "FlannelBackend"
|
||||||
|
KubeFlannelPriorityClassName = "KubeFlannelPriorityClassName"
|
||||||
|
CalicoNodePriorityClassName = "CalicoNodePriorityClassName"
|
||||||
|
CalicoKubeControllersPriorityClassName = "CalicoKubeControllersPriorityClassName"
|
||||||
CanalInterface = "CanalInterface"
|
CanalInterface = "CanalInterface"
|
||||||
|
CanalPriorityClassName = "CanalPriorityClassName"
|
||||||
FlexVolPluginDir = "FlexVolPluginDir"
|
FlexVolPluginDir = "FlexVolPluginDir"
|
||||||
WeavePassword = "WeavePassword"
|
WeavePassword = "WeavePassword"
|
||||||
|
WeaveNetPriorityClassName = "WeaveNetPriorityClassName"
|
||||||
MTU = "MTU"
|
MTU = "MTU"
|
||||||
RBACConfig = "RBACConfig"
|
RBACConfig = "RBACConfig"
|
||||||
ClusterVersion = "ClusterVersion"
|
ClusterVersion = "ClusterVersion"
|
||||||
@ -328,6 +338,7 @@ func (c *Cluster) doFlannelDeploy(ctx context.Context, data map[string]interface
|
|||||||
Type: c.Network.UpdateStrategy.Strategy,
|
Type: c.Network.UpdateStrategy.Strategy,
|
||||||
RollingUpdate: c.Network.UpdateStrategy.RollingUpdate,
|
RollingUpdate: c.Network.UpdateStrategy.RollingUpdate,
|
||||||
},
|
},
|
||||||
|
KubeFlannelPriorityClassName: c.Network.Options[KubeFlannelPriorityClassNameKeyName],
|
||||||
}
|
}
|
||||||
pluginYaml, err := c.getNetworkPluginManifest(flannelConfig, data)
|
pluginYaml, err := c.getNetworkPluginManifest(flannelConfig, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -355,8 +366,10 @@ func (c *Cluster) doCalicoDeploy(ctx context.Context, data map[string]interface{
|
|||||||
Type: c.Network.UpdateStrategy.Strategy,
|
Type: c.Network.UpdateStrategy.Strategy,
|
||||||
RollingUpdate: c.Network.UpdateStrategy.RollingUpdate,
|
RollingUpdate: c.Network.UpdateStrategy.RollingUpdate,
|
||||||
},
|
},
|
||||||
FlexVolPluginDir: c.Network.Options[CalicoFlexVolPluginDirectory],
|
|
||||||
Tolerations: c.Network.Tolerations,
|
Tolerations: c.Network.Tolerations,
|
||||||
|
FlexVolPluginDir: c.Network.Options[CalicoFlexVolPluginDirectory],
|
||||||
|
CalicoNodePriorityClassName: c.Network.Options[CalicoNodePriorityClassNameKeyName],
|
||||||
|
CalicoKubeControllersPriorityClassName: c.Network.Options[CalicoKubeControllersPriorityClassNameKeyName],
|
||||||
}
|
}
|
||||||
pluginYaml, err := c.getNetworkPluginManifest(calicoConfig, data)
|
pluginYaml, err := c.getNetworkPluginManifest(calicoConfig, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -401,8 +414,10 @@ func (c *Cluster) doCanalDeploy(ctx context.Context, data map[string]interface{}
|
|||||||
Type: c.Network.UpdateStrategy.Strategy,
|
Type: c.Network.UpdateStrategy.Strategy,
|
||||||
RollingUpdate: c.Network.UpdateStrategy.RollingUpdate,
|
RollingUpdate: c.Network.UpdateStrategy.RollingUpdate,
|
||||||
},
|
},
|
||||||
FlexVolPluginDir: c.Network.Options[CanalFlexVolPluginDirectory],
|
|
||||||
Tolerations: c.Network.Tolerations,
|
Tolerations: c.Network.Tolerations,
|
||||||
|
FlexVolPluginDir: c.Network.Options[CanalFlexVolPluginDirectory],
|
||||||
|
CanalPriorityClassName: c.Network.Options[CanalPriorityClassNameKeyName],
|
||||||
|
CalicoKubeControllersPriorityClassName: c.Network.Options[CalicoKubeControllersPriorityClassNameKeyName],
|
||||||
}
|
}
|
||||||
pluginYaml, err := c.getNetworkPluginManifest(canalConfig, data)
|
pluginYaml, err := c.getNetworkPluginManifest(canalConfig, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -425,6 +440,7 @@ func (c *Cluster) doWeaveDeploy(ctx context.Context, data map[string]interface{}
|
|||||||
Type: c.Network.UpdateStrategy.Strategy,
|
Type: c.Network.UpdateStrategy.Strategy,
|
||||||
RollingUpdate: c.Network.UpdateStrategy.RollingUpdate,
|
RollingUpdate: c.Network.UpdateStrategy.RollingUpdate,
|
||||||
},
|
},
|
||||||
|
WeaveNetPriorityClassName: c.Network.Options[WeaveNetPriorityClassNameKeyName],
|
||||||
}
|
}
|
||||||
pluginYaml, err := c.getNetworkPluginManifest(weaveConfig, data)
|
pluginYaml, err := c.getNetworkPluginManifest(weaveConfig, data)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -421,7 +421,8 @@ type AuthzConfig struct {
|
|||||||
type IngressConfig struct {
|
type IngressConfig struct {
|
||||||
// Ingress controller type used by kubernetes
|
// Ingress controller type used by kubernetes
|
||||||
Provider string `yaml:"provider" json:"provider,omitempty" norman:"default=nginx"`
|
Provider string `yaml:"provider" json:"provider,omitempty" norman:"default=nginx"`
|
||||||
// Ingress controller options
|
// These options are NOT for configuring Ingress's addon template.
|
||||||
|
// They are used for its ConfigMap options specifically.
|
||||||
Options map[string]string `yaml:"options" json:"options,omitempty"`
|
Options map[string]string `yaml:"options" json:"options,omitempty"`
|
||||||
// NodeSelector key pair
|
// NodeSelector key pair
|
||||||
NodeSelector map[string]string `yaml:"node_selector" json:"nodeSelector,omitempty"`
|
NodeSelector map[string]string `yaml:"node_selector" json:"nodeSelector,omitempty"`
|
||||||
@ -447,6 +448,10 @@ type IngressConfig struct {
|
|||||||
Tolerations []v1.Toleration `yaml:"tolerations" json:"tolerations,omitempty"`
|
Tolerations []v1.Toleration `yaml:"tolerations" json:"tolerations,omitempty"`
|
||||||
// Enable or disable nginx default-http-backend
|
// Enable or disable nginx default-http-backend
|
||||||
DefaultBackend *bool `yaml:"default_backend" json:"defaultBackend,omitempty" norman:"default=true"`
|
DefaultBackend *bool `yaml:"default_backend" json:"defaultBackend,omitempty" norman:"default=true"`
|
||||||
|
// Priority class name for Nginx-Ingress's "default-http-backend" deployment
|
||||||
|
DefaultHTTPBackendPriorityClassName string `yaml:"default_http_backend_priority_class_name" json:"defaultHttpBackendPriorityClassName,omitempty"`
|
||||||
|
// Priority class name for Nginx-Ingress's "nginx-ingress-controller" daemonset
|
||||||
|
NginxIngressControllerPriorityClassName string `yaml:"nginx_ingress_controller_priority_class_name" json:"nginxIngressControllerPriorityClassName,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ExtraEnv struct {
|
type ExtraEnv struct {
|
||||||
@ -895,7 +900,8 @@ type GlobalAwsOpts struct {
|
|||||||
type MonitoringConfig struct {
|
type MonitoringConfig struct {
|
||||||
// Monitoring server provider
|
// Monitoring server provider
|
||||||
Provider string `yaml:"provider" json:"provider,omitempty" norman:"default=metrics-server"`
|
Provider string `yaml:"provider" json:"provider,omitempty" norman:"default=metrics-server"`
|
||||||
// Metrics server options
|
// These options are NOT for configuring the Metrics-Server's addon template.
|
||||||
|
// They are used to pass command args to the metric-server's deployment containers specifically.
|
||||||
Options map[string]string `yaml:"options" json:"options,omitempty"`
|
Options map[string]string `yaml:"options" json:"options,omitempty"`
|
||||||
// NodeSelector key pair
|
// NodeSelector key pair
|
||||||
NodeSelector map[string]string `yaml:"node_selector" json:"nodeSelector,omitempty"`
|
NodeSelector map[string]string `yaml:"node_selector" json:"nodeSelector,omitempty"`
|
||||||
@ -905,6 +911,8 @@ type MonitoringConfig struct {
|
|||||||
Replicas *int32 `yaml:"replicas" json:"replicas,omitempty" norman:"default=1"`
|
Replicas *int32 `yaml:"replicas" json:"replicas,omitempty" norman:"default=1"`
|
||||||
// Tolerations for Deployments
|
// Tolerations for Deployments
|
||||||
Tolerations []v1.Toleration `yaml:"tolerations" json:"tolerations,omitempty"`
|
Tolerations []v1.Toleration `yaml:"tolerations" json:"tolerations,omitempty"`
|
||||||
|
// Priority class name for Metrics-Server's "metrics-server" deployment
|
||||||
|
MetricsServerPriorityClassName string `yaml:"metrics_server_priority_class_name" json:"metricsServerPriorityClassName,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type RestoreConfig struct {
|
type RestoreConfig struct {
|
||||||
@ -921,6 +929,8 @@ type RotateCertificates struct {
|
|||||||
type DNSConfig struct {
|
type DNSConfig struct {
|
||||||
// DNS provider
|
// DNS provider
|
||||||
Provider string `yaml:"provider" json:"provider,omitempty"`
|
Provider string `yaml:"provider" json:"provider,omitempty"`
|
||||||
|
// DNS config options
|
||||||
|
Options map[string]string `yaml:"options" json:"options,omitempty"`
|
||||||
// Upstream nameservers
|
// Upstream nameservers
|
||||||
UpstreamNameservers []string `yaml:"upstreamnameservers" json:"upstreamnameservers,omitempty"`
|
UpstreamNameservers []string `yaml:"upstreamnameservers" json:"upstreamnameservers,omitempty"`
|
||||||
// ReverseCIDRs
|
// ReverseCIDRs
|
||||||
@ -930,7 +940,7 @@ type DNSConfig struct {
|
|||||||
// NodeSelector key pair
|
// NodeSelector key pair
|
||||||
NodeSelector map[string]string `yaml:"node_selector" json:"nodeSelector,omitempty"`
|
NodeSelector map[string]string `yaml:"node_selector" json:"nodeSelector,omitempty"`
|
||||||
// Nodelocal DNS
|
// Nodelocal DNS
|
||||||
Nodelocal *Nodelocal `yaml:"nodelocal" json:"nodelocal,omitempy"`
|
Nodelocal *Nodelocal `yaml:"nodelocal" json:"nodelocal,omitempty"`
|
||||||
// Update strategy
|
// Update strategy
|
||||||
UpdateStrategy *DeploymentStrategy `yaml:"update_strategy" json:"updateStrategy,omitempty"`
|
UpdateStrategy *DeploymentStrategy `yaml:"update_strategy" json:"updateStrategy,omitempty"`
|
||||||
// Autoscaler fields to determine number of dns replicas
|
// Autoscaler fields to determine number of dns replicas
|
||||||
@ -941,11 +951,13 @@ type DNSConfig struct {
|
|||||||
|
|
||||||
type Nodelocal struct {
|
type Nodelocal struct {
|
||||||
// link-local IP for nodelocal DNS
|
// link-local IP for nodelocal DNS
|
||||||
IPAddress string `yaml:"ip_address" json:"ipAddress,omitempy"`
|
IPAddress string `yaml:"ip_address" json:"ipAddress,omitempty"`
|
||||||
// Nodelocal DNS daemonset upgrade strategy
|
// Nodelocal DNS daemonset upgrade strategy
|
||||||
UpdateStrategy *DaemonSetUpdateStrategy `yaml:"update_strategy" json:"updateStrategy,omitempty"`
|
UpdateStrategy *DaemonSetUpdateStrategy `yaml:"update_strategy" json:"updateStrategy,omitempty"`
|
||||||
// NodeSelector key pair
|
// NodeSelector key pair
|
||||||
NodeSelector map[string]string `yaml:"node_selector" json:"nodeSelector,omitempty"`
|
NodeSelector map[string]string `yaml:"node_selector" json:"nodeSelector,omitempty"`
|
||||||
|
// Priority class name for NodeLocal's "node-local-dns" daemonset
|
||||||
|
NodeLocalDNSPriorityClassName string `yaml:"node_local_dns_priority_class_name" json:"nodeLocalDnsPriorityClassName,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// LinearAutoscalerParams contains fields expected by the cluster-proportional-autoscaler https://github.com/kubernetes-incubator/cluster-proportional-autoscaler/blob/0c61e63fc81449abdd52315aa27179a17e5d1580/pkg/autoscaler/controller/linearcontroller/linear_controller.go#L50
|
// LinearAutoscalerParams contains fields expected by the cluster-proportional-autoscaler https://github.com/kubernetes-incubator/cluster-proportional-autoscaler/blob/0c61e63fc81449abdd52315aa27179a17e5d1580/pkg/autoscaler/controller/linearcontroller/linear_controller.go#L50
|
||||||
|
Loading…
Reference in New Issue
Block a user