-
Notifications
You must be signed in to change notification settings - Fork 49
docs(cluster-management): add NVCF UI page to Configuration section #565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| (enabling-nvcf-ui)= | ||
|
|
||
| # Enabling NVCF UI | ||
|
|
||
| The NVCF UI is an optional web interface for managing NVCF deployments. It is | ||
| disabled by default. Enable it only when the `nvcf-ui` addon is installed in | ||
| your cluster. | ||
|
|
||
| The NVCF UI addon runs as a Service named `nvcf-ui` in the `nvcf-ui` namespace | ||
| on port 8300. When enabled, the gateway-routes chart creates an HTTPRoute and a | ||
| ReferenceGrant that forward requests from `nvcf-ui.<domain>` to that Service. | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - The `nvcf-ui` addon must be deployed in the `nvcf-ui` namespace before | ||
| enabling the gateway route. | ||
| - Gateway API ingress must be configured. See [Gateway Routing](../gateway-routing.md). | ||
|
|
||
| ## Enable the gateway route | ||
|
|
||
| In your Helmfile environment values file (for example | ||
| `environments/<environment-name>.yaml`), set: | ||
|
|
||
| ```yaml | ||
| ingress: | ||
| gatewayApi: | ||
| routes: | ||
| nvcfUi: | ||
| enabled: true | ||
| ``` | ||
|
|
||
| Then sync the ingress release to apply: | ||
|
|
||
| ```bash | ||
| HELMFILE_ENV=<environment-name> helmfile --selector release-group=ingress sync | ||
| ``` | ||
|
|
||
| The UI is available at `http://nvcf-ui.<domain>` after the HTTPRoute is ready. | ||
|
|
||
| ## Verify | ||
|
|
||
| ```bash | ||
| kubectl get httproute nvcf-ui -n envoy-gateway | ||
| ``` | ||
|
|
||
| The route should show `Accepted` status and the hostname `nvcf-ui.<domain>`. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| # NVCA Attributes and Feature Flags | ||
|
|
||
| After installing the nvca-operator, edit its `NVCFBackend` object to add feature flags. | ||
| Default-enabled feature flags can be _disabled_ by prepending `-` to its name in the `values` list, | ||
| ex. `-CachingSupport`. | ||
|
|
||
| **Note**: make sure to copy over existing spec feature flag values into the equivalent override values, | ||
| since that list overwritten not merged. | ||
|
Comment on lines
+7
to
+8
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Remove Markdown bold emphasis. Repository documentation rules prohibit Markdown bold.
📍 Affects 1 file
🤖 Prompt for AI AgentsSource: Coding guidelines |
||
|
|
||
| Example: | ||
|
|
||
| ``` | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Declare the code-block language. Use a -```
+```yaml🧰 Tools🪛 markdownlint-cli2 (0.23.1)[warning] 12-12: Fenced code blocks should have a language specified (MD040, fenced-code-language) 🤖 Prompt for AI AgentsSource: Linters/SAST tools |
||
| $ kubectl edit nvcfbackend -n nvca-operator | ||
| ... | ||
| spec: | ||
| featureGate: | ||
| values: | ||
| - LogPosting # Existing feature flag | ||
| overrides: | ||
| featureGate: | ||
| values: | ||
| - LogPosting # Existing feature flag copied over | ||
| - -CachingSupport # Caching support disabled | ||
| - LowLatencyStreaming | ||
| - BYOObservability | ||
| ... | ||
| ``` | ||
|
|
||
| ## Attributes | ||
|
|
||
| | Name | Default | Description | | ||
| | --- | --- | --- | | ||
| | KataRuntimeIsolation | false | Forces NVCF workload pods to get a Kata runtime class, and allows "nvidia.com/pgpu" resource types on nodes when parsing node resources | | ||
| | HostIsolation | false | Prevents pods from more than one function from running on a given node at once | | ||
| | AccountIsolation | false | Prevents pods from different functions belonging to more than one Nvidia Cloud Account from running on a given node at once | | ||
| | TimeSlicingGPUEnabled | false | Forces NVCA's node feature handler to permit time-sliced GPUs when parsing node resources | | ||
| | PassthroughGPUEnabled | false | Allows "nvidia.com/pgpu" resource types on nodes when parsing node resources | | ||
| | OVCSecurityEnforcements | false | Turns on OVC security enforcements outlined by the "SensorRTX Risk Mitigation" SDD | | ||
| | NVLinkOptimized | false | Turns on NVLink Optimization on Clusters and related validations on Agent startup | | ||
|
|
||
| ## Feature Flags | ||
|
|
||
| | Name | Default | Description | | ||
| | --- | --- | --- | | ||
| | LogPosting | false | Post instance logs to ICMS directly | | ||
| | CachingSupport | false | Enable NVMesh caching support for Container functions and tasks | | ||
| | HelmCachingSupport | false | Enable NVMesh caching support for Helm functions and tasks | | ||
| | NVMeshEncryption | false | Enable NVMesh encryption on cache data | | ||
| | PeriodicInstanceStatusUpdate | true | Enable periodic syncs with ICMS to reconcile instance state differences | | ||
| | HelmRBACEnforcement | true | Enforce RBAC constraints on Helm charts specified by functions | | ||
| | DynamicGPUDiscovery | true | Dynamically discover GPUs and instance types on this cluster | | ||
| | MultipleGPUTypesAllowed | true | Permit a heterogeneous set of GPUs across nodes in this cluster, ex. L40 and A100 | | ||
| | AutoPurgeDegradedWorkers | true | Automatically delete function instances and tasks that have degraded Pods | | ||
| | HelmSharedStorage | true | Configure Helm functions and tasks with shared read-only storage for ESS secrets | | ||
| | ClusterTargeting | true | Enable targeted cluster queues | | ||
| | HelmResourceConstraints | true | Enforce GPU quota adherence on Helm functions and tasks | | ||
| | BinPackTenantWorkloads | false | Prefer that pods from the same function or task are scheduled on the same node | | ||
| | GXCache | false | Enable GXCache support in NVCA | | ||
| | LowLatencyStreaming | true | Enable LLS support in NVCA | | ||
| | UseFunctionDeploymentStages | false | Enable container stage transition event logging to Function Deployment Stages service | | ||
| | PVCRebind | false | Force cache PVC's to rebind on failure | | ||
| | MultiNodeWorkloads | true | Instruct NVCA to send multi-node instance types to ICMS during registration | | ||
| | UseFunctionTranslator | true | Use the nvcf-icms-translate translator to generate function manifests instead of ICMS-generated artifacts | | ||
| | BYOObservability | false | Enable Bring-your-own observability support in NVCA | | ||
| | BYOOFluentBit | false | Enable Bring-your-own observability FluentBit logging sidecar in workload pods | | ||
| | ClientMetrics | false | Emit OpenTelemetry semantic-convention metrics for NVCA's outbound dependency clients | | ||
| | MaxSQSBatchPull | true | Increase the pull batch size from the SQS queue from 1 to 10 | | ||
| | InfraResourceOverhead | false | InfraResourceOverhead enables subtraction of infrastructure resource overhead from instance type resources, potentially removing any instance type that cannot satisfy infrastructure resources | | ||
| | EnforceHelmFunctionResourceLimits | false | Enforces resource limits on helm functions via ResourceQuota's. Sets `podSpec.{initContainers,containers}[*].resource.requests = limits` | | ||
| | EnforceContainerFunctionResourceLimits | false | Enforces resource limits on container functions via container resource limits. Sets `podSpec.{initContainers,containers}[*].resource.requests = limits` | | ||
| | EnforceHelmTaskResourceLimits | false | Enforces resource limits on helm tasks via ResourceQuota's. Sets `podSpec.{initContainers,containers}[*].resource.requests = limits` | | ||
| | EnforceContainerTaskResourceLimits | false | Enforces resource limits on container tasks via container resource limits. Sets `podSpec.{initContainers,containers}[*].resource.requests = limits` | | ||
| | CordonMaintenance | false | Sets the mode for NVCA to maintenance and only pauses new workloads on the cluster backend | | ||
| | CordonAndDrainMaintenance | false | Sets the mode for NVCA to maintenance and evicts existing workloads disruptively on the cluster backend | | ||
| | AckTaskRequestAfterPodsScheduled | false | Instructs the agent to only acknowledge ICMS requests with ICMS and delete queue messages after all NVCT task pods have been accepted by the cluster's scheduler | | ||
| | SelfHosted | false | Enable Self-Hosted mode | | ||
| | GracefulNoGPU | false | Allow NVCA to start and operate without GPUs, pausing queue processing until GPUs become available | | ||
| | HelmCustomAnnotations | false | Enable Custom Annotations for Helm workloads | | ||
| | KAIScheduler | false | Enables bin-packing support for efficient resource utilization using KAI scheduler | | ||
| | HelmAllowCPUNodes | false | Allows CPU-only pods in Helm functions to be scheduled on non-GPU nodes. GPU pods retain required instance-type affinity while CPU-only pods get anti-preference for GPU nodes. Mutually exclusive with HelmResourceConstraints | | ||
| | MiniServiceRevisionHistory | true | Enables saving prior helm values as ConfigMaps on each MiniService's values update. | | ||
| | AllowWorkloadKubernetesAPIAccess | false | Allows workload pods to access the Kubernetes API. Required for First Class Operator support | | ||
| | DynamoOperatorSupport | false | Enables First Class Operator support. The operator must be installed in the cluster and NVCA's validation policy configured with its CRD types. **Note:** enabling this flag automatically enables `AllowWorkloadKubernetesAPIAccess` | | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Keep this AGENTS.md below 400 lines.
The file now reaches line 442. Move this detailed metrics recipe to
internal/metrics/METRICS.mdand retain only a short pointer here.🤖 Prompt for AI Agents
Source: Coding guidelines