Repository for dip
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.
 
 
 
 
 
 

103 lines
3.8 KiB

# Rancher 배포
## 1. 배포시 주의 사항
- ingress 배포를 위해서는 인증서가 [secret으로 배포](#인증서-secret-생성)되어 있어야 한다.
- [사설 인증서 사용](#사설-인증서-사용)시 ca를 secret으로 배포되어 있어야 한다.
## 2.custom-values.yaml 설명
- custom-values.yaml에 정의된 값에 대한 설명이다.
### 1) 오프라인 설정
- private 환경 배포시 사용한다.
| Name | 설명 | 기본값 |
| ---------------------- | ------------------------------------------------------------ | ------ |
| `systemDefaultRegistry` | 오프라인 설치 시에 설정. <br />paasup 설치시에는 "paasup.io"로 설정 | `""` |
| `rancherImage` | 오프라인 설치 시에 설정. <br />paasup 설치시에는 "paasup.io/rancher/rancher"로 설정 | `""` |
### 2) Pod 설정
| Name | 설명 | 기본값 |
| ------------------------ | ---------------------------------- | --------- |
| `extraEnv` | rancher pod의 replicas 설정. | "1" |
| `replicas` | rancher pod의 replicas 설정. | "1" |
| `tolerations` | rancher pod의 toleration 설정. | `[]` |
| `nodeSelector` | rancher pod의 nodeSelector 설정. | `{}` |
| `resources.request.cpu` | rancher pod의 cpu requst 설정. | `"100m"` |
| `resources.request.memory` | rancher pod의 memory requst 설정. | `"300Mi"` |
| `resources.limits.cpu` | rancher pod의 cpu limits 설정. | `"300m"` |
| `resources.limits.memory` | rancher pod의 memory limits 설정. | `500Mi` |
### 3) Timezone 설정
- pod의 기본 timezone 설정을 위해 추가.
- 기본값으로 KST를 사용하기 위하여 Asia/Seolul로 설정하였다.
``` yaml
extraEnv:
- name: TZ
value: Asia/Seoul
```
### 4) Ingress 설정
#### 4.1) tls 시크릿 직접 생성
- Rancher에서 ingress 사용을 위해서는 다음과 같이 설정할 수 있다.
``` yaml
# ingress 배포 전 인증서 secret 배포 필요(secret 이름은 platform)
hostname: rancher.example.org
ingress:
enable: true
tls:
source: secret
secretName: rancher-tls-ingress
extraAnnotations:
konghq.com/connect-timeout: "30000"
konghq.com/read-timeout: "1800000"
konghq.com/write-timeout: "1800000"
# 사설인증서 사용시 true 설정
## privateCA를 true로 설정
privateCA: true
```
- ingress 사용을 위해서는 인증서를 secret으로 제공해야한다. 로컬 파일을 이용해 secret을 생성하는 방법은 다음과 같다.
``` sh
kubectl create secret tls rancher-tls-ingress --cert=<path-to-cert-file> --key=<path-to-key-file> -n <namespace>
```
- 사설 인증서 사용시에는 ca를 secret으로 생성해야 한다. 로컬 파일을 이용해 secret을 생성하는 방법은 다음과 같다. secret의 이름은 `tls-ca`로 생성해야 한다.
``` sh
kubectl create secret generic tls-ca --from-file=${CERT_FILE} -n ${NAMESPACE}
```
#### 4.2) cert-manager를 이용한 자동 생성
- cert manager를 통해 인증서 자동 생성 시 `custom-values.yaml` 수정한다.
``` yaml
# ingress 배포 전 인증서 secret 배포 필요(secret 이름은 platform)
hostname: rancher.example.org
ingress:
enable: true
tls:
source: secret
secretName: rancher-tls-secret
extraAnnotations:
konghq.com/connect-timeout: "30000"
konghq.com/read-timeout: "1800000"
konghq.com/write-timeout: "1800000"
# 사설인증서 사용시 추가 설정
## privateCA를 true로 설정
privateCA: true
## 사설인증서 사용을 위한 전처리 작업을 true로 설정
preinstallHook: true
```