CLI

Develop applications

  • Rancher desktop based on k3s. It is the best way to run the local kubernetes environments

Operate clusters

  • kubectl is the default tool that can be extended by plugins
    • ctx - easily switch between contexts
    • ns - simplifies switch etween namespaces

Manage third party applications

  • helm to manage applications’ deployment

Observe what is going on in the cluster

In clusters

Syncronize desired state with the actual state

GitOps can be also achieved by pipelines. Both of them are great. You’ll just have process in your cluster and continiously monitor your git repository and whenever it detects the change in git repository, than it will update the state of your kubernetes resources

  • argocd is a declarative, GitOps continuous delivery tool for Kubernetes
  • flux - another GitOps for apps and infrastructure

Encryption

TLS certificates

  • cert-manager controller. Enables us to use letsencrypt to encrypt traffic with https

Manage infra and apps

  • crossplane allows to manage infrastructure the kubernetes way
  • kubevela allows deployment as code, cloud agnostic.

Collect metrics, observe and alert

Seeing the statistics and what is going on

  • prometheus to collect metrics + grafana to observe

Collect logs

  • promtail - to collect logs
  • loki like Prometheus, but for logs - to store logs

Policies

  • kyverno policies can validate, mutate, generate, and cleanup Kubernetes resources plus ensure OCI image supply chain security.
  • open policy gatekeeper another kubernetes policies manager