code: func NewServerRunOptions() *ServerRunOptions {
  	s := ServerRunOptions{
  		GenericServerRunOptions: genericoptions.NewServerRunOptions(),
  		Etcd:                    genericoptions.NewEtcdOptions(storagebackend.NewDefaultConfig(kubeoptions.DefaultEtcdPathPrefix, nil)),
  		SecureServing:           kubeoptions.NewSecureServingOptions(),
  		InsecureServing:         kubeoptions.NewInsecureServingOptions(),
  		Audit:                   genericoptions.NewAuditOptions(),
  		Features:                genericoptions.NewFeatureOptions(),
  		Admission:               kubeoptions.NewAdmissionOptions(),
  		Authentication:          kubeoptions.NewBuiltInAuthenticationOptions().WithAll(),
  		Authorization:           kubeoptions.NewBuiltInAuthorizationOptions(),
  		CloudProvider:           kubeoptions.NewCloudProviderOptions(),
  		APIEnablement:           genericoptions.NewAPIEnablementOptions(),
  
  		EnableLogsHandler:      true,
  		EventTTL:               1 * time.Hour,
  		MasterCount:            1,
  		EndpointReconcilerType: string(reconcilers.LeaseEndpointReconcilerType),
  		KubeletConfig: kubeletclient.KubeletClientConfig{
  			Port:         ports.KubeletPort,
  			ReadOnlyPort: ports.KubeletReadOnlyPort,
  			PreferredAddressTypes: []string{
  				// --override-hostname
  				string(api.NodeHostName),
  
  				// internal, preferring DNS if reported
  				string(api.NodeInternalDNS),
  				string(api.NodeInternalIP),
  
  				// external, preferring DNS if reported
  				string(api.NodeExternalDNS),
  				string(api.NodeExternalIP),
  			},
  			EnableHttps: true,
  			HTTPTimeout: time.Duration(5) * time.Second,
  		},
  		ServiceNodePortRange: kubeoptions.DefaultServiceNodePortRange,
  	}
  	s.ServiceClusterIPRange = kubeoptions.DefaultServiceIPCIDR
  
  	// Overwrite the default for storage data format.
  	s.Etcd.DefaultStorageMediaType = "application/vnd.kubernetes.protobuf"
  
  	return &s
  }
docs: // NewServerRunOptions creates a new ServerRunOptions object with default parameters