메인 콘텐츠로 건너뛰기

사전 준비 체크리스트

Vantage를 설치하기 전에 다음 외부 구성 요소를 준비 및 구성합니다:
  • Docker와 인터넷에 액세스할 수 있는 머신(Vantage를 설치할 머신)
  • 설치 중 인터넷에 액세스할 수 있고 Kubernetes 노드로 사용할 가상 머신
  • Docker 이미지를 저장할 컨테이너 레지스트리
  • Vantage 운영을 위한 관계형 데이터베이스 관리 시스템(RDBMS)
  • Vantage 사용자에게 이메일 메시지를 보내기 위한 SMTP 서버
  • 암호화 통신을 설정하기 위한 TLS 인증서
  • 고정 IP 주소 2개(하나는 Kubernetes 구성/관리용, 하나는 Vantage 액세스용)
  • Vantage 액세스를 위한 DNS 레코드
  • 외부 스토리지(고가용성을 사용하지 않는 구성의 경우 선택 사항)

설치 머신 요구 사항

Vantage를 설치하는 머신에는 다음이 필요합니다:
  • Linux OS 또는 Windows Subsystem for Linux (WSL)
  • Docker 버전 19.03 이상
  • abyvtgonprm27.azurecr.io에 대한 네트워크 액세스
  • ansible 사용자 계정을 위한 개인 SSH 키(암호 구문(passphrase) 없음)가 포함된 로컬 파일
모든 가상 머신은 동일한 SSH 키를 사용해야 합니다.

인프라 요구 사항

모든 가상 머신은 VMware 또는 Hyper-V에서 실행될 수 있어야 하며 다음 요구 사항을 충족해야 합니다.
  • 정적 IP 주소
  • 다음 권한을 가진 ansible이라는 이름의 사용자 계정:
    • 공유 SSH 키 액세스
    • NOPASSWD 옵션이 설정된 sudo 권한
  • 각 워커 노드에 /opt/local-path-provisioner에 마운트된 전용 확장 가능 디스크/lvm_volume
  • 설치 중 컨테이너 레지스트리 및 패키지 저장소에 대한 인터넷 액세스:
    • Vantage 설치를 위해 사전 준비된, 동기화된 이미지를 포함하는 컨테이너 레지스트리. 자세한 내용은 Downloading Container Images를 참조하세요.
    • 패키지 저장소: Ubuntu(archive.ubuntu.com), RHEL(cdn.redhat.com). 패키지 저장소에 대한 액세스 대신, 아래에 나열된 모든 필수 패키지를 포함하는 자체 저장소에 대한 액세스를 구성할 수도 있습니다.
공통(모든 배포판):
curl, socat, unzip, e2fsprogs, xfsprogs, ebtables, tar
OS별 패키지:
Ubuntu 20.04RHEL 8
python3-apt, apt-transport-https, software-properties-common, conntrack, libseccomp2device-mapper-libs, nss, conntrack, container-selinux, libseccomp

설치 후 네트워크 액세스

클러스터 설치 후, 가상 머신은 다음에 액세스할 수 있어야 합니다.
  • https://licensing-us.abbyy.com
  • env_specific.yml 파일에 SMTP 설정이 지정된 메일 서버(이메일 초대 발송, 비밀번호 복구 등)
  • Vantage 프로세스 스킬에서 이메일을 가져올 모든 메일 서버

고가용성 구성

필요한 최소 가상 머신 수가 지정되어 있습니다. 성능 요구 사항에 따라 필요한 가상 머신 수는 달라질 수 있습니다.
Kubernetes 노드 유형마스터 노드워커 노드(Services)워커 노드(Workers)
운영 체제Ubuntu 20.04 or RHEL 8Ubuntu 20.04 or RHEL 8Ubuntu 20.04 or RHEL 8
VM 수341
CPU 코어 수 (각 VM 기준)21212
RAM, GB (각 VM 기준)44848
Kubernetes용 디스크 스토리지, GB (각 VM 기준)508080
/opt/local-path-provisioner 마운트 지점용 디스크/볼륨, GB필요 없음최소 40최소 40
네트워크 대역폭, Gbps (각 VM 기준)111

고가용성 구성 없이

Kubernetes 노드 유형마스터 노드워커 노드 (서비스)워커 노드 (Workers)
운영 체제Ubuntu 20.04 또는 RHEL 8Ubuntu 20.04 또는 RHEL 8Ubuntu 20.04 또는 RHEL 8
VM 개수111
CPU 코어 수 (VM당)21212
RAM, GB (VM당)44848
Kubernetes용 디스크 저장소, GB (VM당)508080
/opt/local-path-provisioner 마운트 지점용 디스크/볼륨, GB필요 없음최소 40최소 40
네트워크 대역폭, Gbps (VM당)111
Vantage 설치 중 Kubernetes 1.33.3 버전이 설치됩니다.

컨테이너 레지스트리

모든 컨테이너 레지스트리를 사용할 수 있습니다.

데이터베이스 요구 사항

다음 구성의 Microsoft SQL Server 또는 PostgreSQL 데이터베이스가 필요합니다.옵션 1: Microsoft SQL Server
VersionOSCPU coresRAM, GBDisk Storage, GBFull-Text Search
Enterprise 2022Linux44Recommended: 400, Min: 200Enabled
옵션 2: PostgreSQL
VersionCPU coresRAM, GBDisk Storage, GB
14+44Recommended: 400, Min: 200
외부 데이터베이스 서버를 구성해야 하며, 새 데이터베이스를 생성하고 관리할 수 있는 적절한 자격 증명 정보가 필요합니다.설치 프로그램에는 SQL Server의 IP 주소와 데이터베이스에 연결하기 위한 사용자 이름과 암호가 필요합니다.

SMTP Server

서버는 SMTP 프로토콜을 통해 동작해야 합니다. 설치 프로그램에서는 SMTP 서버의 IP 주소/DNS 이름, 포트, 서버에 연결하기 위한 비밀번호(서버에서 인증을 요구하는 경우)가 필요합니다. SMTP 서버는 Vantage 사용자에게 이메일을 보낼 수 있도록 허용되어야 합니다. env_specific.yml에서 인증 사용 여부에 따라 SMTP를 구성합니다.
인증(로그인 및 비밀번호 사용)이 있는 옵션을 사용할 것을 권장합니다.
인증을 사용하는 경우(권장) 로그인 및 비밀번호를 사용하는 경우입니다. 이 경우 env_specific.yml 파일의 smtp 섹션은 다음과 같이 정의해야 합니다:
smtp:
  host: X.X.X.X
  login: email
  password: password
  port: 587
  useSSL: false
  secureSocketOptions: null
인증 없음 로그인과 비밀번호를 사용하지 않는 경우입니다. 이때 env_specific.yml 파일의 smtp 섹션은 다음과 같이 설정해야 합니다:
mailFrom: email
smtp:
  host: X.X.X.X
  login: null
  password: null
  port: 25
  useSSL: false
  secureSocketOptions: None
루트에 mailFrom Parameter를 반드시 추가해야 합니다.
로그인과 비밀번호를 사용하는 인증 옵션을 권장합니다.

TLS 인증서

와일드카드 인증서 또는 도메인별 인증서가 필요합니다. Vantage 설치에서 Custom activity를 사용해 외부 서비스에 연결하거나 외부 시스템으로 내보내기를 수행하는 경우, 인증서는 https://letsencrypt.org/ 와 같은 공인 인증 기관에서 발급받아야 합니다.

고정 IP 주소

1. Kubernetes API 액세스. 클러스터를 구성하고 관리하기 위해 Kubernetes API 서버 엔드포인트에 액세스하는 가상 IP 주소로 사용되는 고정 IP 주소입니다. IP 주소는 아래와 같이 env_specific.yml 파일에 정의해야 합니다. 자세한 내용은 구성 파일 설정을 참조하십시오:
k8s:
  api:
    ip: X.X.X.X
2. Vantage 서비스 액세스. HTTPS를 통해 Vantage 서비스에 액세스하는 데 사용되는 고정 IP 주소입니다. 이 IP 주소를 위한 DNS A 레코드를 미리 생성해 두어야 합니다. IP 주소는 아래와 같이 env_specific.yml 파일에 정의해야 합니다. 자세한 내용은 Installation을 참조하십시오:
loadbalancer:
  external_ip: X.X.X.X

Vantage 액세스를 위한 DNS 레코드

특별한 요구 사항은 없습니다. 설치 프로그램에는 기본 도메인과 Vantage에 액세스하는 데 사용할 DNS 이름이 필요합니다. DNS 레코드는 Vantage 액세스를 위해 전용으로 할당된 IP 주소를 가리켜야 합니다.

스토리지 요구 사항

외부 스토리지는 고가용성 없음(Without high availability) 구성에서만 선택 사항입니다. 고가용성(Highly available) 구성을 위한 디스크 크기 요구 사항은 Performance Guide에 설명되어 있습니다.ABBYY Vantage는 제공된 가상 머신의 하드 디스크에 로컬 스토리지를 배포하여 제품 설치 속도를 높입니다. 그러나 이 옵션은 여전히 예기치 않은 재부팅 및 가상 머신 장애의 영향을 받을 수 있습니다. 이로 인해 저장 중인 데이터가 손실될 수 있으므로, 설치 시 외부 스토리지 사용을 권장합니다.ABBYY Vantage에서는 아래에 나열된 방식으로 특정 스토리지 유형의 사용을 구성할 수 있습니다.

로컬 스토리지 사용

이 경우, 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를 참조하십시오.
로컬 Persistent Volume 스토리지의 공간이 부족해지면, 일부 데이터가 손실되면서 Vantage가 작동을 멈출 수 있습니다. 여유 공간을 모니터링하고 공간 부족에 대한 알림을 설정하여, 제때 스토리지를 추가하고 데이터 손실을 방지할 것을 권장합니다.

외부 NFS 스토리지 사용

Vantage 설치 프로그램을 사용하면, 공유 폴더로의 가져오기(import) 및 내보내기(export), 모니터링으로 수집된 데이터 저장과 같은 특정 서비스용 Vantage 스토리지로 사용할 NFS 스토리지를 자동으로 구성할 수 있습니다.env_specific.yml 파일의 해당 섹션은 다음과 같습니다:
k8s:
  storage:
    rwx:
      external:
        enabled: true
        type: "nfs"
        nfs:
          address: <NFS 서버 IP 주소>
          path: <NFS 서버 내보낸 공유>
Vantage가 정상적으로 작동하려면 NFS 서버의 루트 디렉터리(예: /opt/nfs)의 권한 및 소유자를 다음과 같이 설정할 것을 권장합니다.
drwxr-xr-x 4 65532 65532 4096 Dec 12 09:25 /opt/nfs/
다음은 Linux 머신을 NFS 서버로 사용할 때 /etc/exports 파일에 지정하는 디렉터리 설정 예시입니다:
/opt/nfs *(rw,sync,all_squash,insecure,no_subtree_check,anonuid=65532,anongid=65532)
다른 스토리지 유형을 추가로 연결해야 하는 경우, 아래의 스토리지 클래스를 직접 정의하기 섹션을 참조하십시오.

스토리지 클래스를 직접 정의하기

NFS 이외의 외부 스토리지를 사용하려면 아래 단계를 따르십시오.
  1. 설치 과정에서 Kubernetes 클러스터를 생성한 후(Running the installation scripts의 단계 4), 적절한 CSI(Container Storage Interface) 드라이버를 배포하고 해당 드라이버용 스토리지 클래스를 생성합니다.
  2. 아래 코드를 사용하여 env_specific.yml 파일의 k8s 섹션을 작성합니다.
k8s:
  storage:
    rwo:
      class_name: "<rwo posix 호환 스토리지 클래스>"
    rwx:
      class_name: "<read_write_many_스토리지_클래스>"
  1. 설치를 계속 진행합니다.
로컬 영구 볼륨 스토리지의 공간이 부족해지면 Vantage가 데이터 손실을 일으키며 작동을 중단할 수 있습니다. 여유 공간을 모니터링하고 경고 알림을 설정하십시오.

Redis 클러스터 (Azure AKS 전용)

Redis 클러스터는 Azure AKS 고가용성(Highly Available) 구성에서만 필수입니다. Virtual Machine 배포나 비고가용성(Non-HA) Azure 배포에서는 필요하지 않습니다.
Azure AKS 고가용성 배포의 경우, 다음과 같은 구성의 외부 Redis 클러스터가 필요합니다:
ConfigurationRequirement
Redis Version6.2 이상
Number of Nodes6개 이상
RAM per Node노드당 4 GB (최소)
Cluster Mode사용
Cluster Password필수
SSH Port22 (구성용)
redis.conf에서 다음 옵션을 설정해야 합니다:
appendonly yes
cluster-config-file nodes-6379.conf
cluster-enabled yes
cluster-node-timeout 5000
cluster-require-full-coverage no
maxclients 10000
maxmemory 2048mb
maxmemory-policy noeviction
repl-backlog-size 256mb
repl-ping-slave-period 5
save ""
slave-serve-stale-data yes
stop-writes-on-bgsave-error no
supervised auto
masterauth <password>
requirepass <password>
maxmemory 값은 각 Redis 노드에서 사용 가능한 메모리의 절반으로 설정해야 합니다. <password>를 클러스터 암호로 바꾸십시오.
Azure Cache for Redis는 현재 지원되지 않습니다. Redis는 AKS 클러스터 외부의 가상 머신에 배포해야 합니다. Azure Cache for Redis 지원은 향후 릴리스에서 제공될 예정입니다.