이 주제에서는 Apigee Hybrid의 최소 클러스터 구성을 설명합니다. 이러한 최소 구성은 지원되는 모든 Kubernetes 플랫폼에 적용됩니다. 이 주제의 권장사항은 무료 체험판 또는 테스트 시나리오와 같은 비프로덕션 설치에 적용됩니다. Apigee Hybrid 설치 단계를 수행할 때는 다음 권장사항에 유의하세요.
노드 풀 정보
노드 풀은 클러스터 내에서 구성이 모두 동일한 노드 그룹입니다. 기본적으로 하이브리드는 모든 pod를 기본 노드 풀에 할당합니다. 그러나 전용 노드 풀을 만들고 여기에 하이브리드 구성요소를 할당하여 리소스를 배포할 수 있습니다.
일반적으로 리소스 요구사항이 서로 다른 pod가 있는 경우 전용 노드 풀을 정의합니다. 예를 들어 apigee-cassandra
pod에는 영구 스토리지가 필요하지만 다른 Apigee Hybrid pod에는 필요하지 않습니다. 따라서 Cassandra용 스테이트풀(Stateful) 노드 풀과 나머지 하이브리드 런타임 서비스용 스테이트리스(Stateless) 노드 풀을 만드는 것이 좋습니다. 자세한 내용은 전용 노드 풀 구성을 참조하세요.
다음 섹션에는 스테이트풀(Stateful) 및 스테이트리스(Stateless) 노드 풀의 구성이 모두 나와 있습니다.
최소 구성
클러스터를 설정할 때 다음 최소 구성을 사용하세요.
구성 | 스테이트풀(Stateful) 노드 풀 | 스테이트리스(Stateless) 노드 풀 |
---|---|---|
목적 | Cassandra 데이터베이스의 스테이트풀(Stateful) 노드 풀 | 런타임 메시지 프로세서에 사용되는 스테이트리스(Stateless) 노드 풀 |
라벨 이름 | apigee-data | apigee-runtime |
노드 수 | 영역당 1개(리전당 3개) | 영역당 1개(리전당 3개) |
CPU | 4 | 4 |
RAM | 15 | 15 |
스토리지 | 동적 | ApigeeDeployment CRD로 관리 |
최소 디스크 IOPS | SAN 또는 직접 연결된 스토리지를 사용하는 경우 2,000IOPS. NFS는 필요한 IOPS를 지원할 수 있는 경우에도 권장되지 않습니다. | SAN 또는 직접 연결된 스토리지를 사용하는 경우 2,000IOPS. NFS는 필요한 IOPS를 지원할 수 있는 경우에도 권장되지 않습니다. |
Cassandra 네트워크 요구사항
Cassandra는 Gossip 프로토콜을 사용하여 네트워크 토폴로지에 대한 정보를 다른 노드와 교환합니다.
읽기 및 쓰기 작업을 위해 여러 노드와 통신해야 하는 Cassandra의 분산 특성과 Gossip를 함께 사용하면 네트워크를 통해 많은 데이터가 전송됩니다.
프로덕션 시스템에서는 최소 1Gbps 네트워크 대역폭과 1Gbps 이상의 인스턴스 유형을 사용하는 것이 좋습니다.
Cassandra 클러스터에는 프로덕션 환경에서 가용성을 유지하기 위해 3개의 가용성 영역이 필요합니다. 한 영역이 다운되면 영역이 온라인 상태로 전환되는 동안 나머지 영역이 요청에 계속 응답합니다. 영역 2개 이상이 작동 중단되면 Cassandra는 최소 2개 이상의 영역이 다시 온라인 상태가 될 때까지 요청에 응답할 수 없습니다. Apigee에서는 데이터 업데이트가 누락될 위험을 최소화하기 위해 3시간 이내에 영역을 다시 온라인으로 전환하는 것이 권장됩니다.
멀티 리전 하이브리드 환경을 배포하는 경우 Apigee는 VPN 또는 Google Cloud VPN과 같은 클라우드 솔루션을 사용하여 리전 간 연결을 보호하는 것이 좋습니다. Cassandra 연결 문제가 발생할 수 있으므로 서브넷이 겹치지 않는지 확인하세요. 현재 방화벽 구성이 Cassandra 포드 간에 Cassandra 트래픽의 통과를 허용하는지 확인합니다. Cassandra 포트에 대한 자세한 내용은 보안 포트 사용을 참조하세요.
Cassandra의 최대 또는 99번째 백분위수 지연 시간은 100밀리초 미만이어야 합니다.
Cassandra NTP 요구사항
Cassandra 데이터는 시스템의 타임스탬프를 기준으로 동기화됩니다. 시간이 Cassandra 클러스터 내의 모든 포드와 모든 리전에서 동기화되었는지 확인합니다. 노드와 리전 간의 시간 지연으로 인해 데이터 불일치가 발생합니다.
구성 확장
추가 용량 또는 처리량 요구에 따라 초기 구성을 확장해야 하는 경우 다음 주제를 참조하세요.