Overview
Basics Overview for k8s
- General
- What is Kubernetes
- What is Kubectl
- What is Helm
- What is OpenTofu / Terraform
- What is Rancher
- What is Harvester
- What are k3s and RKE2
- What is Rancher Fleet
- What is Nginx and Certbot
General
Below are some links that new members of the DevOps team should check out
(Not mandatory, but highly recommended)
Links:
What is Kubernetes
Kubernetes is one of the applications for orchestrating containers.
This makes it possible to handle services of different kinds.
Besides services, it also manages disk storage, networks, and much more.
More on Kubernetes:
What is Kubectl
Kubectl is the management application to interact with the resources of Kubernetes clusters.
With Kubectl, "yaml files" can be deployed to the cluster.
Additionally, resource consumption can be managed, or logs can be viewed.
Furthermore, the status of various services can be viewed.
- More on kubectl: kubectl
What is Helm
Helm is an easy way to interact with an existing Kubernetes cluster.
With Kubectl, only one "yaml file" can be installed at a time, or each file must be specified individually.
With Helm, so-called "Helm Charts" are created,
which contain all the required resources like deployments, services, etc.
Another advantage of Helm Charts is that the values of variables can be defined in the "values.yaml file"
and then referenced in the resources upon invocation.
Hence, Helm offers a significantly better way to install, update, or delete resources on the cluster.
Other functions of kubectl, however, are not taken over by Helm.
More on Helm:
What is OpenTofu / Terraform
Terraform, or the fork OpenTofu, is one of the ways to automate infrastructure.
These applications are summarized under "Infrastructure as Code (IaC)".
Here, "*.tf files" are created, and a plan is generated. The plan is then written into a "state file".
Subsequently, the plan is realized through an apply. Here, the state of the target is compared with the
state in the "state file", and differences in the target are adjusted to the "state file".
Thus, the "*.tf files" specify what the "state" looks like, and Terraform automatically
establishes the state in the target based on the "state".
What is Rancher
Rancher is a software from SUSE Linux and is used to manage Kubernetes clusters.
It provides a graphical user interface via the web browser.
With Rancher, new clusters, networks, rules, disk storage, users,
and much more can be created and managed.
Simply put: The management tool for cluster administration
- More on Rancher v2.8: docs
What is Harvester
Harvester is also an application from SUSE Linux. With Harvester, virtual
machines can be created.
Harvester can be integrated as a cloud provider in Rancher. This allows new Kubernetes clusters to be created on the
Harvester via Rancher's management.
- More on Harvester (v1.2): docs
What are k3s and RKE2
K3S and RKE2 are both applications from SUSE Linux and represent applications for
installing Kubernetes clusters on bare metal.
What is Rancher Fleet
Rancher Fleet is the built-in "GitOps Tool" of Rancher. It automates the process
of deploying on the clusters. It is comparable to ArgoCD or Flux.
A "fleet.yaml" must be placed in the GitRepo. If there are changes to the Repo, then the deployment of the service updates
- More on Fleet: fleet
What is Nginx and Certbot
Nginx bietet viele Möglichkeiten, im MSD wird Nginx zur Weiterleitung der eingehenden
URL an unsere VM genutzt.
Um "HTTPS" zu ermöglichen verwenden wird zusätzlich den Certbot, um unsere Verbindung
mit Zertifikaten auszustatten.
- More on Nginx: docs
- More in Certbot:
Last modified February 4, 2025: fix go & npm dependencies (8ff1fa0)