배포 및 유지 관리 / Helm 배포
이 문서에서는 주로 Helm을 통해 DataFlux Func를 배포하는 방법을 소개합니다.
1. 시스템 및 환경 요구 사항
DataFlux Func를 설치하기 전에 환경이 다음 조건을 충족하는지 확인하십시오.
1.1 시스템 요구 사항
DataFlux Func를 실행하는 클러스터는 다음 요구 사항을 충족해야 합니다.
- Kubernetes > 1.14
- Helm >= 3.8
- 네트워크 대역폭 >= 10Mbps
- 메모리 용량 >= 4GB
- CPU 코어 >= 2
- 외부 MySQL을 사용하는 경우 MySQL 버전은 5.7 이상이어야 하며,
innodb_large_prefix매개변수를 활성화하고 데이터베이스 인코딩은utf8mb4여야 합니다 - 외부 Redis를 사용하는 경우 Redis 버전은 5.0 이상이어야 하며 사용 가능한 메모리가 최소 1GB 이상이어야 합니다. 비클러스터 버전
DataFlux Func 스토리지는 공유 스토리지를 사용하는 것이 좋습니다. hostPath에는 단점이 있습니다
2. 명령줄 배포
2.1 클러스터 Storage Class 확인
다음 명령을 실행합니다.
| Bash | |
|---|---|
1 | |
출력은 다음과 같습니다.
| Text Only | |
|---|---|
1 2 | |
2.2 Helm 버전 확인
다음 명령을 실행합니다.
| Bash | |
|---|---|
1 | |
2.3 설치 수행
| Bash | |
|---|---|
1 2 3 | |
{Release Name}은 Helm 별칭이고, {Namespace}가 존재하지 않으면 생성됩니다. {Storage Class}는 1단계의 Storage Class 이름이고, {Host Name}은 ingress 도메인 이름입니다. 설치가 성공하면 접근할 수 있습니다.
Helm 배포는 기본적으로 MySQL과 Redis를 설치합니다. 외부 MySQL과 Redis를 사용할 수도 있습니다. 자세한 배포 방법은 charts 패키지 내 README 문서에 있습니다.

2.4 설치 확인
다음 명령을 실행합니다.
| Bash | |
|---|---|
1 | |

STATUS가 deployed이면 성공을 의미합니다
또한 브라우저를 통해 지정된 {Host Name}에 접속할 수 있습니다.
2.5 시스템 초기화
브라우저로 설정된 ingress 도메인에 접속하면 기본 구성으로 초기화하거나, 설정을 사용자 지정하거나, 기본값으로 데이터베이스를 저장하고 초기화할 수 있습니다.
3. Func 업그레이드
3.1 values 구성 가져오기
다음 명령을 실행합니다.
| Bash | |
|---|---|
1 2 | |
3.2 현재 Func 버전 확인
다음 명령을 실행합니다.
| Bash | |
|---|---|
1 | |
3.3 Func 업그레이드
다음 명령을 실행합니다.
| Bash | |
|---|---|
1 2 3 | |
3.4 업그레이드 결과 확인
다음 명령을 실행합니다.
| Bash | |
|---|---|
1 | |
4. 기타 문제
4.1 브라우저에서 502가 반환되는 경우
Helm 상태가 deployed로 표시되면 다음 단계에 따라 문제를 해결합니다.
Ingress 생성 성공 여부 확인
ingress 정보를 확인합니다.
| Bash | |
|---|---|
1 | |
Pod 상태 확인
일반적으로 pvc 생성 실패로 인해 발생하며, 실제 상황에 따라 해결합니다.
pod 상태를 확인합니다.
| Bash | |
|---|---|
1 | |
출력은 다음과 같습니다.
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
PVC 상태를 확인합니다.
| Bash | |
|---|---|
1 | |
출력은 다음과 같습니다.
| Text Only | |
|---|---|
1 2 3 | |
4.2 '여전히 사용 중인 이름은 재사용할 수 없습니다' 오류
배포 중에 '여전히 사용 중인 이름은 재사용할 수 없습니다' 오류가 발생하면 현재 네임스페이스에 {Release Name}이 이미 존재한다는 의미입니다.
설치 전에 기존 {Release Name}을 삭제하거나 {Release Name}을 변경할 수 있습니다.
4.3 'Connector에 대한 연결 시간이 초과되었습니다' 오류
Connector를 생성할 때 'Connector에 대한 연결 시간이 초과되었습니다' 오류가 발생하면 func 관련 pod를 모두 다시 시작하십시오.
func 관련 Deployment는 다음과 같습니다.
- func-server
- func-worker-0
- func-worker-1-6
- func-worker-7
- func-worker-8-9
- func-worker-beat
func-server의 func은 {Release Name}이며, {Release Name}에 따라 변경됩니다
5.4 환경 변수 확장은 Secret 참조를 지원합니다
환경 변수에 대한 자세한 내용은 배포 및 유지 관리 / 구성 파일을 참조하십시오. DFF_ + 구성 항목입니다. 예를 들어 MYSQL_HOST는 환경 변수 DFF_MYSQL_HOST에 해당합니다.
Kubernetes Secret 생성
| Bash | |
|---|---|
1 2 3 4 5 6 7 8 | |
values.yaml 수정
| Text Only | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
업그레이드 또는 설치
| Bash | |
|---|---|
1 2 3 | |