Add annotation for cert-manager cert to rancher ingress
This commit is contained in:
@@ -44,30 +44,67 @@ extraEnv:
|
||||
|
||||
### 4) Ingress 설정
|
||||
|
||||
#### tls 시크릿 직접 생성
|
||||
|
||||
|
||||
- Rancher에서 ingress 사용을 위해서는 다음과 같이 설정할 수 있다.
|
||||
``` yaml
|
||||
# ingress 배포 전 인증서 secret 배포 필요(secret 이름은 platform)
|
||||
hostname: rancher.example.org
|
||||
ingress:
|
||||
``` yaml
|
||||
# ingress 배포 전 인증서 secret 배포 필요(secret 이름은 platform)
|
||||
hostname: rancher.example.org
|
||||
ingress:
|
||||
enable: true
|
||||
tls:
|
||||
source: secret
|
||||
secretName: rancher-tls-ingress
|
||||
source: secret
|
||||
secretName: rancher-tls-ingress
|
||||
extraAnnotations:
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: 10m
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: 10m
|
||||
|
||||
# 사설인증서 사용시 true 설정
|
||||
privateCA: true
|
||||
```
|
||||
# 사설인증서 사용시 true 설정
|
||||
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
|
||||
```
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user