- Alertmanager
The Alertmanager is a service for handling alerts sent by client applications, such as
Prometheus
.See also the official Prometheus documentation for Alertmanager.
API Server kube-apiserver
The Kubernetes API Server validates and configures data for the Kubernetes objects that make up a cluster, such as Nodes <Node>
or Pods <Pod>
.
See also the official Kubernetes documentation for kube-apiserver.
Bootstrap Bootstrap node The Bootstrap node is the first machine on which MetalK8s is installed, and from where the cluster will be deployed to other machines. It also serves as the entrypoint for upgrades of the cluster.
- ConfigMap
A ConfigMap is a Kubernetes object that allows one to store general configuration information such as environment variables in a key-value pair format. ConfigMaps can only be applied to namespaces and once created, they can be updated automatically without the need of restarting containers that depend on it.
See also the official Kubernetes documentation for ConfigMap.
Controller Manager kube-controller-manager
The Kubernetes controller manager embeds the core control loops shipped with Kubernetes, which role is to watch the shared state from API Server
and make changes to move the current state towards the desired state.
See also the official Kubernetes documentation for kube-controller-manager.
etcd
etcd
is a distributed data store, which is used in particular for the persistent storage ofAPI Server
.For more information, see etcd.io.
- Environment
An Environment is a namespace or group of namespaces with specific labels containing one or more Solutions. It allows to run multiple instances of a Solution on the same cluster, without collision between them.
- Grafana
Grafana is a service for analysing and visualizing metrics scraped by Prometheus.
For more information, see Grafana.
- Kubeconfig
A configuration file for
kubectl
, which includes authentication through embedded certificates.See also the official Kubernetes documentation for kubeconfig.
- Kubelet
The kubelet is the primary "node agent" that runs on each cluster node.
See also the official Kubernetes documentation for kubelet.
- Kube-state-metrics
The kube-state-metrics service listens to the Kubernetes API server and generates metrics about the state of the objects.
See also the official Kubernetes documentation for kube-state-metrics.
- Loki
Loki is a log aggregation system designed to be cost-effective, only indexing metadata (labels).
For more details, see Loki documentation.
- memberlist
memberlist is a Go library that manages cluster membership and member failure detection using a gossip based protocol. memberlist is eventually consistent but converges quickly on average.
- Namespace
A Namespace is a Kubernetes abstraction to support multiple virtual clusters backed by the same physical cluster, providing a scope for resource names.
See also the official Kubernetes documentation for namespaces.
- Node
A Node is a Kubernetes worker machine - either virtual or physical. A Node contains the services required to run
Pods <Pod>
.See also the official Kubernetes documentation for Nodes.
- Node manifest
The YAML file describing a
Node
.See also the official Kubernetes documentation for Nodes management.
- Operator
A Kubernetes operator is an application-specific controller that extends the functionality of the Kubernetes API to create, configure, and manage instances of complex applications.
See also the official Kubernetes documentation for Operator.
- Pod
A Pod is a group of one or more containers sharing storage and network resources, with a specification of how to run these containers.
See also the official Kubernetes documentation for Pods.
- Prometheus
Prometheus serves as a time-series database, and is used in MetalK8s as the storage for all metrics exported by applications, whether being provided by the cluster or installed afterwards.
For more details, see prometheus.io.
- Prometheus Node-exporter
The Prometheus node-exporter is an exporter for exposing hardware and OS metrics read from the Linux Kernel. Users can typically obtain the following metrics; cpu, memory, filesystem for each Kubernetes node.
For more details, see prometheus node-exporter.
- SaltAPI
SaltAPI is an HTTP service for exposing operations to perform with a
Salt Master
. The version deployed by MetalK8s is configured to use the cluster authentication/authorization services.See also the official SaltStack documentation for SaltAPI.
- Salt Master
The Salt Master is a daemon responsible for orchestrating infrastructure changes by managing a set of
Salt Minions <Salt Minion>
.See also the official SaltStack documentation for Salt Master.
- Salt Minion
The Salt Minion is an agent responsible for operating changes on a system. It runs on all MetalK8s nodes.
See also the official SaltStack documentation for Salt Minion.
Scheduler kube-scheduler
The Kubernetes scheduler is responsible for assigning Pods <Pod>
to specific Nodes <Node>
using a complex set of constraints and requirements.
See also the official Kubernetes documentation for kube-scheduler.
- Secret
Kubernetes Secrets let you store and manage sensitive information, such as passwords, OAuth tokens, and SSH keys.
See also the official Kubernetes documentation for Secrets.
- Service
A Kubernetes Service is an abstract way to expose an application running on a set of
Pods <Pod>
as a network service.See also the official Kubernetes documentation for Services.
- Taint
Taints are a system for Kubernetes to mark
Nodes <Node>
as reserved for a specific use-case. They are used in conjunction withtolerations <Toleration>
.See also the official Kubernetes documentation for taints and tolerations.
- Toleration
Tolerations allow to mark
Pods <Pod>
as schedulable for allNodes <Node>
matching some filter, described withtaints <Taint>
.See also the official Kubernetes documentation for taints and tolerations.
kubectl
kubectl
is a CLI interface for interacting with a Kubernetes cluster.See also the official Kubernetes documentation for
kubectl
_.