Kubernetes - Artifacts Management
Last Updated: 2023-02-16
Registries
- Docker Hub: a public regitry https://hub.docker.com/
- Harbor: an open source option. Deployed in cluster.
- From Cloud Providers, e.g. Google Container Registry / Artifact Registry.
Harbor
API:
goharbor.io/v1beta1
HarborCluster
- cache: Redis
- database: PostgreSQL
- storage: FileSystem
Helm
Helm is the package manager for Kubernetes.
Helm charts vs container images:
- usually don't include application binaries themselves; instead, they provide instructions that tell Kubernetes where to find the container images that it needs to run a certain application.
- a single chart could install multiple applications. E.g. install web server and database in one chart.
- container images provide just an application, not the configuration data necessary for running it; Helm charts are more like a complete software installation package. When you run a Helm chart, it installs not just application binaries, but also all of the configuration data necessary to run an application.
- Helm charts work only for installing software on Kubernetes; containers can run anywhere.
- Both Helm charts and container images can be stored in a registry like Harbor.
Chart File Structure
my-chart/
charts/ # dependent charts
crds/ # Custom Resource Definitions
templates/ # templates
Chart.yaml # info about the chart
values.yaml # default values
Template + values = a valid k8s manifest.