Google Distributed Cloud는 장애 범위를 제한하고 비즈니스 연속성에 중요한 기능을 우선시하도록 설계되었습니다. 이 문서에서는 실패가 발생할 때 클러스터 기능이 받는 영향에 대해 설명합니다. 이 정보는 문제가 있을 때 문제를 해결할 영역의 우선순위를 결정하는 데 도움이 됩니다.
추가 지원이 필요하면 Cloud Customer Care에 문의하세요.Google Distributed Cloud의 핵심 기능에는 다음 카테고리가 포함됩니다.
- 워크로드 실행: 기존 워크로드를 계속 실행할 수 있습니다. 이는 비즈니스 연속성을 유지하는 데 가장 중요한 고려사항입니다. 클러스터에 문제가 있어도 기존 워크로드는 중단 없이 계속 실행될 수 있습니다.
- 워크로드 관리: 워크로드를 생성, 업데이트, 삭제할 수 있습니다. 클러스터에 문제가 있더라도 트래픽이 증가할 때 워크로드를 확장할 수 있다는 점에서 두 번째로 중요한 고려사항입니다.
- 사용자 클러스터 관리: 노드를 관리하고 사용자 클러스터를 업데이트, 업그레이드, 삭제할 수 있습니다. 애플리케이션 수명 주기 고려사항보다는 덜 중요합니다. 기존 노드에 사용 가능한 용량이 있는 경우 사용자 클러스터를 수정할 수 없어도 사용자 워크로드에 영향을 미치지 않습니다.
- 관리자 클러스터 관리: 관리자 클러스터를 업데이트하고 업그레이드할 수 있습니다.
- 별도의 관리자 클러스터와 사용자 클러스터를 사용하는 배포의 경우 관리자 클러스터가 사용자 워크로드를 호스팅하지 않으므로 가장 중요성이 낮은 고려사항입니다. 관리자 클러스터에 문제가 있어도 다른 클러스터의 애플리케이션 워크로드가 중단 없이 계속 실행됩니다.
- 하이브리드 또는 독립형과 같은 다른 배포 모델을 사용하는 경우 관리자 클러스터가 애플리케이션 워크로드를 실행합니다. 관리자 클러스터에 문제가 있고 컨트롤 플레인이 다운되면 애플리케이션 워크로드나 사용자 클러스터 구성요소도 관리할 수 없습니다.
다음 섹션에서는 이러한 핵심 기능 카테고리를 사용하여 특정 유형의 실패 시나리오가 미치는 영향을 설명합니다. 실패 시나리오의 일부로 중단이 발생하면 가능한 경우 중단 기간 (순서)도 기록됩니다.
노드 실패
Google Distributed Cloud의 노드가 작동을 중단하거나 네트워크에서 연결되지 않을 수 있습니다. 실패한 머신이 속한 노드 풀과 클러스터에 따라 여러 가지 실패 모드가 있습니다.
컨트롤 플레인 노드
다음 표는 Google Distributed Cloud의 컨트롤 플레인에 속하는 노드의 동작을 간략하게 설명합니다.
워크로드 실행 | 워크로드 관리 | 사용자 클러스터 관리 | 관리자 클러스터 관리 | |
---|---|---|---|---|
중단(기간) | 중단 없음 | 가능한 중단(알 수 없음) | 가능한 중단(알 수 없음) | 가능한 중단(알 수 없음) |
설명 | — | 노드 실패가 고가용성(HA) 외의 사용자 클러스터의 단일 컨트롤 플레인 노드에 영향을 미치거나 HA 사용자 클러스터의 컨트롤 플레인 노드 중 절반 이상에 영향을 미치는 경우 중단이 발생합니다. 사용자 클러스터의 컨트롤 플레인 쿼럼이 손실됩니다. | 노드 실패가 HA 외의 관리자 클러스터의 단일 컨트롤 플레인 노드에 영향을 미치거나 HA 관리자 클러스터의 컨트롤 플레인 노드 중 절반 이상에 영향을 미치는 경우 중단이 발생합니다. 관리자 클러스터의 컨트롤 플레인 쿼럼이 손실됩니다. | 노드 실패가 HA 외의 관리자 클러스터의 단일 컨트롤 플레인 노드에 영향을 미치거나 HA 관리자 클러스터의 컨트롤 플레인 노드 중 절반 이상에 영향을 미치는 경우 중단이 발생합니다. 관리자 클러스터의 컨트롤 플레인 쿼럼이 손실됩니다. |
복구 | — | 자세한 내용은 쿼럼 손실 복구 방법을 참조하세요. | 자세한 내용은 쿼럼 손실 복구 방법을 참조하세요. | 자세한 내용은 쿼럼 손실 복구 방법을 참조하세요. |
예방 방법 | — | HA 모드로 사용자 클러스터를 배포하여 중단 가능성을 최소화합니다. | HA 모드로 관리자 클러스터를 배포하여 중단 가능성을 최소화합니다. | HA 모드로 관리자 클러스터를 배포하여 중단 가능성을 최소화합니다. |
부하 분산기 노드
다음 표에는 Google Distributed Cloud에서 부하 분산기를 호스팅하는 노드의 동작이 요약되어 있습니다. 이 안내는 레이어 2 모드의 번들 부하 분산기에만 적용됩니다. 수동 부하 분산의 경우 외부 부하 분산기의 장애 모드를 확인합니다.
워크로드 실행 | 워크로드 관리 | 사용자 클러스터 관리 | 관리자 클러스터 관리 | |
---|---|---|---|---|
중단(기간) | 가능한 중단(다양한 값) | 가능한 중단(다양한 값) | 가능한 중단(다양한 값) | 가능한 중단(다양한 값) |
설명 | 외부 워크로드에서 데이터 영역 부하 분산기를 사용하여 클러스터의 워크로드와 통신하고 부하 분산기 노드가 하나뿐인 경우 중단이 발생합니다. | 사용자 클러스터의 컨트롤 플레인 가상 IP 주소가 부하 분산기 노드 하나에 있습니다. 사용자 클러스터의 부하 분산기 노드 풀이 HA가 아니면 중단이 발생합니다. | 관리자 클러스터의 컨트롤 플레인 가상 IP 주소가 부하 분산기 노드 하나에 있습니다. 관리자 클러스터의 부하 분산기 노드 풀이 HA가 아니면 중단이 발생합니다. | 관리자 클러스터의 컨트롤 플레인 가상 IP 주소가 부하 분산기 노드 하나에 있습니다. 관리자 클러스터의 부하 분산기 노드 풀이 HA가 아니면 중단이 발생합니다. |
복구 | 부하 분산기 노드가 여러 개 있는 경우 MetalLB 장애 조치가 몇 초 내에 수행됩니다. HA가 아닌 경우 추가 부하 분산기 노드를 배포하는 것이 좋습니다. |
HA인 경우 장애 조치가 초 단위로 자동 수행됩니다. HA가 아닌 경우 추가 부하 분산기 노드를 배포하는 것이 좋습니다. |
HA인 경우 장애 조치가 초 단위로 자동 수행됩니다. HA가 아닌 경우 추가 부하 분산기 노드를 배포하는 것이 좋습니다. |
HA인 경우 장애 조치가 초 단위로 자동 수행됩니다. HA가 아닌 경우 추가 부하 분산기 노드를 배포하는 것이 좋습니다. |
예방 방법 | 중단 가능성을 최소화하려면 HA 모드로 부하 분산기 노드 풀을 배포합니다. | 중단 가능성을 최소화하려면 HA 모드로 부하 분산기 노드 풀을 배포합니다. | 중단 가능성을 최소화하려면 HA 모드로 부하 분산기 노드 풀을 배포합니다. | 중단 가능성을 최소화하려면 HA 모드로 부하 분산기 노드 풀을 배포합니다. |
워커 노드
다음 표에는 Google Distributed Cloud의 워커 노드 동작이 요약되어 있습니다.
워크로드 실행 | 워크로드 관리 | 사용자 클러스터 관리 | 관리자 클러스터 관리 | |
---|---|---|---|---|
중단(기간) | 가능한 중단(초 단위) | 중단 없음 | 중단 없음 | 중단 없음 |
설명 | 실패한 노드에서 실행되는 사용자 애플리케이션에 예비 워크로드 용량이 있고 여러 노드에 분산되어 있는 경우 재시도를 구현하는 클라이언트는 이 중단을 파악할 수 없습니다. 정상 노드에서 |
— | — | — |
복구 | 클러스터에 예비 용량이 없는 경우 여러 장애 영역에 분산된 더 많은 노드를 배포하고 실패한 워크로드를 새 노드로 이동해야 합니다. | — | — | — |
예방 방법 | 여러 장애 영역에 분산되는 노드를 배포합니다. 다수의 장애 영역에 여러 복제본이 분산된 워크로드를 배포하여 중단 가능성을 최소화합니다. |
— | — | — |
스토리지 오류
Google Distributed Cloud의 스토리지가 작동을 중지하거나 네트워크에서 연결할 수 없게 될 수 있습니다. 실패한 스토리지에 따라 여러 가지 오류 모드가 있습니다.
etcd
노드의 비정상적인 전원 차단이나 스토리지에 근본적인 장애가 발생하면 /var/lib/etcd
및 /var/lib/etcd-events
디렉터리의 콘텐츠가 손상될 수 있습니다. 다음 표에서는 etcd
실패에 따른 핵심 기능의 동작을 간략하게 설명합니다.
워크로드 실행 | 워크로드 관리 | 사용자 클러스터 관리 | 관리자 클러스터 관리 | |
---|---|---|---|---|
중단(기간) | 중단 없음 | 가능한 중단(알 수 없음) | 가능한 중단(알 수 없음) | 가능한 중단(알 수 없음) |
설명 | 기존 워크로드가 Kubernetes 컨트롤 플레인을 사용하지 않아도 중단 없이 계속 작동합니다. | etcd 가 단일 컨트롤 플레인 사용자 클러스터에서 실패하거나 HA 사용자 클러스터의 컨트롤 플레인 노드 중 절반 이상에서 실패하면 중단이 발생합니다. 사용자 클러스터의 컨트롤 플레인 쿼럼이 손실됩니다. |
etcd 가 단일 컨트롤 플레인 관리자 클러스터에서 실패하거나 HA 관리자 클러스터의 컨트롤 플레인 노드 중 절반 이상에서 실패하면 중단이 발생합니다. 관리자 클러스터의 컨트롤 플레인 쿼럼이 손실됩니다. |
etcd 가 단일 컨트롤 플레인 관리자 클러스터에서 실패하거나 HA 관리자 클러스터의 컨트롤 플레인 노드 중 절반 이상에서 실패하면 중단이 발생합니다. 관리자 클러스터의 컨트롤 플레인 쿼럼이 손실됩니다. |
복구 | — | 자세한 내용은 쿼럼 손실 복구 방법을 참조하세요. | 자세한 내용은 쿼럼 손실 복구 방법을 참조하세요. | 자세한 내용은 쿼럼 손실 복구 방법을 참조하세요. |
예방 방법 | — | 중단 가능성을 최소화하려면 사용자 클러스터를 HA 모드로 배포합니다. | 중단 가능성을 최소화하려면 관리자 클러스터를 HA 모드로 배포합니다. | 중단 가능성을 최소화하려면 관리자 클러스터를 HA 모드로 배포합니다. |
사용자 애플리케이션 PersistentVolume
다음 표에서는 PersistentVolume
실패에 따른 핵심 기능의 동작을 간략하게 설명합니다.
워크로드 실행 | 워크로드 관리 | 사용자 클러스터 관리 | 관리자 클러스터 관리 | |
---|---|---|---|---|
중단(기간) | 가능한 중단(알 수 없음) | 중단 없음 | 중단 없음 | 중단 없음 |
설명 | 실패한 PersistentVolume 를 사용하는 워크로드 |
— | — | — |
복구 | — | — | — | — |
예방 방법 | 중단 가능성을 최소화하려면 사용자 워크로드를 HA 모드로 배포합니다. | — | — | — |
Fluent Bit 손상 디스크
Fluent Bit 디스크의 손상은 핵심 기능에는 영향을 미치지 않지만 Google Cloud에서 로그를 수집하고 검사하는 기능에는 영향을 미칩니다.
stackdriver-log-forwarder
의 로그에서 SIGSEGV
이벤트가 관측될 수도 있습니다. 이 오류는 디스크의 손상된 버퍼링된 로그로 인해 발생할 수 있습니다.
Fluent Bit에는 손상된 청크를 필터링하고 삭제하는 메커니즘이 있습니다. 이 기능은 Google Distributed Cloud에서 사용되는 fluent-bit 버전(v1.8.3)에서 사용할 수 있습니다.
LoadBalancer
IP 소진
할당된 풀의 모든 IP 주소를 현재 사용 중인 경우 새로 만든 LoadBalancer
서비스가 LoadBalancer
IP 주소를 얻을 수 없습니다. 이 시나리오는 서비스 클라이언트가 LoadBalancer
서비스와 통신하는 기능에 영향을 미칩니다.
이 IP 주소 소진을 복구하려면 클러스터 커스텀 리소스를 수정하여 더 많은 IP 주소를 주소 풀에 할당합니다.
인증서 만료
Google Distributed Cloud는 클러스터 설치 프로세스 중에 자체 서명 인증 기관(CA)을 생성합니다. CA의 만료 기간은 10년이며 1년 후에 만료되는 인증서 생성을 담당합니다. 클러스터 다운타임을 방지하기 위해 인증서를 정기적으로 순환합니다. 클러스터를 업그레이드하는 권장 방법으로 인증서를 순환할 수 있습니다. 클러스터를 업그레이드할 수 없는 경우 주문형 CA 순환을 수행할 수 있습니다. 클러스터 인증서에 대한 자세한 내용은 Kubernetes 문서의 PKI 인증서 및 요구사항을 참조하세요.
클러스터 인증서가 만료된 경우 수동으로 갱신해야 합니다.
워크로드 실행 | 워크로드 관리 | 사용자 클러스터 관리 | 관리자 클러스터 관리 | |
---|---|---|---|---|
중단(기간) | 중단 없음 | 가능한 중단(알 수 없음) | 가능한 중단(알 수 없음) | 가능한 중단(알 수 없음) |
설명 | 사용자 워크로드가 Kubernetes 컨트롤 플레인 구성요소와 통신하지 않으면 중단이 발생하지 않습니다. | 사용자 클러스터의 인증 기관이 만료되면 중단이 발생합니다. | 관리자 클러스터의 인증 기관이 만료되면 중단이 발생합니다. | 사용자 클러스터의 인증 기관이 만료되면 중단이 발생합니다. |
복구 | — | 사용자 클러스터에서 수동으로 인증서를 갱신하는 단계를 따릅니다. |
사용자 클러스터에서 수동으로 인증서를 갱신하는 단계를 따릅니다. |
사용자 클러스터에서 수동으로 인증서를 갱신하는 단계를 따릅니다. |
예방 방법 | 인증서 만료 모니터링을 설정합니다. 측정항목 예시 kubelet_certificate_manager_server_expiration_seconds 는 측정항목 목록에서 확인할 수 있습니다. |
업그레이드 실패
워크로드 실행 | 워크로드 관리 | 사용자 클러스터 관리 | 관리자 클러스터 관리 | |
---|---|---|---|---|
중단(기간) | 중단 없음 | 중단 없음 | 가능한 중단(알 수 없음) | 가능한 중단(알 수 없음) |
설명 | 사용자 클러스터 컨트롤 플레인에서 업그레이드가 실패해도 기존 워크로드가 중단되지 않습니다. 특정 워커 노드에서 업그레이드가 실패하면 해당 노드의 워크로드가 드레이닝되고 다른 정상 노드에 추가 용량이 있으면 해당 정상 노드로 이동합니다. |
컨트롤 플레인 노드 중 하나가 업그레이드에 실패하면 업그레이드가 중지됩니다. 사용자 클러스터가 HA인 경우 업그레이드가 실패하더라도 클러스터가 계속 작동합니다. | 관리자 클러스터 컨트롤 플레인에서 업그레이드가 실패하면 업그레이드가 완료될 때까지 중단이 발생합니다. | 관리자 클러스터 컨트롤 플레인에서 업그레이드가 실패하면 업그레이드가 완료될 때까지 중단이 발생합니다. |
복구 | — | — | 업그레이드를 다시 시도할 수 있습니다. 자세한 내용은 업그레이드 문제를 진단하고 재개하는 방법을 참조하세요. | 업그레이드를 다시 시도할 수 있습니다. 자세한 내용은 업그레이드 문제를 진단하고 재개하는 방법을 참조하세요. |
예방 방법 | — | — | 자세한 내용은 업그레이드 전에 백업을 만드는 방법을 참조하세요. | 자세한 내용은 업그레이드 전에 백업을 만드는 방법을 참조하세요. |
다음 단계
알려진 제품 문제 및 해결 방법에 대한 자세한 내용은 Google Distributed Cloud의 알려진 문제 참조하기
- 추가 지원이 필요하면 Cloud Customer Care에 문의하기