# Cert-manager & Gitlab Managed Cluster ## Table of contents <style> .reveal { font-size: 24px; } </style> - Cert-manager - Gitlab managed cluster - A litle overview on our clusters --- ## What is cert manager Cert manager simplifies the process of requesting certificates for new domains. It is also resposible for renewing them. > cert-manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. -> https://cert-manager.io/docs/ --- ## Why we needed to update cert-manager Previously we were using version `v0.9.1` which is not compatible with our current version of kubernetes `v.1.20` Basically, we were not able to issue new certificates. [Table of cert-manager compatibility](https://cert-manager.io/docs/installation/supported-releases/) --- ## How we can update cert-manager resources in our cluster ?? --- ## Manage cluster dependencies with Gitlab Previosly, Gitlab offer a service for cluster management called "GitLab-managed clusters". This was how our current clusters were setup. Unfortunetely, this is now deprecated => https://docs.gitlab.com/ee/user/project/clusters/gitlab_managed_clusters.html GitLab Managed Apps (DEPRECATED) => https://docs.gitlab.com/ee/user/clusters/applications.html --- ## Manage cluster dependencies with Gitlab Instead, the recommended way to manage is using a "Cluster Management Project" We started using this "Cluster Management" Project => https://gitlab.com/equalture/cluster-manager Our repository is a fork from this other: https://gitlab.com/gitlab-org/project-templates/cluster-management --- ## Manage cluster dependencies with Gitlab What is important here: - We can specify our dependencies here: https://gitlab.com/equalture/cluster-manager/-/blob/master/helmfile.yaml - We can automatize the update using gitlab CI: https://gitlab.com/equalture/cluster-manager/-/pipelines/510159882 --- ## In our clusters We need to go to "gitlab-managed-apps" namespace ```sh kubectl config set-context --current --namespace=gitlab-managed-apps ``` There we can list the "charts" that we have already installed: ```sh helm3 ls ``` ![](https://i.imgur.com/7Oz9EcX.png) --- ## What is helm A deployment tool for kubernetes. Allows to create charts/release based on templates of resources. Useful for creating template that can be shared between different environments. helm3 install => https://helm.sh/docs/intro/install/ --- ## Next steps - Upgrade Nginx too - Use "Gitlab Cluster Manager template" as "source" repository. So we can get from there the latest version of the dependencies. ## Thanks for your attention!
{"metaMigratedAt":"2023-06-17T00:19:39.670Z","metaMigratedFrom":"Content","title":"Cert-manager & Gitlab Managed Cluster","breaks":true,"contributors":"[{\"id\":\"23397e98-077f-4fa6-94ec-d8ed5fbb59af\",\"add\":3332,\"del\":591}]"}
    270 views