how-to-install-and-manage Help

Sealed Secrets

Sealed secrets est un opérateur Kubernetes qui permet avec un client (kubeseal) de faire un age d'un secret. Faire un age nous permet de pousser des secrets en ayant la certitude qu'il ne seront pas éxposer publiquement. L'age repose sur un system de clé privée et publique. Dans notre cas, la clé privée est géré par notre opérateur kubernetes. Et la clé publique est le secret versionné sur Git.

Installation

Nous avons utilisé une Kustomization pour déployer Sealed secret. Cela en fait une installation très simple, car il suffit d'appliquer la Kustomization pour tout installer.

apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.29.0/controller.yaml

Utilisation

Pour utiliser Sealed secrets il faut d'abord avoir le client kubeseal installé sur sa machine. Puis il faut s'assurer que le contexte du cluster est chargé car kubeseal dialoguera avec le cluster pour récupérer la clé publique.

Une fois ses prérequis remplis, il faut créer un secret kubernetes classique.

apiVersion: v1 kind: Secret metadata: name: my-secret type: Opaque data: username: myuser password: mypassword

Une fois cela fait, il faut utiliser le client kubeseal pour créer un age de ce secret.

kubeseal --format yaml -f my-secret.yaml -w my-sealed-secret.yaml

Ce qui va créer un fichier my-sealed-secret.yaml contenant le secret age.

--- apiVersion: bitnami.com/v1alpha1 kind: SealedSecret metadata: creationTimestamp: null name: nextcloud-secret namespace: nextcloud spec: encryptedData: username: AgAcQsZUNYvolZJQ2FLjA5wxoYzQ20Bvc0UCSFx59VtwWx7VT83caGb6jCdf0zPw/+3+fjuaPeLPzdUPK4LhvhLguvBo9+cYIl8cAaI7t+3XwjNXZ08boFXgb0oKQdTEJElM9eKJ6dhrkRMblSApLH8/SLhuA1tQKEqCks65coct76GokDZ9ARyzOL+RWERzyoDiknQJ19t9/UJWUO8fh8umKAbXdHmMljlG5wTuj4VwOdqy0WraP94qACTo0nq0thhz1W4pC+8ktOGuG00MzdlBXMt9maIkXSJaYVwKyRi2tNVI92hcxpk/GkKVorigrfMBtQ87V2FcjbHabDiJqmW8bK3A52B2HTYA7bVaD0TXfGDbJ7/Y3ZPhzV2+92Yzyefijk+kyDUmQJJFRRfJokilOZ2uAOt1lHD5YJdCTTkU4ZXRcCxIzs6S0oi2mSuvhLFxl90YhtLWXO2UovYLvZXOWdhzJAgAGNkLTwRbzI7gybXZCDGJC9GOlWBLVEr6SBnm/oZBZLp96REvkBye9G0M1TGI/QGqFrG0QbNmCzd+uQx55uWC7hXoWPa8mChLLtk5j4yFZNREI+nLsFuczoRqboavAtqFdfKsL1p5fdIDaXCMMbONKu69j56wv6aw/g0pvQ3UNo0Wf+0jo2mmdE1Jlf3W7HSKK3IxBEV+FtFNut/VRfa4A9Fc6iQHe5509t6vNvbBX6ia5dNPU9oCqajcC9Nkag== password: AgBRXjGg21XBDxAW6X5Wd0xvSeX1S4oOYV9Q65z6nLKPXWwriLyOsKnvgFxNdr/kDe2pkeoIDuQVD9xiKZ5ztopSFbERAGhr4mqCHItK9L+QXIQ2yRkc85+Al8EdL7ob13GjYM05MyTBcsdAX5puClR+JoU4cAcS2vGf40OZe+DlPlr9MnPJ3uCy6DJFkbU+LST8MuUyGqYOlLXDs/uBpHFuLV6UQL2mIx6ScbEqmBx8zHMXNlsOG6RqKvPvZqJRrLBRH01BMJupJ/fxehzB3t9iOlE/465W4Lan+0Et1zHRBv5cDZjefF8VV98mM/7lZCUsZlguGG9h/diSOVeegKvxqGlo8aQ29iwVvjfL8zCQxTjZIY4ELoinEWp3t9NVTZYng/RJumuRhrKKScZ3R1GnbRof7dZqXtSK6bsozZU34nzhIR4b/9Yu7EBup/KnxaYfSV7y1J/NRVQCL35g9FzJ1VfooJ5RYMPW4bLBtzKx2Bu9D4l+D3J/qI64vYuToRw7M/rcb2s4pL8wrLzov148Dvl2G4lLj27QFWEu4RDNB6YKl0sD0AOXeVr1TK0TpBYfMvdhbC8BU0DLE9IcXPCyuIsyhM+1XA1N3QGi9YoFqgsTLnwDugtpGk1vv8To0og8+CcYBKqGJcYIQoRvom54pumAF8RG9gDtgtYgwnPLwMLQEXcakqiu6W788hxCszzJvCJz05CqM3l7MlsJIEwLd2ZlPQ== template: metadata: annotations: sealedsecrets.bitnami.com/cluster-wide: "false" creationTimestamp: null name: my-secret type: Opaque
Last modified: 13 July 2025