/learn 페이지는 모든 Ayakaleaf Pro 파드의 web 서비스(learn 모듈)가 WIKI_URL에 설정된 위키의 캐시에서 제공합니다. 이 모듈의 동작과 사용할 수 있는 위키에 대해서는 LaTeX 사용자 도움말 추가를 참고하세요.
구성
30-config.yaml (additions)
WIKI_URL에 접근할 수 있어야 합니다. 접근할 수 없으면 web 서비스가 시작 중에 실패하고 파드 내부에서 계속 재시작되어 파드가 준비 상태가 되지 않습니다. 모듈을 끄거나 파드가 위키로 나갈 수 있도록 허용하세요. 캐시가 생성된 후에는 위키에 접근할 수 없는 동안에도 파드가 시작되고 캐시된 페이지를 제공합니다.
여러 레플리카
각 레플리카는 자신이 실행되는 노드의 디스크에 자체 캐시를 유지하므로, 각 레플리카가 최초 시작 시 위키를 다운로드합니다.podManagementPolicy: OrderedReady를 사용하면 하나씩 차례로 다운로드합니다. 다른 레플리카에서 페이지가 갱신되기 전까지는 사용자가 약간 다른 버전의 페이지를 볼 수 있습니다.
Kubernetes에서의 테스트
HAProxy 뒤에 세 개의 레플리카를 두고 각 레플리카가 최초 시작 시https://learnwiki.overleaf.com을 자신의 노드 캐시로 다운로드하도록 한 Kubernetes 1.37 환경에서, /learn에 대한 엔드투엔드 테스트(12개 케이스)가 통과했습니다. 테스트 항목은 헤더의 Documentation 링크, 환영 메시지와 에디터의 Help 메뉴, 목차 사이드바, 위키 내부의 페이지·링크·리디렉션, 위키에서 불러온 이미지, 알 수 없는 페이지에 대한 404, 공개 접근이 없을 때의 로그인 요구, 그리고 WIKI_URL을 접근할 수 없는 주소로 변경한 후 캐시에서 제공되는 오래된 페이지입니다. 빈 캐시 상태에서 WIKI_URL이 연결을 거부하는 주소를 가리키도록 하고 시작했을 때, 파드는 재시작 없이 준비되지 않은 상태로 남았고, 그 안의 web 서비스는 3분 동안 77번 시작했다가 실패했습니다.
