사전 준비 체크리스트
- 가상 머신
- Azure AKS
- Docker와 인터넷에 액세스할 수 있는 머신(Vantage를 설치할 머신)
- 설치 중 인터넷에 액세스할 수 있고 Kubernetes 노드로 사용할 가상 머신
- Docker 이미지를 저장할 컨테이너 레지스트리
- Vantage 운영을 위한 관계형 데이터베이스 관리 시스템(RDBMS)
- Vantage 사용자에게 이메일 메시지를 보내기 위한 SMTP 서버
- 암호화 통신을 설정하기 위한 TLS 인증서
- 고정 IP 주소 2개(하나는 Kubernetes 구성/관리용, 하나는 Vantage 액세스용)
- Vantage 액세스를 위한 DNS 레코드
- 외부 스토리지(고가용성을 사용하지 않는 구성의 경우 선택 사항)
설치 머신 요구 사항
- Virtual Machines
- Azure AKS
- Linux OS 또는 Windows Subsystem for Linux (WSL)
- Docker 버전 19.03 이상
abyvtgonprm27.azurecr.io에 대한 네트워크 액세스ansible사용자 계정을 위한 개인 SSH 키(암호 구문(passphrase) 없음)가 포함된 로컬 파일
모든 가상 머신은 동일한 SSH 키를 사용해야 합니다.
인프라 요구 사항
- Virtual Machines
- Azure AKS
모든 가상 머신은 VMware 또는 Hyper-V에서 실행될 수 있어야 하며 다음 요구 사항을 충족해야 합니다.OS별 패키지:
- 정적 IP 주소
- 다음 권한을 가진
ansible이라는 이름의 사용자 계정:- 공유 SSH 키 액세스
- NOPASSWD 옵션이 설정된 sudo 권한
- 각 워커 노드에
/opt/local-path-provisioner에 마운트된 전용 확장 가능 디스크/lvm_volume - 설치 중 컨테이너 레지스트리 및 패키지 저장소에 대한 인터넷 액세스:
- Vantage 설치를 위해 사전 준비된, 동기화된 이미지를 포함하는 컨테이너 레지스트리. 자세한 내용은 Downloading Container Images를 참조하세요.
- 패키지 저장소: Ubuntu(archive.ubuntu.com), RHEL(cdn.redhat.com). 패키지 저장소에 대한 액세스 대신, 아래에 나열된 모든 필수 패키지를 포함하는 자체 저장소에 대한 액세스를 구성할 수도 있습니다.
| Ubuntu 20.04 | RHEL 8 |
|---|---|
| python3-apt, apt-transport-https, software-properties-common, conntrack, libseccomp2 | device-mapper-libs, nss, conntrack, container-selinux, libseccomp |
설치 후 네트워크 액세스
클러스터 설치 후, 가상 머신은 다음에 액세스할 수 있어야 합니다.https://licensing-us.abbyy.comenv_specific.yml파일에 SMTP 설정이 지정된 메일 서버(이메일 초대 발송, 비밀번호 복구 등)- Vantage 프로세스 스킬에서 이메일을 가져올 모든 메일 서버
고가용성 구성
- 가상 머신
- Azure AKS
필요한 최소 가상 머신 수가 지정되어 있습니다. 성능 요구 사항에 따라 필요한 가상 머신 수는 달라질 수 있습니다.
| Kubernetes 노드 유형 | 마스터 노드 | 워커 노드(Services) | 워커 노드(Workers) |
|---|---|---|---|
| 운영 체제 | Ubuntu 20.04 or RHEL 8 | Ubuntu 20.04 or RHEL 8 | Ubuntu 20.04 or RHEL 8 |
| VM 수 | 3 | 4 | 1 |
| CPU 코어 수 (각 VM 기준) | 2 | 12 | 12 |
| RAM, GB (각 VM 기준) | 4 | 48 | 48 |
| Kubernetes용 디스크 스토리지, GB (각 VM 기준) | 50 | 80 | 80 |
/opt/local-path-provisioner 마운트 지점용 디스크/볼륨, GB | 필요 없음 | 최소 40 | 최소 40 |
| 네트워크 대역폭, Gbps (각 VM 기준) | 1 | 1 | 1 |
고가용성 구성 없이
- 가상 머신
- Azure AKS
| Kubernetes 노드 유형 | 마스터 노드 | 워커 노드 (서비스) | 워커 노드 (Workers) |
|---|---|---|---|
| 운영 체제 | Ubuntu 20.04 또는 RHEL 8 | Ubuntu 20.04 또는 RHEL 8 | Ubuntu 20.04 또는 RHEL 8 |
| VM 개수 | 1 | 1 | 1 |
| CPU 코어 수 (VM당) | 2 | 12 | 12 |
| RAM, GB (VM당) | 4 | 48 | 48 |
| Kubernetes용 디스크 저장소, GB (VM당) | 50 | 80 | 80 |
/opt/local-path-provisioner 마운트 지점용 디스크/볼륨, GB | 필요 없음 | 최소 40 | 최소 40 |
| 네트워크 대역폭, Gbps (VM당) | 1 | 1 | 1 |
Vantage 설치 중 Kubernetes 1.33.3 버전이 설치됩니다.
컨테이너 레지스트리
- 가상 머신
- Azure AKS
모든 컨테이너 레지스트리를 사용할 수 있습니다.
데이터베이스 요구 사항
- 가상 머신
- Azure AKS
다음 구성의 Microsoft SQL Server 또는 PostgreSQL 데이터베이스가 필요합니다.옵션 1: Microsoft SQL Server
옵션 2: PostgreSQL
외부 데이터베이스 서버를 구성해야 하며, 새 데이터베이스를 생성하고 관리할 수 있는 적절한 자격 증명 정보가 필요합니다.설치 프로그램에는 SQL Server의 IP 주소와 데이터베이스에 연결하기 위한 사용자 이름과 암호가 필요합니다.
| Version | OS | CPU cores | RAM, GB | Disk Storage, GB | Full-Text Search |
|---|---|---|---|---|---|
| Enterprise 2022 | Linux | 4 | 4 | Recommended: 400, Min: 200 | Enabled |
| Version | CPU cores | RAM, GB | Disk Storage, GB |
|---|---|---|---|
| 14+ | 4 | 4 | Recommended: 400, Min: 200 |
SMTP Server
env_specific.yml에서 인증 사용 여부에 따라 SMTP를 구성합니다.
인증(로그인 및 비밀번호 사용)이 있는 옵션을 사용할 것을 권장합니다.
env_specific.yml 파일의 smtp 섹션은 다음과 같이 설정해야 합니다:
로그인과 비밀번호를 사용하는 인증 옵션을 권장합니다.
TLS 인증서
고정 IP 주소
- 가상 머신
- Azure AKS
1. Kubernetes API 액세스. 클러스터를 구성하고 관리하기 위해 Kubernetes API 서버 엔드포인트에 액세스하는 가상 IP 주소로 사용되는 고정 IP 주소입니다. IP 주소는 아래와 같이 env_specific.yml 파일에 정의해야 합니다. 자세한 내용은 구성 파일 설정을 참조하십시오:2. Vantage 서비스 액세스. HTTPS를 통해 Vantage 서비스에 액세스하는 데 사용되는 고정 IP 주소입니다. 이 IP 주소를 위한 DNS A 레코드를 미리 생성해 두어야 합니다. IP 주소는 아래와 같이 env_specific.yml 파일에 정의해야 합니다. 자세한 내용은 Installation을 참조하십시오:
Vantage 액세스를 위한 DNS 레코드
스토리지 요구 사항
- 가상 머신
- Azure AKS
외부 스토리지는 고가용성 없음(Without high availability) 구성에서만 선택 사항입니다. 고가용성(Highly available) 구성을 위한 디스크 크기 요구 사항은 Performance Guide에 설명되어 있습니다.ABBYY Vantage는 제공된 가상 머신의 하드 디스크에 로컬 스토리지를 배포하여 제품 설치 속도를 높입니다. 그러나 이 옵션은 여전히 예기치 않은 재부팅 및 가상 머신 장애의 영향을 받을 수 있습니다. 이로 인해 저장 중인 데이터가 손실될 수 있으므로, 설치 시 외부 스토리지 사용을 권장합니다.ABBYY Vantage에서는 아래에 나열된 방식으로 특정 스토리지 유형의 사용을 구성할 수 있습니다.Vantage가 정상적으로 작동하려면 NFS 서버의 루트 디렉터리(예: /opt/nfs)의 권한 및 소유자를 다음과 같이 설정할 것을 권장합니다.다음은 Linux 머신을 NFS 서버로 사용할 때 다른 스토리지 유형을 추가로 연결해야 하는 경우, 아래의 스토리지 클래스를 직접 정의하기 섹션을 참조하십시오.
로컬 스토리지 사용
이 경우, ReadWriteOnce POSIX 호환 액세스를 가진 볼륨이 각 Kubernetes 노드의 /opt/local_path_provisioner 디렉터리에 로컬로 프로비저닝됩니다. ReadWriteMany 볼륨 유형의 경우, Vantage는 첫 번째 abbyy_services 노드(이 노드의 IP는 inventory 파일의 해당 블록에서 첫 번째 값임)에 in-cluster nfs-kernel-server 를 배포합니다. NFS 서버의 데이터는 /opt/local_path_provisioner 디렉터리에 저장되므로, 첫 번째 abbyy_services 노드(inventory 파일에서 이 그룹의 첫 번째 노드로 정의됨)에 이 경로를 위한 전용 볼륨/디스크(최소 500 GB 이상)가 있는지 확인해야 합니다.고가용성 구성의 경우, 첫 번째 abbyy_services 노드에도 로컬 Persistent Volume 스토리지가 호스팅됩니다. 이는 처리 부하에 따라 추가 하드 드라이브 용량이 필요합니다. 필요한 용량에 대한 자세한 내용은 Performance Guide를 참조하십시오.외부 NFS 스토리지 사용
Vantage 설치 프로그램을 사용하면, 공유 폴더로의 가져오기(import) 및 내보내기(export), 모니터링으로 수집된 데이터 저장과 같은 특정 서비스용 Vantage 스토리지로 사용할 NFS 스토리지를 자동으로 구성할 수 있습니다.env_specific.yml 파일의 해당 섹션은 다음과 같습니다:/etc/exports 파일에 지정하는 디렉터리 설정 예시입니다:스토리지 클래스를 직접 정의하기
NFS 이외의 외부 스토리지를 사용하려면 아래 단계를 따르십시오.- 설치 과정에서 Kubernetes 클러스터를 생성한 후(Running the installation scripts의 단계 4), 적절한 CSI(Container Storage Interface) 드라이버를 배포하고 해당 드라이버용 스토리지 클래스를 생성합니다.
- 아래 코드를 사용하여
env_specific.yml파일의k8s섹션을 작성합니다.
- 설치를 계속 진행합니다.
Redis 클러스터 (Azure AKS 전용)
Redis 클러스터는 Azure AKS 고가용성(Highly Available) 구성에서만 필수입니다. Virtual Machine 배포나 비고가용성(Non-HA) Azure 배포에서는 필요하지 않습니다.
| Configuration | Requirement |
|---|---|
| Redis Version | 6.2 이상 |
| Number of Nodes | 6개 이상 |
| RAM per Node | 노드당 4 GB (최소) |
| Cluster Mode | 사용 |
| Cluster Password | 필수 |
| SSH Port | 22 (구성용) |
redis.conf에서 다음 옵션을 설정해야 합니다:
maxmemory 값은 각 Redis 노드에서 사용 가능한 메모리의 절반으로 설정해야 합니다. <password>를 클러스터 암호로 바꾸십시오.- Azure Infrastructure Creation - ARM 템플릿을 사용한 Azure 리소스 단계별 생성 가이드
- FIPS Compliance - 정부 배포를 위한 FIPS 140-2 준수 요건
- Installation - 전체 설치 가이드
- Performance Guide - 확장 및 성능 최적화 가이드
