OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug
2.0.0-preview.2
Prefix Reserved
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug --version 2.0.0-preview.2
NuGet\Install-Package OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug -Version 2.0.0-preview.2
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug" Version="2.0.0-preview.2" />
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug" Version="2.0.0-preview.2" />
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug" />
paket add OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug --version 2.0.0-preview.2
#r "nuget: OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug, 2.0.0-preview.2"
#:package OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug@2.0.0-preview.2
#addin nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug&version=2.0.0-preview.2&prerelease
#tool nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes.Debug&version=2.0.0-preview.2&prerelease
OPC UA .NET Standard — Kubernetes Distributed Server Integration
OPCFoundation.NetStandard.Opc.Ua.Redundancy.Kubernetes adds opt-in Kubernetes integration to OPCFoundation.NetStandard.Opc.Ua.Redundancy.Server.
Overview
The package keeps Kubernetes concerns outside the base high-availability package. It provides Lease-backed leader election, peer discovery from EndpointSlices, an HTTP readiness/liveness bridge driven by OPC UA ServiceLevel, and a strongly-consistent multi-node Raft consensus wiring (UseKubernetesRaftConsensus, RaftCs over NanoMsg with an optional file WAL).
Getting started
services.AddOpcUa()
.AddServer(...)
.UseDistributedAddressSpace(options => options.UseLeaderElection = true)
.UseKubernetesLeaderElection(options => options.LeaseName = "opcua-ha")
.UseKubernetesPeerDiscovery(options => options.ServiceName = "opcua-ha-headless")
.UseKubernetesReadiness(options => options.Port = 8080);
For strong consistency, wire a Raft cluster from the StatefulSet ordinals and compose it with UseRedundancyConsistency:
services.AddOpcUa()
.AddServer(...)
.UseKubernetesRaftConsensus(o =>
{
o.HeadlessServiceName = "opcua-ha-headless";
o.ReplicaCount = 3; // static membership; odd for quorum
o.StoragePath = "/var/lib/opcua/raft"; // PersistentVolume mount for the WAL
})
.UseRedundancyConsistency(RedundancyConsistencyMode.Strong);
Target frameworks
net8.0, net9.0, net10.0. .NET Framework and netstandard consumers use the base distributed package without Kubernetes integration.
Additional documentation
See the Kubernetes high availability deployment guide for RBAC, Service, StatefulSet, readiness, and time-sync guidance.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- BitFaster.Caching (>= 2.6.0)
- Crdt (>= 1.1.2)
- Crdt.Transport (>= 1.1.2)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Redundancy.Server.Debug (>= 2.0.0-preview.2)
- RaftCs (>= 1.1.2)
- RaftCs.Storage.File (>= 1.1.2)
- RaftCs.Transport (>= 1.1.2)
- RaftCs.Transport.NanoMsg (>= 1.1.2)
- System.Threading.RateLimiting (>= 10.0.10)
-
net8.0
- BitFaster.Caching (>= 2.6.0)
- Crdt (>= 1.1.2)
- Crdt.Transport (>= 1.1.2)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Redundancy.Server.Debug (>= 2.0.0-preview.2)
- RaftCs (>= 1.1.2)
- RaftCs.Storage.File (>= 1.1.2)
- RaftCs.Transport (>= 1.1.2)
- RaftCs.Transport.NanoMsg (>= 1.1.2)
- System.Collections.Immutable (>= 9.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.10)
- System.Formats.Asn1 (>= 10.0.10)
- System.Text.Json (>= 10.0.10)
- System.Threading.Channels (>= 10.0.10)
- System.Threading.RateLimiting (>= 10.0.10)
-
net9.0
- BitFaster.Caching (>= 2.6.0)
- Crdt (>= 1.1.2)
- Crdt.Transport (>= 1.1.2)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Redundancy.Server.Debug (>= 2.0.0-preview.2)
- RaftCs (>= 1.1.2)
- RaftCs.Storage.File (>= 1.1.2)
- RaftCs.Transport (>= 1.1.2)
- RaftCs.Transport.NanoMsg (>= 1.1.2)
- System.Diagnostics.DiagnosticSource (>= 10.0.10)
- System.Formats.Asn1 (>= 10.0.10)
- System.Text.Json (>= 10.0.10)
- System.Threading.Channels (>= 10.0.10)
- System.Threading.RateLimiting (>= 10.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-preview.2 | 42 | 8/24/2026 |