-
Notifications
You must be signed in to change notification settings - Fork 458
Operator's component
Cesar Celis Hernandez edited this page Apr 24, 2023
·
32 revisions
To give a general overview of Operator's components.
MinIO Operator
orchestrates the tenant(s) by deploying a Operator POD
that controls the flow in which a Tenant is deployed and maintained. A React UI is shown via Console POD
and it allows end user to interact with the Operator to create, edit or delete a Tenant.
Inside a Tenant, MinIO POD
will contain an initContainer
and a sidecar
container that are used by MinIO to retrieve the MINIO_ARGS
for the tenant and to monitor the configurations secret and update it locally as soon as it changes. Additionally this sidecar
will validate if root credentials are missing and if so, error out. MinIO Containers
will store and retrieve Objects from the PVs
via its PVCs
.
MinIO Container: What it does?:
It stores and retrieves objects in the mount points provided.
This is considered the main program and it source code comes from: https://github.com/minio/minio/
This container is agnostic of k8s environment and its binary can be executed in bare metal as well.
initContainer: What it does?:
It validates the arguments like `MINIO_ARGS` for Tenant to start.
Once the validation is completed, the container is terminated and exits with code zero.
You can find its implementation at: operator/pkg/validator/validator.go
SideCar container: What it does?:
To monitor the configuration secret and update it locally as soon as it changes.
Additional this sidecar will validate if root credentials are missing and if so, error out.
Its implementation can be found at: operator/pkg/sidecar/sidecar.go