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
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
|
|
```
|
|
|