Add annotation for cert-manager cert to rancher ingress

This commit is contained in:
wbsong111
2024-12-10 10:47:01 +09:00
parent 12ecbee647
commit ecdd4d1718
2 changed files with 55 additions and 12 deletions
+39 -2
View File
@@ -44,6 +44,9 @@ extraEnv:
### 4) Ingress 설정
#### tls 시크릿 직접 생성
- Rancher에서 ingress 사용을 위해서는 다음과 같이 설정할 수 있다.
``` yaml
# ingress 배포 전 인증서 secret 배포 필요(secret 이름은 platform)
@@ -60,14 +63,48 @@ extraEnv:
privateCA: true
```
#### 인증서 secret 생성
- ingress 사용을 위해서는 인증서를 secret으로 제공해야한다. 로컬 파일을 이용해 secret을 생성하는 방법은 다음과 같다.
``` sh
kubectl create secret tls rancher-tls-ingress --cert=<path-to-cert-file> --key=<path-to-key-file> -n <namespace>
```
#### 사설 인증서 사용
##### tls-ca 생성
- 사설 인증서 사용시에는 ca를 secret으로 생성해야 한다. 로컬 파일을 이용해 secret을 생성하는 방법은 다음과 같다. secret의 이름은 `tls-ca`로 생성해야 한다.
``` sh
kubectl create secret generic tls-ca --from-file=${CERT_FILE} -n ${NAMESPACE}
```
#### cert-manager를 이용한 자동 생성
- cert manager를 통해 자동생성 시 `custom-values.yaml` 수정. ingress annotaion에 추가한다.
``` yaml
# ingress 배포 전 인증서 secret 배포 필요(secret 이름은 platform)
hostname: rancher.example.org
ingress:
enable: true
tls:
source: secret
secretName: rancher-tls-secret
extraAnnotations:
nginx.ingress.kubernetes.io/proxy-body-size: 10m
cert-manager.io/cluster-issuer: "selfsigned-issuer"
cert-manager.io/duration: 8760h
cert-manager.io/renew-before: 720h
# 사설인증서 사용시 true 설정
privateCA: true
```
##### tls-ca 생성
- `rke` namespace에 `rancher-tls-secret` secret이 생성된 후에 작업을 진행한다.
``` sh
kubectl get secret rancher-tls-secret
```
- 생성된 인증서 secret인 `rancher-tls-secret`에서 ca 추출하여 `tls-ca` secret 생성한다.
``` sh
kubectl get secret rancher-tls-secret -o jsonpath='{.data.tls\.crt}' -n rke | base64 -d > cacerts.pem
kubectl create secret generic tls-ca --from-file=cacerts.pem -n rke
```
+6
View File
@@ -12,6 +12,12 @@ ingress:
extraAnnotations:
nginx.ingress.kubernetes.io/proxy-body-size: 10m
# cert-manager 사용시
cert-manager.io/cluster-issuer: "selfsigned-issuer"
cert-manager.io/duration: 8760h
cert-manager.io/renew-before: 720h
# 사설 인증서 사용시 true
privateCA: true