Table of Contents

Class KubernetesContainerManager

Namespace
Bielu.Microservices.Orchestrator.Kubernetes
Assembly
Bielu.Microservices.Orchestrator.Kubernetes.dll

Kubernetes implementation of the container manager. Maps container operations to Kubernetes Pod operations.

public class KubernetesContainerManager : IContainerManager
Inheritance
KubernetesContainerManager
Implements
Inherited Members

Constructors

KubernetesContainerManager(IKubernetes, KubernetesOptions, OrchestratorOptions, ILogger<KubernetesContainerManager>)

Kubernetes implementation of the container manager. Maps container operations to Kubernetes Pod operations.

public KubernetesContainerManager(IKubernetes client, KubernetesOptions options, OrchestratorOptions orchestratorOptions, ILogger<KubernetesContainerManager> logger)

Parameters

client IKubernetes
options KubernetesOptions
orchestratorOptions OrchestratorOptions
logger ILogger<KubernetesContainerManager>

Properties

HostAddress

public string HostAddress { get; }

Property Value

string

ProviderName

public string ProviderName { get; }

Property Value

string

Methods

CreateAsync(CreateContainerRequest, CancellationToken)

Creates a new container.

public Task<string> CreateAsync(CreateContainerRequest request, CancellationToken cancellationToken = default)

Parameters

request CreateContainerRequest
cancellationToken CancellationToken

Returns

Task<string>

GetAsync(string, CancellationToken)

Gets detailed information about a specific container.

public Task<ContainerInfo?> GetAsync(string containerId, CancellationToken cancellationToken = default)

Parameters

containerId string
cancellationToken CancellationToken

Returns

Task<ContainerInfo>

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

containerId string
stdout bool
stderr bool
cancellationToken CancellationToken

Returns

Task<string>

ListAsync(bool, CancellationToken)

Lists all containers.

public Task<IReadOnlyList<ContainerInfo>> ListAsync(bool all = false, CancellationToken cancellationToken = default)

Parameters

all bool
cancellationToken CancellationToken

Returns

Task<IReadOnlyList<ContainerInfo>>

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

containerId string
force bool
removeVolumes bool
cancellationToken CancellationToken

Returns

Task

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

containerId string

The container identifier or group name to scale.

replicas int

The desired number of instances.

cancellationToken CancellationToken

Cancellation token.

Returns

Task

StartAsync(string, CancellationToken)

Starts a container.

public Task StartAsync(string containerId, CancellationToken cancellationToken = default)

Parameters

containerId string
cancellationToken CancellationToken

Returns

Task

StopAsync(string, TimeSpan?, CancellationToken)

Stops a container.

public Task StopAsync(string containerId, TimeSpan? timeout = null, CancellationToken cancellationToken = default)

Parameters

containerId string
timeout TimeSpan?
cancellationToken CancellationToken

Returns

Task