2장. Helm 차트를 사용하여 AKS에 개발자 허브 배포


AKS(Azure Kubernetes Service)에 Developer Hub 애플리케이션을 배포하여 애플리케이션을 빌드, 테스트 및 배포하기 위한 포괄적인 솔루션에 액세스할 수 있습니다.

사전 요구 사항

  • 활성 서브스크립션이 있는 Microsoft Azure 계정이 있어야 합니다.
  • Azure CLI 를 설치했습니다.
  • kubectl CLI 를 설치했습니다.
  • kubectl 을 사용하여 클러스터에 로그인하고 개발자 또는 관리자 권한이 있어야 합니다.
  • Helm 3 또는 최신 버전을 설치했습니다.

기본 Developer Hub 배포와 AKS 세부 사항 비교

  • 권한 문제: Developer Hub 컨테이너에 특정 작업을 시도할 때 Permission denied 와 같은 권한 관련 오류가 발생할 수 있습니다. 이 오류는 PodSpec.securityContextfsGroup 을 조정하여 해결할 수 있습니다.
  • Ingress 구성: AKS에서는 설치된 Developer Hub 인스턴스에 액세스하려면 Ingress를 구성해야 합니다. Developer Hub 인스턴스에 액세스하려면 다음 명령을 사용하여 NGINX 기반 Ingress 컨트롤러인 라우팅 애드온을 활성화해야 합니다.

    az aks approuting enable --resource-group <your_ResourceGroup> --name <your_ClusterName>
    Copy to Clipboard
    작은 정보

    Azure CLI 확장 aks-preview 를 설치해야 할 수 있습니다. 확장 기능이 자동으로 설치되지 않은 경우 다음 명령을 사용하여 수동으로 설치해야 할 수 있습니다.

    az extension add --upgrade -n aks-preview --allow-preview true
    Copy to Clipboard
    참고

    Ingress 컨트롤러를 설치하면 Ingress 컨트롤러가 있는 app-routing-system 네임스페이스가 클러스터에 배포됩니다. 설치된 Ingress 컨트롤러의 개발자 허브 애플리케이션 주소(예: 108.141.70.228)는 나중에 < app_address >로 참조되는 Developer Hub 애플리케이션에 액세스할 수 있습니다.

    kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
    Copy to Clipboard
  • 네임스페이스 관리: 다음 명령을 사용하여 AKS에 Developer Hub 배포를 위한 전용 네임스페이스를 생성할 수 있습니다.

    kubectl create namespace <your_namespace>
    Copy to Clipboard

프로세스

  1. 다음 명령을 실행하여 AKS에 로그인합니다.

    az login [--tenant=<optional_directory_name>]
    Copy to Clipboard
  2. 다음 명령을 실행하여 리소스 그룹을 생성합니다.

    az group create --name <resource_group_name> --location <location>
    Copy to Clipboard
    작은 정보

    다음 명령을 실행하여 사용 가능한 리전을 나열할 수 있습니다.

    az account list-locations -o table
    Copy to Clipboard
  3. 다음 명령을 실행하여 AKS 클러스터를 생성합니다.

    az aks create \
    --resource-group <resource_group_name> \
    --name <cluster_name> \
    --enable-managed-identity \
    --generate-ssh-keys
    Copy to Clipboard

    추가 옵션은 --help 를 참조할 수 있습니다.

  4. 다음 명령을 실행하여 클러스터에 연결합니다.

    az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>
    Copy to Clipboard

    이전 명령은 Kubernetes 클라이언트를 구성하고 kubeconfig 의 현재 컨텍스트를 AKS 클러스터를 가리키도록 설정합니다.

  5. 터미널을 열고 다음 명령을 실행하여 Helm 차트 리포지터리를 추가합니다.

    helm repo add openshift-helm-charts https://charts.openshift.io/
    Copy to Clipboard
  6. < my-rhdh-project> 네임스페이스를 생성하고 활성화합니다.

    DEPLOYMENT_NAME=<redhat-developer-hub>
    NAMESPACE=<rhdh>
    kubectl create namespace ${NAMESPACE}
    kubectl config set-context --current --namespace=${NAMESPACE}
    Copy to Clipboard
  7. 다음 명령을 실행하여 Red Hat Ecosystem에서 Developer Hub 이미지를 가져오는 데 사용되는 풀 시크릿을 생성합니다.

    kubectl -n $NAMESPACE create secret docker-registry rhdh-pull-secret \
        --docker-server=registry.redhat.io \
        --docker-username=<redhat_user_name> \
        --docker-password=<redhat_password> \
        --docker-email=<email>
    Copy to Clipboard
  8. 다음 템플릿을 사용하여 values.yaml 이라는 파일을 생성합니다.

    global:
      host: <app_address>
    route:
      enabled: false
    upstream:
      ingress:
        enabled: true
        className: webapprouting.kubernetes.azure.com
        host:
      backstage:
        image:
          pullSecrets:
            - rhdh-pull-secret
        podSecurityContext:
          fsGroup: 3000
      postgresql:
        image:
          pullSecrets:
            - rhdh-pull-secret
        primary:
          podSecurityContext:
            enabled: true
            fsGroup: 3000
      volumePermissions:
        enabled: true
    Copy to Clipboard
  9. Helm 차트를 사용하여 개발자 허브를 설치하려면 다음 명령을 실행합니다.

    helm -n $NAMESPACE install -f values.yaml $DEPLOYMENT_NAME openshift-helm-charts/redhat-developer-hub --version 1.6.2
    Copy to Clipboard
  10. 배포 상태를 확인합니다.

    kubectl get deploy $DEPLOYMENT_NAME -n $NAMESPACE
    Copy to Clipboard
  11. 클러스터의 Developer Hub 데이터베이스 암호 및 라우터 기본 URL 값을 사용하여 Developer Hub Helm 차트 인스턴스를 구성합니다.

    PASSWORD=$(kubectl get secret redhat-developer-hub-postgresql -o jsonpath="{.data.password}" | base64 -d)
    CLUSTER_ROUTER_BASE=$(kubectl get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//')
    helm upgrade $DEPLOYMENT_NAME -i "https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.6.2/redhat-developer-hub-1.6.2.tgz" \
        --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE" \
        --set global.postgresql.auth.password="$PASSWORD"
    Copy to Clipboard
  12. 다음 명령을 실행하여 실행 중인 Developer Hub 인스턴스 URL을 표시합니다.

    echo "https://$DEPLOYMENT_NAME-$NAMESPACE.$CLUSTER_ROUTER_BASE"
    Copy to Clipboard

검증

  • 브라우저에서 실행 중인 Developer Hub 인스턴스 URL을 열어 개발자 허브를 사용합니다.

업그레이드

  • 배포를 업그레이드하려면 다음 명령을 실행합니다.

    helm upgrade $DEPLOYMENT_NAME -i https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.6.2/redhat-developer-hub-1.6.2.tgz
    Copy to Clipboard

삭제

  • 배포를 삭제하려면 다음 명령을 실행합니다.

    helm -n $NAMESPACE delete $DEPLOYMENT_NAME
    Copy to Clipboard
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat