k3s-io/k3s · error
invalid egress-selector-mode %s
Error message
invalid egress-selector-mode %s
What it means
Error "invalid egress-selector-mode %s" thrown in k3s-io/k3s.
Source
Thrown at pkg/cli/server/server.go:671
}
logrus.Info(version.Program + " is up and running")
os.Setenv("NOTIFY_SOCKET", notifySocket)
systemd.SdNotify(true, "READY=1\n")
}()
return server.StartServer(ctx, wg, &serverConfig, cfg)
}
// validateNetworkConfig ensures that the network configuration values make sense.
func validateNetworkConfiguration(serverConfig server.Config) error {
switch serverConfig.ControlConfig.EgressSelectorMode {
case config.EgressSelectorModeCluster, config.EgressSelectorModePod:
case config.EgressSelectorModeAgent, config.EgressSelectorModeDisabled:
if serverConfig.DisableAgent {
logrus.Warn("Webhooks and apiserver aggregation may not function properly without an agent; please set egress-selector-mode to 'cluster' or 'pod'")
}
default:
return fmt.Errorf("invalid egress-selector-mode %s", serverConfig.ControlConfig.EgressSelectorMode)
}
return nil
}
func pollAPIAddressFromEtcd(ctx context.Context, serverConfig server.Config, agentConfig cmds.Agent) {
defer close(agentConfig.APIAddressCh)
pollDuration := time.Second * 5
wait.PollUntilContextCancel(ctx, pollDuration, true, func(ctx context.Context) (bool, error) {
ctx, cancel := context.WithTimeout(ctx, pollDuration)
defer cancel()
serverAddresses, err := etcd.GetAPIServerURLsFromETCD(ctx, &serverConfig.ControlConfig)
if err == nil && len(serverAddresses) > 0 {
agentConfig.APIAddressCh <- serverAddresses
return true, nil
}
if !errors.Is(err, etcd.ErrAddressNotSet) {
logrus.Warnf("Failed to get apiserver address from etcd: %v", err)View on GitHub (pinned to 6ba341e396)
When it happens
Trigger: Thrown at pkg/cli/server/server.go:671 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of k3s-io/k3s@6ba341e396 (2026-08-15).
Data as JSON: /api/errors/f3c828dbf1dd4b98.
Report an issue: GitHub.