1. 서론
Sealed Secrets 다 괜찮은데, 문제가 하나 있다면 매번 설정할 떄마다 Secrets.yaml 만들고… CLI로 Sealed Secrets로 변경한 뒤에.. Git에 추가하는게 끝내주게 귀찮다는 점입니다.
이걸 좀 더 편하게 하기 위해 kubeseal-webgui를 이용해 간단히 Web UI를 만들어 볼 예정입니다.
2. 설치
ArgoCD를 이용해 또 간단히 설치해 봅시다!
modules/sealed-secrets-system/kubeseal-webgui.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| # https://github.com/Jaydee94/kubeseal-webgui
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: kubeseal-webgui
namespace: argocd
spec:
destination:
namespace: sealed-secrets-system
server: 'https://kubernetes.default.svc'
source:
repoURL: 'https://jaydee94.github.io/kubeseal-webgui'
targetRevision: 5.1.4
chart: kubeseal-webgui
helm:
parameters:
- name: api.url
value: https://<web ui를 사용할 subdomain 예시:seal.lemon.com>
- name: sealedSecrets.autoFetchCert
value: 'true'
- name: sealedSecrets.controllerName
value: sealed-secrets
- name: sealedSecrets.controllerNamespace
value: sealed-secrets-system
sources: []
project: default
|
modules/sealed-secrets-system/ingress.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: sealed-secrets-ingress
namespace: sealed-secrets-system
spec:
tls:
certResolver: le
routes:
- kind: Rule
match: Host(`<web ui를 사용할 subdomain 예시:seal.lemon.com>`)
services:
- name: kubeseal-webgui
port: 8080
|
필요하다면 Basic Auth는 이전 글을 참고하여 추가합니다.
이후 해당 UI를 통해 간단히 Sealed Secrets를 만들 수 있습니다!