You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.5 KiB
71 lines
2.5 KiB
## ArgoCD 배포 설정 가이드
|
|
|
|
### Ingress Enable시 사전 필요사항
|
|
- 특정 도메인에 대한 TLS 인증서를 사용한 Ingress 배포시 해당 Namespace에 tls secret이 생성되어 있어야 합니다.
|
|
- 생성가이드
|
|
```
|
|
$ kubectl create secret tls ${TLS_NAME} --cert=tls.crt --key=tls.key -n ${NAMESPACE}
|
|
```
|
|
- cert-manager를 사용하여 tls를 발급할 경우
|
|
- custom-values.yaml 설정
|
|
```
|
|
ingress:
|
|
enabled: true
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
|
hosts:
|
|
- host: argocd.example.com
|
|
paths:
|
|
- /
|
|
tls:
|
|
- secretName: ${TLS_NAME}
|
|
hosts:
|
|
- argocd.example.com
|
|
```
|
|
|
|
|
|
### custom-values.yaml
|
|
#### Global Configs
|
|
|
|
| Key | Type | Default | Description |
|
|
|-----|------|---------|-------------|
|
|
| global.domain | string | `"argocd.example.com"` | ArgoCD에서 사용할 호스트네임을 지정합니다.|
|
|
|
|
|
|
#### ArgoCD Server Ingress
|
|
|
|
| Key | Type | Default | Description |
|
|
|-----|------|---------|-------------|
|
|
| server.ingress.annotations | object | `{}` | ingress의 annotations 설정합니다. |
|
|
| server.ingress.enabled | bool | `false` | Ingress의 사용여부를 결정합니다. |
|
|
| server.ingress.extraTls | list | `[]` | Ingress의 TLS를 설정합니다. |
|
|
| server.ingress.hostname | string | `""` (defaults to global.domain) | ArgoCD의 호스트네임을 설정합니다. |
|
|
| server.ingress.ingressClassName | string | `""` | Ingress 리소스를 구현할 컨트롤러를 정의합니다.|
|
|
| server.ingress.labels | object | `{}` | Ingress에 추가할 Label을 정의합니다. |
|
|
| server.ingress.path | string | `"/"` | The path to Argo CD server |
|
|
| server.ingress.pathType | string | `"Prefix"` | Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific` |
|
|
|
|
|
|
#### Kong Ingress Controller 사용 시 필요 설정
|
|
|
|
- argocd를 배포할 때, kong ingress controller를 사용하면 다음과 같은 kong의 설정이 필요합니다.
|
|
``` yaml
|
|
server:
|
|
ingress:
|
|
enabled: true
|
|
annotations:
|
|
# kong ingress controller 설정
|
|
konghq.com/https-redirect-status-code: "301"
|
|
konghq.com/preserve-host: "true"
|
|
konghq.com/protocols: https
|
|
hostname: argocd.example.org
|
|
ingressClassName: "kong"
|
|
extraTls:
|
|
- hosts:
|
|
- argocd.example.org
|
|
secretName: argocd-tls
|
|
service:
|
|
annotations:
|
|
# argocd에서 발생하는 too many redirect 발생 방지를 위해 추가
|
|
konghq.com/protocol: https
|
|
``` |