Class ContainerdContainerManager
- Namespace
- Bielu.Microservices.Orchestrator.Containerd
- Assembly
- Bielu.Microservices.Orchestrator.Containerd.dll
containerd implementation of the container manager using gRPC.
public class ContainerdContainerManager : IContainerManager
- Inheritance
-
ContainerdContainerManager
- Implements
- Inherited Members
Constructors
ContainerdContainerManager(ContainersClient, TasksClient, SnapshotsClient, INetworkManager, ContainerdOptions, OrchestratorOptions, ILogger<ContainerdContainerManager>)
containerd implementation of the container manager using gRPC.
public ContainerdContainerManager(Containers.ContainersClient containersClient, Tasks.TasksClient tasksClient, Snapshots.SnapshotsClient snapshotsClient, INetworkManager networkManager, ContainerdOptions options, OrchestratorOptions orchestratorOptions, ILogger<ContainerdContainerManager> logger)
Parameters
containersClientContainers.ContainersClienttasksClientTasks.TasksClientsnapshotsClientSnapshots.SnapshotsClientnetworkManagerINetworkManageroptionsContainerdOptionsorchestratorOptionsOrchestratorOptionsloggerILogger<ContainerdContainerManager>
Properties
HostAddress
public string HostAddress { get; }
Property Value
ProviderName
public string ProviderName { get; }
Property Value
Methods
CreateAsync(CreateContainerRequest, CancellationToken)
Creates a new container.
public Task<string> CreateAsync(CreateContainerRequest request, CancellationToken cancellationToken = default)
Parameters
requestCreateContainerRequestcancellationTokenCancellationToken
Returns
GetAsync(string, CancellationToken)
Gets detailed information about a specific container.
public Task<ContainerInfo?> GetAsync(string containerId, CancellationToken cancellationToken = default)
Parameters
containerIdstringcancellationTokenCancellationToken
Returns
GetLogsAsync(string, bool, bool, CancellationToken)
Gets the logs for a container.
public Task<string> GetLogsAsync(string containerId, bool stdout = true, bool stderr = true, CancellationToken cancellationToken = default)
Parameters
containerIdstringstdoutboolstderrboolcancellationTokenCancellationToken
Returns
ListAsync(bool, CancellationToken)
Lists all containers.
public Task<IReadOnlyList<ContainerInfo>> ListAsync(bool all = false, CancellationToken cancellationToken = default)
Parameters
allboolcancellationTokenCancellationToken
Returns
RemoveAsync(string, bool, bool, CancellationToken)
Removes a container.
When removeVolumes is true, also deletes all data associated
with the container: anonymous volumes, named volumes, and bind-mounted host directories.
public Task RemoveAsync(string containerId, bool force = false, bool removeVolumes = false, CancellationToken cancellationToken = default)
Parameters
containerIdstringforceboolremoveVolumesboolcancellationTokenCancellationToken
Returns
ScaleAsync(string, int, CancellationToken)
Scales the number of instances for a container or container group. Not all runtimes support scaling; providers that do not will throw NotSupportedException.
public Task ScaleAsync(string containerId, int replicas, CancellationToken cancellationToken = default)
Parameters
containerIdstringThe container identifier or group name to scale.
replicasintThe desired number of instances.
cancellationTokenCancellationTokenCancellation token.
Returns
StartAsync(string, CancellationToken)
Starts a container.
public Task StartAsync(string containerId, CancellationToken cancellationToken = default)
Parameters
containerIdstringcancellationTokenCancellationToken
Returns
StopAsync(string, TimeSpan?, CancellationToken)
Stops a container.
public Task StopAsync(string containerId, TimeSpan? timeout = null, CancellationToken cancellationToken = default)
Parameters
containerIdstringtimeoutTimeSpan?cancellationTokenCancellationToken