5.6. 더 빠른 작업 공간 시작을 위해 이미지 캐싱


OpenShift Dev Spaces 작업 공간의 시작 시간 성능을 개선하려면 OpenShift 클러스터의 이미지를 사전 가져오는 데 사용할 수 있는 OpenShift Dev Spaces 관련 구성 요소인 Image Puller를 사용합니다.

Image Puller는 각 노드에서 관련 OpenShift Dev Spaces 작업 공간을 사전 가져오도록 구성할 수 있는 DaemonSet 을 생성하는 추가 OpenShift 배포입니다. 이러한 이미지는 OpenShift Dev Spaces 작업 공간이 시작될 때 이미 사용 가능하므로 작업 공간 시작 시간이 단축됩니다.

5.6.1. Kubernetes 이미지 가져오기 설치

다양한 사용 사례에 대해 Kubernetes Image Puller를 설치하려면 아래 지침을 따르십시오.

5.6.1.1. Kubernetes 이미지 가져오기 설치

5.6.1.2. CLI를 사용하여 OpenShift에 이미지 가져오기 설치

OpenShift oc 관리 툴을 사용하여 OpenShift에 Kubernetes 이미지 가져오기를 설치할 수 있습니다.

중요

oc CLI를 사용하여 ImagePuller를 설치하는 경우 CheCluster 사용자 정의 리소스를 통해 구성할 수 없습니다.

사전 요구 사항

프로세스

  1. doc에 따라 가져올 관련 컨테이너 이미지 목록을 수집합니다. 5.6.3절. “Kubernetes Image Puller의 기본 이미지 목록 검색”
  2. 메모리 요청 및 제한 매개 변수를 정의하여 가져온 컨테이너와 플랫폼에 충분한 메모리가 있는지 확인합니다.

    CACHING_MEMORY_REQUEST 또는 CACHING_MEMORY_LIMIT 에 대한 최소 값을 정의할 때 가져올 각 컨테이너 이미지를 실행하는 데 필요한 메모리 양을 고려하십시오.

    CACHING_MEMORY_REQUEST 또는 CACHING_MEMORY_LIMIT 의 최대 값을 정의할 때 클러스터의 DaemonSet Pod에 할당된 총 메모리를 고려하십시오.

    (memory limit) * (number of images) * (number of nodes in the cluster)
    Copy to Clipboard Toggle word wrap

    컨테이너 메모리 제한 20Mi 를 사용하여 20개의 노드에서 5개의 이미지를 가져오려면 2000Mi 의 메모리가 필요합니다.

  3. 이미지 Puller 리포지토리를 복제하고 OpenShift 템플릿이 포함된 디렉터리에 가져옵니다.

    git clone https://github.com/che-incubator/kubernetes-image-puller
    cd kubernetes-image-puller/deploy/openshift
    Copy to Clipboard Toggle word wrap
  4. 다음 매개변수를 사용하여 app.yaml,configmap.yamlserviceaccount.yaml OpenShift 템플릿을 구성합니다.

    Expand
    표 5.37. app.yaml의 이미지 Puller OpenShift 템플릿 매개변수
    현재의사용법기본

    DEPLOYMENT_NAME

    ConfigMap의 DEPLOYMENT_NAME

    kubernetes-image-puller

    IMAGE

    kubernetes-image-puller 배포에 사용되는 이미지

    registry.redhat.io/devspaces/imagepuller-rhel8

    IMAGE_TAG

    가져올 이미지 태그

    latest

    SERVICEACCOUNT_NAME

    배포에서 생성하고 사용하는 ServiceAccount의 이름

    kubernetes-image-puller

    Expand
    표 5.38. configmap.yaml의 이미지 Puller OpenShift 템플릿 매개변수
    현재의사용법기본

    CACHING_CPU_LIMIT

    ConfigMap의 CACHING_CPU_LIMIT

    .2

    CACHING_CPU_REQUEST

    ConfigMap의 CACHING_CPU_REQUEST

    .05

    CACHING_INTERVAL_HOURS

    ConfigMap의 CACHING_INTERVAL_HOURS 의 값

    "1"

    CACHING_MEMORY_LIMIT

    ConfigMap의 CACHING_MEMORY_LIMIT

    "20Mi"

    CACHING_MEMORY_REQUEST

    ConfigMap의 CACHING_MEMORY_REQUEST

    "10Mi"

    DAEMONSET_NAME

    ConfigMap의 DAEMONSET_NAME

    kubernetes-image-puller

    DEPLOYMENT_NAME

    ConfigMap의 DEPLOYMENT_NAME

    kubernetes-image-puller

    IMAGES

    ConfigMap의 IMAGES

    {}

    NAMESPACE

    ConfigMap의 NAMESPACE

    k8s-image-puller

    NODE_SELECTOR

    ConfigMap의 NODE_SELECTOR

    "{}"

    Expand
    표 5.39. serviceaccount.yaml의 이미지 Puller OpenShift 템플릿 매개변수
    현재의사용법기본

    SERVICEACCOUNT_NAME

    배포에서 생성하고 사용하는 ServiceAccount의 이름

    kubernetes-image-puller

    KIP_IMAGE

    절전 바이너리를 복사하는 이미지 풀러 이미지

    registry.redhat.io/devspaces/imagepuller-rhel8:latest

  5. 이미지 가져오기를 호스팅할 OpenShift 프로젝트를 생성합니다.

    oc new-project <k8s-image-puller>
    Copy to Clipboard Toggle word wrap
  6. 템플릿을 처리하고 적용하여 가져오기를 설치합니다.

    oc process -f serviceaccount.yaml | oc apply -f -
    oc process -f configmap.yaml | oc apply -f -
    oc process -f app.yaml | oc apply -f -
    Copy to Clipboard Toggle word wrap

검증 단계

  1. < kubernetes-image-puller > 배포 및 < kubernetes-image-puller > DaemonSet이 있는지 확인합니다. DaemonSet에는 클러스터의 각 노드에 대한 Pod가 있어야 합니다.

    oc get deployment,daemonset,pod --namespace <k8s-image-puller>
    Copy to Clipboard Toggle word wrap
  2. < kubernetes-image-puller > ConfigMap 의 값을 확인합니다.

    oc get configmap <kubernetes-image-puller> --output yaml
    Copy to Clipboard Toggle word wrap

5.6.1.3. 웹 콘솔을 사용하여 OpenShift에 이미지 Puller 설치

OpenShift 웹 콘솔을 사용하여 OpenShift에 커뮤니티 지원 Kubernetes Image Puller Operator를 설치할 수 있습니다.

사전 요구 사항

프로세스

  1. 커뮤니티 지원 Kubernetes Image Puller Operator를 설치합니다. 웹 콘솔을 사용하여 OperatorHub에서 설치를 참조하십시오.
  2. 커뮤니티 지원 Kubernetes Image Puller Operator에서 kubernetes-image-puller KubernetesImagePuller 피연산자를 생성합니다. 설치된 Operator에서 애플리케이션 생성 을 참조하십시오.

5.6.2. Kubernetes 이미지 가져오기 구성

이 섹션에서는 다양한 사용 사례에 맞게 Kubernetes 이미지 Puller를 구성하는 방법에 대해 설명합니다.

5.6.2.1. Kubernetes 이미지 가져오기 구성

5.6.2.2. 기본 Dev Spaces 이미지를 사전 가져오도록 이미지 Puller 구성

기본 OpenShift Dev Spaces 이미지를 사전 가져오도록 Kubernetes 이미지 가져오기를 구성할 수 있습니다. Red Hat OpenShift Dev Spaces Operator는 사전 가져올 이미지 목록을 제어하고 OpenShift Dev Spaces 업그레이드에서 자동으로 업데이트합니다.

사전 요구 사항

  • 조직의 OpenShift Dev Spaces 인스턴스가 Kubernetes 클러스터에 설치되어 실행 중입니다.
  • 이미지 Puller는 Kubernetes 클러스터에 설치됩니다.
  • 대상 OpenShift 클러스터에 대한 관리 권한이 있는 활성 oc 세션. CLI 시작하기를 참조하십시오.

프로세스

  1. OpenShift Dev Spaces 이미지를 사전 가져오도록 이미지 Puller를 구성합니다.

    oc patch checluster/devspaces \
        --namespace openshift-devspaces \
        --type='merge' \
        --patch '{
                  "spec": {
                    "components": {
                      "imagePuller": {
                        "enable": true
                      }
                    }
                  }
                }'
    Copy to Clipboard Toggle word wrap

5.6.2.3. 사용자 정의 이미지를 사전 가져오도록 이미지 가져오기 구성

사용자 정의 이미지를 사전 가져오도록 Kubernetes 이미지 가져오기를 구성할 수 있습니다.

사전 요구 사항

  • 조직의 OpenShift Dev Spaces 인스턴스가 Kubernetes 클러스터에 설치되어 실행 중입니다.
  • 이미지 Puller는 Kubernetes 클러스터에 설치됩니다.
  • 대상 OpenShift 클러스터에 대한 관리 권한이 있는 활성 oc 세션. CLI 시작하기를 참조하십시오.

프로세스

  1. 사용자 지정 이미지를 사전 가져오도록 이미지 가져오기를 구성합니다.

    oc patch checluster/devspaces \
        --namespace openshift-devspaces \
        --type='merge' \
        --patch '{
                  "spec": {
                    "components": {
                      "imagePuller": {
                        "enable": true,
                        "spec": {
                          "images": "NAME-1=IMAGE-1;NAME-2=IMAGE-2" 
    1
    
                        }
                      }
                    }
                  }
                }'
    Copy to Clipboard Toggle word wrap
    1
    이미지--------------------

5.6.2.4. 추가 이미지를 사전 가져오도록 이미지 가져오기 구성

추가 OpenShift Dev Spaces 이미지를 미리 가져오도록 Kubernetes 이미지 가져오기를 구성할 수 있습니다.

사전 요구 사항

  • 조직의 OpenShift Dev Spaces 인스턴스가 Kubernetes 클러스터에 설치되어 실행 중입니다.
  • 이미지 Puller는 Kubernetes 클러스터에 설치됩니다.
  • 대상 OpenShift 클러스터에 대한 관리 권한이 있는 활성 oc 세션. CLI 시작하기를 참조하십시오.

프로세스

  1. k8s-image-puller 네임스페이스를 생성합니다.

    oc create namespace k8s-image-puller
    Copy to Clipboard Toggle word wrap
  2. KubernetesImagePuller 사용자 정의 리소스를 생성합니다.

    oc apply -f - <<EOF
    apiVersion: che.eclipse.org/v1alpha1
    kind: KubernetesImagePuller
    metadata:
      name: k8s-image-puller-images
      namespace: k8s-image-puller
    spec:
      images: "__NAME-1__=__IMAGE-1__;__NAME-2__=__IMAGE-2__" 
    1
    
    EOF
    Copy to Clipboard Toggle word wrap
    1
    이미지--------------------

5.6.3. Kubernetes Image Puller의 기본 이미지 목록 검색

Kubernetes Image Puller에서 사용하는 기본 이미지 목록을 검색하는 방법을 알아봅니다. 이 기능은 이러한 이미지의 하위 집합만 미리 사용하도록 이미지 Puller를 검토 및 구성하려는 관리자에게 유용할 수 있습니다.

사전 요구 사항

  • 조직의 OpenShift Dev Spaces 인스턴스가 Kubernetes 클러스터에 설치되어 실행 중입니다.
  • 대상 OpenShift 클러스터에 대한 관리 권한이 있는 활성 oc 세션. CLI 시작하기를 참조하십시오.

프로세스

  1. OpenShift Dev Spaces Operator가 배포된 네임스페이스를 찾습니다.

    OPERATOR_NAMESPACE=$(oc get pods -l app.kubernetes.io/component=devspaces-operator -o jsonpath={".items[0].metadata.namespace"} --all-namespaces)
    Copy to Clipboard Toggle word wrap
  2. Image Puller에서 사전 가져올 수 있는 이미지를 확인합니다.

    oc exec -n $OPERATOR_NAMESPACE deploy/devspaces-operator -- cat /tmp/external_images.txt
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat