• NeonSDK
  • NeonKUBE
Search Results for

    Show / Hide Table of Contents
    • Neon.Kube
      • ClusterContainerImage
      • ClusterDefinitionException
      • ClusterDeploymentStatus
      • ClusterDetails
      • ClusterHealth
      • ClusterHost
      • ClusterInfo
      • ClusterLock
      • ClusterManifest
      • ClusterNodeState
      • ClusterNodeTelemetry
      • ClusterSetupFailureMetadata
      • ClusterState
      • ClusterTelemetry
      • GrpcLogExporter
      • GrpcTraceExporter
      • HostingReadinessException
      • KubeClientConfig
      • KubeClientPlatform
      • KubeClusterAdvice
      • KubeConfigMapName
      • KubeConst
      • KubeDiagnostics
      • KubeDownloads
      • KubeEnv
      • KubeHelper
      • KubeImageType
      • KubeMinioBucket
      • KubeNamespace
      • KubeNodeFolder
      • KubeNodePort
      • KubePort
      • KubeSecretName
      • KubeService
      • KubeServiceAdvice
      • KubeSetupProperty
      • KubeSetupState
      • KubeVersions
      • NeonAnnotation
      • NeonKubeException
      • NeonLabel
      • NeonNodeTaskType
      • NodeImageInfo
      • PriorityClass
      • PriorityClass.PriorityDef
      • PrometheusClient
      • PrometheusMatrixResult
      • PrometheusMatrixValue
      • PrometheusResponseData<T>
      • PrometheusResponseStatus
      • PrometheusResponse<T>
      • PrometheusResult
      • PrometheusResultType
      • PrometheusTimeSeriesValue
      • PrometheusTimeSeriesValueConverter
      • PrometheusVectorResult
      • PrometheusVectorValue
      • TypedConfigMap<TConfigMapData>
      • TypedSecret<TSecretData>
      • VersionException
    • Neon.Kube.BuildInfo
      • ThisAssembly
      • ThisAssembly.Git
      • ThisAssembly.Git.BaseVersion
      • ThisAssembly.Git.SemVer
    • Neon.Kube.Clients
      • AzureComputePlan
      • AzureImageDetails
      • AzureImageReference
      • HeadendClient
      • HeadendClient.__Cluster
      • HeadendClient.__ClusterSetup
      • HeadendClient.__NeonDesktop
    • Neon.Kube.ClusterDef
      • AcmeOptions
      • AddressRule
      • AddressRuleAction
      • ApiServerOptions
      • AwsHelper
      • AwsHostingOptions
      • AwsNetworkOptions
      • AwsNodeOptions
      • AwsVolumeType
      • AzureCloudEnvironment
      • AzureCloudEnvironments
      • AzureHelper
      • AzureHostingOptions
      • AzureNetworkOptions
      • AzureNodeOptions
      • AzureStorageType
      • BareMetalHostingOptions
      • CloudOptions
      • ClusterDefinition
      • ClusterPurpose
      • ContainerOptions
      • DeploymentOptions
      • FeatureOptions
      • FeatureOptions.HarborOptions
      • GoogleHostingOptions
      • HealthCheckOptions
      • HostingEnvironment
      • HostingOptions
      • HyperVHostingOptions
      • HypervisorHost
      • HypervisorHostingOptions
      • HypervisorNodeOptions
      • IngressProtocol
      • IngressRule
      • JobOptions
      • JobSchedule
      • KubernetesOptions
      • LogOptions
      • MetricsOptions
      • MetricsStorageOptions
      • MinioOptions
      • MonitorOptions
      • NetworkCni
      • NetworkOptions
      • NodeDefinition
      • NodeLabels
      • NodeOptions
      • NodeRole
      • OpenEbsEngine
      • OpenEbsOptions
      • Registry
      • ResourceTag
      • SecurityOptions
      • StorageOptions
      • TraceOptions
      • XenServerHostingOptions
    • Neon.Kube.ClusterMetadata
      • ClusterLockState
      • ClusterLockStatus
    • Neon.Kube.Config
      • ClusterLoginExport
      • KubeClusterInfo
      • KubeConfig
      • KubeConfigAuthProvider
      • KubeConfigCluster
      • KubeConfigClusterConfig
      • KubeConfigContext
      • KubeConfigContextConfig
      • KubeConfigEnvironmentVariable
      • KubeConfigExecConfig
      • KubeConfigExecInteractiveMode
      • KubeConfigPreferences
      • KubeConfigUser
      • KubeConfigUserConfig
      • KubeContextName
      • KubeFileDetails
      • KubeSshKey
      • NeonKubeExtensions
    • Neon.Kube.Deployment
      • ClusterDeployment
      • NodeDeployment
    • Neon.Kube.DesktopService
      • DesktopService
      • GrpcDesktopService
    • Neon.Kube.Glauth
      • GlauthGroup
      • GlauthUser
      • GlauthUserCapability
    • Neon.Kube.GrpcProto
      • GrpcError
      • GrpcErrorExtensions
      • GrpcServiceException
      • NeonGrpcServices
    • Neon.Kube.GrpcProto.Desktop
      • DesktopConverters
      • GrpGetVmDrivesReply
      • GrpcAddVmDriveRequest
      • GrpcAddVmRequest
      • GrpcBaseReply
      • GrpcCompactDriveRequest
      • GrpcEjectVmDvdRequest
      • GrpcFindIPAddressReply
      • GrpcFindIPAddressRequest
      • GrpcFindNatByNameRequest
      • GrpcFindNatBySubnetRequest
      • GrpcFindNatReply
      • GrpcGetSwitchReply
      • GrpcGetSwitchRequest
      • GrpcGetVmDrivesRequest
      • GrpcGetVmNetworkAdaptersReply
      • GrpcGetVmNetworkAdaptersRequest
      • GrpcGetVmReply
      • GrpcGetVmRequest
      • GrpcGetWindowsOptionalFeaturesReply
      • GrpcGetWindowsOptionalFeaturesRequest
      • GrpcInsertVmDvdRequest
      • GrpcIsNestedVirtualizationReply
      • GrpcIsNestedVirtualizationRequest
      • GrpcListLocalHostsSectionsReply
      • GrpcListLocalHostsSectionsRequest
      • GrpcListNatsReply
      • GrpcListNatsRequest
      • GrpcListSwitchesReply
      • GrpcListSwitchesRequest
      • GrpcListVmsReply
      • GrpcListVmsRequest
      • GrpcLocalHostSection
      • GrpcNewExternalSwitchRequest
      • GrpcNewInternalSwitchRequest
      • GrpcRelayLogBatchReply
      • GrpcRelayLogBatchRequest
      • GrpcRelayTraceBatchReply
      • GrpcRelayTraceBatchRequest
      • GrpcRemoveSwitchRequest
      • GrpcRemoveVmRequest
      • GrpcSaveVmRequest
      • GrpcStartVmRequest
      • GrpcStopVmRequest
      • GrpcVirtualDrive
      • GrpcVirtualIPAddress
      • GrpcVirtualMachine
      • GrpcVirtualMachineNetworkAdapter
      • GrpcVirtualNat
      • GrpcVirtualSwitch
      • GrpcVmExistsReply
      • GrpcVmExistsRequest
      • IGrpcDesktopService
    • Neon.Kube.Hosting
      • HostedNodeInfo
      • HostingCapabilities
      • HostingConstrainedResourceType
      • HostingLoader
      • HostingManager
      • HostingManagerFactory
      • HostingProviderAttribute
      • HostingReadiness
      • HostingReadinessProblem
      • HostingResourceAvailability
      • HostingResourceConstraint
      • IHostingLoader
      • IHostingManager
      • IHostingManagerFactory
      • StopMode
    • Neon.Kube.Hosting.Aws
      • AwsHostingManager
    • Neon.Kube.Hosting.Azure
      • AzureHostingManager
    • Neon.Kube.Hosting.BareMetal
      • BareMetalHostingManager
    • Neon.Kube.Hosting.Google
      • GoogleHostingManager
    • Neon.Kube.Hosting.HyperV
      • HyperVHostingManager
    • Neon.Kube.Hosting.XenServer
      • XenServerHostingManager
      • XenServerHostingManager.DiskTemplateInfo
    • Neon.Kube.K8s
      • KubernetesExtensions
      • KubernetesObjectMetadata
      • KubernetesRetryHandler
      • LeaderElectionConfig
      • LeaderElector
      • V1CustomObjectList<T>
      • WatchEvent<T>
      • Watcher<T>
    • Neon.Kube.Models
      • AzureComputePlan
      • AzureImageDetails
      • AzureImageReference
    • Neon.Kube.Models.Headend
      • IClusterApi
      • IClusterSetupApi
      • INeonDesktopApi
      • Stub
    • Neon.Kube.Oauth2Proxy
      • Oauth2ProxyConfig
      • Oauth2ProxyHeader
      • Oauth2ProxyHeaderValue
      • Oauth2ProxyLoginUrlParameterRule
      • Oauth2ProxyLoginUrlParameters
      • Oauth2ProxyOidcOptions
      • Oauth2ProxyProvider
      • Oauth2ProxyProviderType
      • Oauth2ProxySecretSource
      • Oauth2ProxyServer
      • Oauth2ProxyTls
      • Oauth2ProxyUpstream
      • Oauth2ProxyUpstreamConfig
    • Neon.Kube.PortForward
      • IPortForwardManager
      • PortForwardManager
    • Neon.Kube.Proxy
      • ClusterProxy
      • ClusterProxy.Operation
      • ClusterResetOptions
      • NodeProxyCreator
    • Neon.Kube.Resources
      • CustomResourceException
      • ResourceHelper
    • Neon.Kube.Resources.Calico
      • V1FelixConfiguration
    • Neon.Kube.Resources.CertManager
      • AcmeChallengeSolver
      • AcmeChallengeSolverDns01
      • AcmeExternalAccountBinding
      • AcmeIssuer
      • AcmeIssuerDns01ProviderRoute53
      • AcmeIssuerDns01ProviderWebhook
      • AcmeSecretKeySelector
      • CertificateDnsNameSelector
      • ChallengeAction
      • ChallengePayload
      • ChallengeRequest
      • ChallengeResponse
      • ClusterIssuer
      • IssuerRef
      • JKS
      • KeyAlgorithm
      • KeyEncoding
      • Keystores
      • PKCS12
      • PasswordSecretRef
      • PrivateKey
      • RotationPolicy
      • Subject
      • V1Certificate
      • V1CertificateRequest
      • V1CertificateSpec
      • V1CertificateStatus
      • V1IssuerSpec
      • X509Usages
    • Neon.Kube.Resources.Cluster
      • TestStatus
      • V1CrioConfiguration
      • V1CrioConfiguration.CrioConfigurationSpec
      • V1NeonClusterJobs
      • V1NeonClusterJobs.JobSchedule
      • V1NeonClusterJobs.JobStatus
      • V1NeonClusterJobs.NeonClusterJobsSpec
      • V1NeonClusterJobs.NeonClusterJobsStatus
      • V1NeonContainerRegistry
      • V1NeonContainerRegistry.RegistrySpec
      • V1NeonDashboard
      • V1NeonDashboard.NeonDashboardSpec
      • V1NeonNodeTask
      • V1NeonNodeTask.Phase
      • V1NeonNodeTask.TaskSpec
      • V1NeonNodeTask.TaskStatus
      • V1NeonSsoCallbackUrl
      • V1NeonSsoClient
      • V1NeonSsoConnector
      • V1NeonTestObject
      • V1SsoCallbackUrlSpec
      • V1SsoCallbackUrlStatus
      • V1SsoClientSpec
      • V1SsoClientStatus
      • V1TestSpec
    • Neon.Kube.Resources.Dex
      • DexConfig
      • DexConnector
      • DexConnectorConverter
      • DexConnectorType
      • DexConnector<T>
      • DexExpiryConfig
      • DexFrontendConfig
      • DexGrpcConfig
      • DexLdapConfig
      • DexLdapSearch
      • DexLogConfig
      • DexOauth2Config
      • DexOidcClaimMapping
      • DexOidcConfig
      • DexRefreshTokenConfig
      • DexStaticUser
      • DexStorage
      • DexStorageType
      • DexTelemetryConfig
      • DexUserMatcher
      • DexWebConfig
      • IDexConnectorConfig
      • IDexConnector<T>
      • IV1DexConnector
      • Oauth2ResponseType
    • Neon.Kube.Resources.ExternalDns
      • DnsEndpoint
      • DnsRecordType
      • ExternalDnsEndpoint
      • V1DnsEndpointSpec
    • Neon.Kube.Resources.Grafana
      • V1Grafana
      • V1GrafanaDashboard
      • V1GrafanaDashboardSpec
      • V1GrafanaDatasource
    • Neon.Kube.Resources.Harbor
      • V1HarborCluster
      • V1HarborConfiguration
      • V1HarborNotaryServer
      • V1HarborNotarySigner
    • Neon.Kube.Resources.Istio
      • Abort
      • AuthorizationPolicyAction
      • AuthorizationPolicyOperation
      • AuthorizationPolicyRule
      • AuthorizationPolicyRule.From
      • AuthorizationPolicyRule.To
      • AuthorizationPolicySource
      • ClientTLSSettings
      • CorsPolicy
      • Delay
      • Delegate
      • Destination
      • ExtensionProvider
      • HTTPFaultInjection
      • HTTPMatchRequest
      • HTTPMethod
      • HTTPRedirect
      • HTTPRetry
      • HTTPRewrite
      • HTTPRoute
      • HTTPRouteDestination
      • HeaderOperations
      • Headers
      • L4MatchAttributes
      • Location
      • Percent
      • Port
      • PortProtocol
      • PortSelector
      • Resolution
      • RouteDestination
      • Server
      • ServerTLSSettings
      • ServiceEntry
      • StringMatch
      • TCPRoute
      • TLSMatchAttributes
      • TLSMode
      • TLSProtocol
      • TLSRoute
      • Tracing
      • TracingProvider
      • TrafficPolicy
      • UInt32Value
      • V1AuthorizationPolicy
      • V1AuthorizationPolicySpec
      • V1DestinationRule
      • V1DestinationRuleSpec
      • V1Gateway
      • V1GatewaySpec
      • V1ServiceEntrySpec
      • V1Telemetry
      • V1TelemetrySpec
      • V1VirtualService
      • V1VirtualServiceSpec
      • WorkloadEntry
      • WorkloadSelector
    • Neon.Kube.Resources.JsonConverters
      • DexConnectorJsonConverter
      • JsonCollectionItemConverter<TDatatype, TConverterType>
      • JsonV1ResourceConverter
    • Neon.Kube.Resources.Kiali
      • V1Kiali
    • Neon.Kube.Resources.Minio
      • BucketQuota
      • RetentionMode
      • RetentionSpec
      • V1MinioBucket
      • V1MinioBucket.V1MinioBucketSpec
      • V1MinioBucket.V1MinioBucketStatus
      • V1MinioTenant
      • VersioningMode
    • Neon.Kube.Resources.OpenEBS
      • BlockDeviceCapacity
      • BlockDeviceDetails
      • BlockDeviceDevLink
      • BlockDeviceType
      • DataRaidGroupTypes
      • DevLinkType
      • DriveType
      • FileSystemInfo
      • V1CStorBlockDevice
      • V1CStorBlockDeviceList
      • V1CStorBlockDeviceRef
      • V1CStorBlockDeviceSpec
      • V1CStorDataRaidGroup
      • V1CStorPoolCluster
      • V1CStorPoolClusterList
      • V1CStorPoolClusterSpec
      • V1CStorPoolConfig
      • V1CStorPoolSpec
    • Neon.Kube.Resources.Prometheus
      • Endpoint
      • NamespaceSelector
      • V1ServiceMonitor
      • V1ServiceMonitorSpec
    • Neon.Kube.SSH
      • INodeSshProxy
      • NodeSshProxyExtensions
      • NodeSshProxy<TMetadata>
    • Neon.Kube.Setup
      • DesktopServiceProxy
      • ISetupController
      • ISetupControllerStep
      • KubeSetup
      • NodeLog
      • PrepareClusterOptions
      • SetupClusterOptions
      • SetupClusterStatus
      • SetupConsoleWriter
      • SetupController<NodeMetadata>
      • SetupDisposition
      • SetupNodeStatus
      • SetupProgressDelegate
      • SetupProgressMessage
      • SetupStatusChangedDelegate
      • SetupStepDetails
      • SetupStepState
      • SetupStepStatus
    • Neon.Kube.Xunit
      • AwsClusterDefinitions
      • AzureClusterDefinitions
      • ClusterFactAttribute
      • ClusterFixture
      • ClusterFixtureOptions
      • ClusterTheoryAttribute
      • HyperVClusterDefinitions
      • KubeTestHelper
      • KubeTestManager
      • XenServerClustersDefinitions

    Class NodeLabels

    Describes the standard cluster and custom labels to be assigned to a cluster node.

    Inheritance
    object
    NodeLabels
    Namespace: Neon.Kube.ClusterDef
    Assembly: Neon.Kube.dll
    Syntax
    public class NodeLabels
    Remarks

    Labels are name/value properties that can be assigned to the cluster nodes for pod scheduling and other purposes.

    By convention, label names should use a reverse domain name prefix using a DNS domain you control. For example, neonCLUSTER cluster related labels are prefixed with "neonkube.io/...". You should follow this convention for any custom labels you define.

    note

    You may specify labels without a domain prefix if you're not concerned about potential conflicts.

    Label names must begin and end with a letter or digit and may include letters, digits, dashes and dots within. Dots or dashes must not appear consecutively.

    note

    Whitespace is not allowed in label values.

    This class exposes several built-in cluster properties. You can use the Custom dictionary to add your own labels.

    Constructors

    NodeLabels()

    Default constructor.

    Declaration
    public NodeLabels()

    NodeLabels(NodeDefinition)

    Constructor.

    Declaration
    public NodeLabels(NodeDefinition node)
    Parameters
    Type Name Description
    NodeDefinition node

    The node definition.

    Fields

    LabelAddress

    Reserved label name that identifies the node's private IP address.

    Declaration
    public const string LabelAddress = "node.neonkube.io/address"
    Field Value
    Type Description
    string

    LabelIngress

    Reserved label name used to indicate that a node should route external traffic into the cluster.

    Declaration
    public const string LabelIngress = "node.neonkube.io/system.ingress"
    Field Value
    Type Description
    string

    LabelIstio

    Reserved label name for Istio.

    Declaration
    public const string LabelIstio = "node.neonkube.io/system.istio"
    Field Value
    Type Description
    string

    LabelLogs

    Reserved label name for Logs.

    Declaration
    public const string LabelLogs = "node.neonkube.io/monitor.logs"
    Field Value
    Type Description
    string

    LabelLogsInternal

    Reserved label name for LogsInternal.

    Declaration
    public const string LabelLogsInternal = "node.neonkube.io/monitor.logs-internal"
    Field Value
    Type Description
    string

    LabelMetrics

    Reserved label name for Metrics.

    Declaration
    public const string LabelMetrics = "node.neonkube.io/monitor.metrics"
    Field Value
    Type Description
    string

    LabelMetricsInternal

    Reserved label name for MetricsInternal.

    Declaration
    public const string LabelMetricsInternal = "node.neonkube.io/monitor.metrics-internal"
    Field Value
    Type Description
    string

    LabelMinio

    Reserved label name for Minio.

    Declaration
    public const string LabelMinio = "node.neonkube.io/system.minio"
    Field Value
    Type Description
    string

    LabelMinioInternal

    Reserved label name for MinioInternal.

    Declaration
    public const string LabelMinioInternal = "node.neonkube.io/system.minio-internal"
    Field Value
    Type Description
    string

    LabelNeonSystem

    Reserved label name for core NEONKUBE system components.

    Declaration
    public const string LabelNeonSystem = "node.neonkube.io/system"
    Field Value
    Type Description
    string

    LabelNeonSystemDb

    Reserved label name for LabelNeonSystemDb.

    Declaration
    public const string LabelNeonSystemDb = "node.neonkube.io/system.db"
    Field Value
    Type Description
    string

    LabelNeonSystemRegistry

    Reserved label name for LabelNeonSystemDb.

    Declaration
    public const string LabelNeonSystemRegistry = "node.neonkube.io/system.registry"
    Field Value
    Type Description
    string

    LabelOpenEbs

    Reserved label name used to indicate that a node hosts an OpenEBS cStor block device.

    Declaration
    public const string LabelOpenEbs = "node.neonkube.io/system.openebs"
    Field Value
    Type Description
    string

    LabelPhysicalAvailabilitytSet

    Reserved label name for PhysicalAvailabilitySet.

    Declaration
    public const string LabelPhysicalAvailabilitytSet = "node.neonkube.io/physical.availability-set"
    Field Value
    Type Description
    string

    LabelPhysicalLocation

    Reserved label name for LabelPhysicalPower.

    Declaration
    public const string LabelPhysicalLocation = "node.neonkube.io/physical.location"
    Field Value
    Type Description
    string

    LabelPhysicalMachine

    Reserved label name for LabelPhysicalMachine.

    Declaration
    public const string LabelPhysicalMachine = "node.neonkube.io/physical.machine"
    Field Value
    Type Description
    string

    LabelPhysicalPower

    Reserved label name for LabelPhysicalPower.

    Declaration
    public const string LabelPhysicalPower = "node.neonkube.io/physical.power"
    Field Value
    Type Description
    string

    LabelRole

    Reserved label name that identifies the node role.

    Declaration
    public const string LabelRole = "node.neonkube.io/role"
    Field Value
    Type Description
    string

    LabelStorageOSDiskEphemeral

    Reserved label name for StorageOSDiskEphemeral.

    Declaration
    public const string LabelStorageOSDiskEphemeral = "node.neonkube.io/storage.osdisk.ephemeral"
    Field Value
    Type Description
    string

    LabelStorageOSDiskHDD

    Reserved label name for StorageOSDiskHDD.

    Declaration
    public const string LabelStorageOSDiskHDD = "node.neonkube.io/storage.osdisk.hdd"
    Field Value
    Type Description
    string

    LabelStorageOSDiskLocal

    Reserved label name for StorageOSDiskLocal.

    Declaration
    public const string LabelStorageOSDiskLocal = "node.neonkube.io/storage.osdisk.local"
    Field Value
    Type Description
    string

    LabelStorageOSDiskRedundant

    Reserved label name for StorageOSDiskRedundant.

    Declaration
    public const string LabelStorageOSDiskRedundant = "node.neonkube.io/storage.osdisk.redundant"
    Field Value
    Type Description
    string

    LabelStorageOSDiskSize

    Reserved label name for StorageOSDiskSize.

    Declaration
    public const string LabelStorageOSDiskSize = "node.neonkube.io/storage.osdisk.size"
    Field Value
    Type Description
    string

    LabelTraces

    Reserved label name for Traces.

    Declaration
    public const string LabelTraces = "node.neonkube.io/monitor.traces"
    Field Value
    Type Description
    string

    LabelTracesInternal

    Reserved label name for TracesInternal.

    Declaration
    public const string LabelTracesInternal = "node.neonkube.io/monitor.traces-internal"
    Field Value
    Type Description
    string

    Properties

    All

    Enumerates all node labels.

    Declaration
    [JsonIgnore]
    [YamlIgnore]
    public IEnumerable<KeyValuePair<string, object>> All { get; }
    Property Value
    Type Description
    IEnumerable<KeyValuePair<string, object>>

    Custom

    Custom node labels.

    Declaration
    [JsonProperty(PropertyName = "Custom")]
    [YamlMember(Alias = "custom", ApplyNamingConventions = false)]
    public Dictionary<string, string> Custom { get; set; }
    Property Value
    Type Description
    Dictionary<string, string>
    Remarks

    Use this property to define custom cluster node labels.

    note

    The node.neonkube.io/ label prefix is reserved.

    Istio

    node.neonkube.io/istio.enabled [bool]: Indicates that Istio will be deployed to this node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "Istio", Required = Required.Default)]
    [YamlMember(Alias = "istio", ApplyNamingConventions = false)]
    public bool Istio { get; set; }
    Property Value
    Type Description
    bool

    Logs

    node.neonkube.io/monitor.logs [bool]: Indicates the user has specified that Loki logging should be deployed to the labeled node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "Logs", Required = Required.Default)]
    [YamlMember(Alias = "logs", ApplyNamingConventions = false)]
    public bool Logs { get; set; }
    Property Value
    Type Description
    bool

    LogsInternal

    node.neonkube.io/monitor.logs-internal [bool]: Indicates that Liko logging will be deployed to the labeled node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "LogsInternal", Required = Required.Default)]
    [YamlMember(Alias = "logsInternal", ApplyNamingConventions = false)]
    public bool LogsInternal { get; set; }
    Property Value
    Type Description
    bool

    Metrics

    node.neonkube.io/monitor.metrics [bool]: Indicates the user has specified that Mimir metrics should be deployed to the labeled node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "Metrics", Required = Required.Default)]
    [YamlMember(Alias = "metrics", ApplyNamingConventions = false)]
    public bool Metrics { get; set; }
    Property Value
    Type Description
    bool

    MetricsInternal

    node.neonkube.io/monitor.metrics-internal [bool]: Indicates that Mirmir metrics will be deployed to the labeled node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "MetricsInternal", Required = Required.Default)]
    [YamlMember(Alias = "metricsInternal", ApplyNamingConventions = false)]
    public bool MetricsInternal { get; set; }
    Property Value
    Type Description
    bool

    Minio

    node.neonkube.io/system.minio-internal [bool]: Indicates the user has specified that Minio should be deployed to the labeled node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "Minio", Required = Required.Default)]
    [YamlMember(Alias = "minio", ApplyNamingConventions = false)]
    public bool Minio { get; set; }
    Property Value
    Type Description
    bool

    MinioInternal

    node.neonkube.io/system.minio-internal [bool]: Indicates that Minio will be deployed to the labeled node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "MinioInternal", Required = Required.Default)]
    [YamlMember(Alias = "minioInternal", ApplyNamingConventions = false)]
    public bool MinioInternal { get; set; }
    Property Value
    Type Description
    bool

    NeonSystem

    node.neonkube.io/neon-system [bool]: Indicates that general neon-system services may be deployed to this node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "NeonSystem", Required = Required.Default)]
    [YamlMember(Alias = "neonSystem", ApplyNamingConventions = false)]
    public bool NeonSystem { get; set; }
    Property Value
    Type Description
    bool

    NeonSystemDb

    node.neonkube.io/neon-system.db [bool]: Indicates that the neon-system Citus/Postgresql database may be deployed to this node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "NeonSystemDb", Required = Required.Default)]
    [YamlMember(Alias = "neonSystemDb", ApplyNamingConventions = false)]
    public bool NeonSystemDb { get; set; }
    Property Value
    Type Description
    bool

    NeonSystemRegistry

    node.neonkube.io/neon-system.registry [bool]: Indicates that the neon-system Harbor registry may be deployed to this node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "NeonSystemRegistry", Required = Required.Default)]
    [YamlMember(Alias = "neonSystemRegistry", ApplyNamingConventions = false)]
    public bool NeonSystemRegistry { get; set; }
    Property Value
    Type Description
    bool

    OpenEbs

    node.neonkube.io/openEbs.enabled [bool]: Indicates that OpenEBS will be deployed to this node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "OpenEbs", Required = Required.Default)]
    [YamlMember(Alias = "openEbs", ApplyNamingConventions = false)]
    public bool OpenEbs { get; set; }
    Property Value
    Type Description
    bool

    PhysicalAvailabilitySet

    node.neonkube.io/physical.availability-set [string]: Indicates that the hosting environment will try to ensure that cluster VMs with the same availability set are deployed in a manner that reduces the possibility that more than one VM at a time will be taken offline for maintenance.

    This defaults to control-plane for cluster control-plane nodes and worker for worker nodes.

    note

    IMPORTANT: Control-plane nodes should generally be located within their own availability set.

    Declaration
    [JsonProperty(PropertyName = "PhysicalAvailabilitySet", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "physicalAvailabilitySet", ApplyNamingConventions = false)]
    public string PhysicalAvailabilitySet { get; set; }
    Property Value
    Type Description
    string
    Remarks

    This is typcally used for distributing pods across cluster nodes to protect against more than one of them going down at once due to scheduled maintenance.

    On premise deployments don't currently support automatic provisioning by availability sets but that may happen in the future (e.g. by managing clusters of XenServer host machines). You'll need to manually specify these labels to match your deployment and maintenance policies.

    Cloud deployments generally implement the concept of availability sets. These are used to group VMs together such that only one will be down for scheduled maintenance at any given moment and also that after a reboot, there will be a reasonable delay (like 30 minutes) to allow the VMs to collectively recover before rebooting the next VM. NEONKUBE will provision node VMs that have the same PhysicalAvailabilitySet into the same cloud availability set (for clouds that support this).

    PhysicalLocation

    node.neonkube.io/physical.location [string]: A free format string describing the physical location of the server. This defaults to the empty string.

    Declaration
    [JsonProperty(PropertyName = "PhysicalLocation", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "physicalLocation", ApplyNamingConventions = false)]
    public string PhysicalLocation { get; set; }
    Property Value
    Type Description
    string
    Remarks

    You should use a consistent convention to describe a physical machine location. Here are some examples:

    • rack-slot
    • rack-number/rack-slot
    • row/rack-number/rack-slot
    • floor/row/rack-number/rack-slot
    • building/floor/row/rack-number/rack-slot

    PhysicalMachine

    node.neonkube.io/physical.model [string]: A free format string describing the physical server computer model (e.g. Dell-PowerEdge-R220). This defaults to the empty string.

    Declaration
    [JsonProperty(PropertyName = "PhysicalMachine", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "physicalMachine", ApplyNamingConventions = false)]
    public string PhysicalMachine { get; set; }
    Property Value
    Type Description
    string

    PhysicalPower

    node.neonkube.io/physical.power [string]: Describes the physical power connection for the node. This defaults to the empty string.

    Declaration
    [JsonProperty(PropertyName = "PhysicalPower", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "physicalPower", ApplyNamingConventions = false)]
    public string PhysicalPower { get; set; }
    Property Value
    Type Description
    string
    Remarks
    note

    The format for this property is not currently defined.

    This field includes the information required to remotely control the power to the physical host machine via a Power Distribution Unit (PDU).

    Standard

    Enumerates the standard Kubernetes/NEONKUBE node labels.

    Declaration
    [JsonIgnore]
    [YamlIgnore]
    public IEnumerable<KeyValuePair<string, object>> Standard { get; }
    Property Value
    Type Description
    IEnumerable<KeyValuePair<string, object>>

    StorageOSDiskEphemeral

    node.neonkube.io/storage.osdisk.redundant [bool]: Indicates that the storage is ephemeral. All data will be lost when the host is restarted. This defaults to false for on-premise clusters and is computed for cloud deployments.

    Declaration
    [JsonProperty(PropertyName = "StorageOSDiskEphemeral", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "storageOSDiskEphemeral", ApplyNamingConventions = false)]
    public bool StorageOSDiskEphemeral { get; set; }
    Property Value
    Type Description
    bool

    StorageOSDiskHDD

    node.neonkube.io/storage.osdisk.hdd [bool]: Indicates that the storage is backed by a spinning drive as opposed to a SSD. This defaults to false for on-premise clusters and is computed for cloud deployments.

    Declaration
    [JsonProperty(PropertyName = "StorageOSDiskHDD", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "storageOSDiskHDD", ApplyNamingConventions = false)]
    public bool StorageOSDiskHDD { get; set; }
    Property Value
    Type Description
    bool

    StorageOSDiskLocal

    node.neonkube.io/storage.osdisklocal [bool]: Specifies whether the node storage is hosted on the node itself or is mounted as a remote file system or block device. This defaults to true for on-premise clusters and is computed for cloud deployments.

    Declaration
    [JsonProperty(PropertyName = "StorageOSDiskLocal", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "storageOSDiskLocal", ApplyNamingConventions = false)]
    public bool StorageOSDiskLocal { get; set; }
    Property Value
    Type Description
    bool

    StorageOSDiskRedundant

    node.neonkube.io/storage.osdisk.redundant [bool]: Indicates that the storage is redundant. This may be implemented locally using RAID1+ or remotely using network or cloud-based file systems. This defaults to false for on-premise clusters and is computed for cloud deployments.

    Declaration
    [JsonProperty(PropertyName = "StorageOSDiskRedundant", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "storageOSDiskRedundant", ApplyNamingConventions = false)]
    public bool StorageOSDiskRedundant { get; set; }
    Property Value
    Type Description
    bool

    StorageOSDiskSize

    node.neonkube.io/storage.osdisk.size [string]: Specifies the node OS drive storage capacity in bytes.

    Declaration
    [JsonProperty(PropertyName = "StorageOSDiskSize", Required = Required.Default, DefaultValueHandling = DefaultValueHandling.Include)]
    [YamlMember(Alias = "storageOSDiskSize", ApplyNamingConventions = false)]
    public string StorageOSDiskSize { get; set; }
    Property Value
    Type Description
    string

    Traces

    node.neonkube.io/monitor.traces [bool]: Indicates the user has specified that Tempo traces should be deployed to the labeled node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "Traces", Required = Required.Default)]
    [YamlMember(Alias = "traces", ApplyNamingConventions = false)]
    public bool Traces { get; set; }
    Property Value
    Type Description
    bool

    TracesInternal

    node.neonkube.io/monitor.traces-internal [bool]: Indicates that Tempo traces will be deployed to the labeled node. This defaults to false.

    Declaration
    [JsonProperty(PropertyName = "TracesInternal", Required = Required.Default)]
    [YamlMember(Alias = "tracesInternal", ApplyNamingConventions = false)]
    public bool TracesInternal { get; set; }
    Property Value
    Type Description
    bool

    Methods

    Validate(ClusterDefinition)

    Validates the node labels.

    Declaration
    public void Validate(ClusterDefinition clusterDefinition)
    Parameters
    Type Name Description
    ClusterDefinition clusterDefinition

    The cluster definition.

    Exceptions
    Type Condition
    ArgumentException

    Thrown if the definition is not valid.

    In this article
    Back to top © Copyright 2005-2023 by NEONFORGE LLC