Work API 개요

Work API Overview
Work API 개요

여러 클러스터에 작업 부하를 분산시키기 위한 공통 워크 API입니다.

1 용어[ | ]

  • 워크 허브(Work Hub)는 워크 API 리소스가 존재하는 쿠버네티스 클러스터입니다.
  • 매니지드 클러스터(Managed Cluster) 또는 스포크 클러스터는 워크 허브에 의해 관리되는 쿠버네티스 클러스터입니다. 워크 API에 정의된 워크로드 리소스는 관리 클러스터에 적용됩니다.
  • 워크 컨트롤러(Work Controller)는 워크 허브에서 워크 API 리소스를 조정하고, 워크에 정의된 리소스를 관리 클러스터에 적용하는 컨트롤러입니다.

2 개요[ | ]

워크는 클러스터에 배포할 API 리소스 목록을 나타내는 커스텀 리소스입니다. 워크는 워크 허브에 생성되며, 워크 컨트롤러가 접근 권한을 가진 네임스페이스에 존재합니다. 워크 허브에서 워크를 생성하는 것은 관리 클러스터의 특정 위치에 워크에 정의된 리소스를 적용할 것을 나타냅니다. 워크의 업데이트는 관리 클러스터의 리소스 업데이트를 트리거하며, 워크의 삭제는 관리 클러스터에서 리소스를 자동으로 정리합니다.

3 예제[ | ]

apiVersion: multicluster.x-k8s.io/v1alpha1
kind: Work
metadata:
  name: work-sample
  namespace: cluster1
spec:
  workload:
    manifests:
    - apiVersion: v1
      kind: ConfigMap
      metadata:
        name: cm
        namespace: default
      data:
        ui.properties: |
          color=purple

사용자는 워크 허브에서 워크 컨트롤러가 접근 권한을 가진 cluster1 네임스페이스에 워크를 생성합니다. 그 후, 워크 컨트롤러는 관리 클러스터에 접근하여 조정 루프 내에서 워크에 정의된 리소스를 적용합니다. 워크 컨트롤러는 작업된 리소스의 상태를 추적하여 워크 상태를 업데이트합니다.

4 구현[ | ]

이 워크 API 프로젝트는 API와 공통 동작을 중심으로 하고, 다양한 구현 가능성을 남겨둡니다. GitHub 레포지토리에 참조 구현이 제공됩니다.

보다 발전된 워크 API 구현을 위해서는 다음을 참고하세요:

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}