Spegel
Stateless cluster local OCI registry mirror.
사용 사례
Spegel은 다음 중 하나를 수행하려는 경우에 적합합니다.
- 명시적인 구성 없이 외부 레지스트리의 이미지를 로컬로 캐시합니다.
- 외부 레지스트리 가동 중지 시간 동안 클러스터 오류를 방지합니다.
- 먼저 로컬 캐시에서 이미지를 가져와서 이미지 가져오기 속도와 Pod 시작 시간을 개선하세요.
- 외부 레지스트리(예: Docker Hub)에서 이미지를 가져올 때 속도 제한을 피하세요.
- 클러스터 네트워크 외부로 나가는 트래픽을 줄입니다.
- 엣지 노드 배포에서 이미지 가져오기 효율성을 높입니다.
Background
Kubernetes는 여러 노드에 워크로드를 분산하는 데 탁월한 성능을 발휘합니다. 가동 시간에 영향을 주지 않고 노드 오류가 발생하도록 허용합니다. 이것이 작동하기 위한 중요한 구성 요소는 각 노드가 시작되기 전에 워크로드 이미지를 가져올 수 있어야 한다는 것입니다. 노드에서 실행되는 각 복제본에는 가져오기 작업이 발생합니다. 이미지는 클라우드 공급자, 공용 레지스트리 또는 자체 호스팅 레지스트리 내의 지리적으로 가까운 레지스트리에서 가져올 수 있습니다. 이 프로세스는 각 노드가 별도로 왕복을 해야 한다는 단점이 있습니다. 노드가 서로 이미지를 공유할 수 없는 이유는 무엇입니까?
Spegel을 사용하면 Kubernetes 클러스터의 각 노드가 로컬 레지스트리 미러 역할을 하여 노드가 서로 이미지를 공유할 수 있습니다. 노드에서 이미 가져온 이미지는 클러스터의 다른 노드에서 가져올 수 있습니다.
이는 이미지가 클러스터 내에 로컬로 저장되므로 워크로드 시작 시간과 송신 트래픽을 줄이는 이점이 있습니다. 또한 외부 레지스트리가 다운된 경우에도 새 작업 부하를 예약할 수 있습니다.