커스텀 플러그인 설치

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

이 페이지에서는 Cloud Composer 환경에 커스텀 플러그인을 설치하는 방법을 설명합니다.

Apache Airflow 플러그인 관리자를 사용하면 자체적인 커스텀 Apache Airflow 연산자, 후크, 센서 또는 인터페이스를 작성할 수 있습니다. 자세한 내용은 Airflow 문서에서 커스텀 플러그인을 참조하세요.

커스텀 플러그인 정보

사용자가 환경을 만들면 Cloud Composer가 Cloud Storage 버킷을 만들고 사용자 환경과 버킷을 연결합니다. 환경 버킷에서 plugins 폴더를 사용하여 커스텀 플러그인을 설치합니다.

시작하기 전에

플러그인 설치

Cloud Composer 환경에 커스텀 플러그인을 설치하려면 환경 버킷의 plugins 폴더에 플러그인 코드를 복사합니다.

플러그인을 설치하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 환경 페이지로 이동합니다.

    환경으로 이동

  2. 환경을 찾고 DAG 링크를 따릅니다.

  3. 한 수준 위로 이동한 후 plugins/ 폴더로 이동합니다.

  4. 플러그인 파일을 업로드합니다. 객체 업로드에 대한 자세한 내용은 객체 업로드를 참조하세요.

gcloud

다음 gcloud 명령어를 사용합니다.

gcloud composer environments storage plugins import \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    --source PATH_TO_LOCAL_FILE \
    --destination PATH_IN_SUBFOLDER

다음과 같이 바꿉니다.

  • ENVIRONMENT_NAME을 환경 이름으로 바꿉니다.
  • LOCATION을 환경이 있는 리전으로 바꿉니다.
  • PATH_TO_LOCAL_FILE을 업로드할 파일의 경로로 바꿉니다.
  • (선택사항) PATH_IN_SUBFOLDER를 하위 폴더 경로로 바꿉니다. --destination 인수를 사용하여 플러그인을 plugins 폴더의 하위 폴더에 업로드합니다. 그렇지 않으면 --destination 인수를 생략합니다.

플러그인 목록 보기

콘솔

  1. Google Cloud 콘솔에서 환경 페이지로 이동합니다.

    환경으로 이동

  2. 환경을 찾고 DAG 링크를 따릅니다.

  3. 한 수준 위로 이동한 후 plugins/ 폴더로 이동합니다.

  4. 플러그인 파일을 봅니다.

gcloud

다음 gcloud 명령어를 사용합니다.

gcloud composer environments storage plugins list \
    --environment ENVIRONMENT_NAME \
    --location LOCATION

다음과 같이 바꿉니다.

  • ENVIRONMENT_NAME을 환경 이름으로 바꿉니다.
  • LOCATION을 환경이 있는 리전으로 바꿉니다.

플러그인 삭제

Cloud Composer 환경에서 플러그인을 삭제하려면 환경 버킷의 plugins 폴더에서 플러그인 코드를 삭제합니다.

플러그인을 삭제하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 환경 페이지로 이동합니다.

    환경으로 이동

  2. 환경을 찾고 DAG 링크를 따릅니다.

  3. 한 수준 위로 이동한 후 plugins/ 폴더로 이동합니다.

  4. 플러그인 파일을 삭제합니다. 객체 삭제에 대한 자세한 내용은 객체 삭제를 참조하세요.

gcloud

다음 gcloud 명령어를 사용합니다.

gcloud composer environments storage plugins delete \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    PLUGIN_TO_DELETE

플러그인 다운로드

플러그인을 다운로드하려면 옵션을 선택합니다.

콘솔

  1. Google Cloud 콘솔에서 환경 페이지로 이동합니다.

    환경으로 이동

  2. 환경을 찾고 DAG 링크를 따릅니다.

  3. 한 수준 위로 이동한 후 plugins/ 폴더로 이동합니다.

  4. 플러그인 파일을 다운로드합니다. 객체 삭제에 대한 자세한 내용은 객체 다운로드를 참조하세요.

gcloud

다음 gcloud 명령어를 사용합니다.

gcloud composer environments storage plugins export \
  --environment ENVIRONMENT_NAME \
  --location LOCATION \
  --destination PATH_TO_LOCAL_DESTINATION \
  --source PATH_IN_FOLDER

다음과 같이 바꿉니다.

  • ENVIRONMENT_NAME을 환경 이름으로 바꿉니다.
  • LOCATION을 환경이 있는 리전으로 바꿉니다.
  • PATH_TO_LOCAL_DESTINATION을 다운로드한 파일의 대상 위치로 바꿉니다.
  • (선택사항) --source는 플러그인을 하나만 다운로드하는 옵션입니다. PATH_IN_FOLDER는 폴더 경로입니다.

웹 서버 플러그인 사용 중지

Cloud Composer 3에서 Airflow UI 문제가 발생하면 환경 버킷에서 웹 서버 플러그인을 삭제하지 않고 사용 중지할 수 있습니다.

gcloud

다음 Google Cloud CLI 인수는 웹 서버 플러그인을 사용 중지 및 사용 설정합니다.

  • --no-support-web-server-plugins: 웹 서버 플러그인을 사용 중지합니다.
  • --support-web-server-plugins: 웹 서버 플러그인을 사용 설정합니다.

웹 서버 플러그인을 사용 중지하려면 다음 Google Cloud CLI 명령어를 실행합니다.

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --no-support-web-server-plugins

웹 서버 플러그인을 사용 설정하려면 다음 Google Cloud CLI 명령어를 실행합니다.

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --support-web-server-plugins

다음을 바꿉니다.

  • ENVIRONMENT_NAME: 환경의 이름입니다.
  • LOCATION: 환경이 위치한 리전입니다.

API

  1. environments.patch API 요청을 만듭니다.

  2. 이 요청의 작성 방법:

    1. updateMask 매개변수에서 config.software_config.web_server_plugins_mode 마스크를 지정합니다.

    2. 요청 본문의 web_server_plugins_mode 필드에서 다음을 수행합니다.

      • 웹 서버 플러그인을 사용 중지하려면 PLUGINS_DISABLED를 지정합니다.
      • 웹 서버 플러그인을 사용 설정하려면 PLUGINS_ENABLED를 지정합니다.

예시(플러그인 사용 중지):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_DISABLED"
   }
}

예시(플러그인 사용 설정):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_ENABLED"
   }
}

플러그인 문제 해결

플러그인으로 인한 Airflow UI 문제 발생

웹 서버 플러그인은 삭제하지 않고도 사용 중지할 수 있습니다. 자세한 내용은 웹 서버 플러그인 사용 중지를 참조하세요.

새로 업로드된 플러그인이 Airflow UI에 표시되지 않음

Airflow UI 액세스 제어를 사용하는 경우 새로 업로드된 플러그인이 Airflow UI에 표시되지 않을 수 있습니다. 이 문제를 해결하려면 새로 업로드된 플러그인에 대해 액세스 권한을 구성하거나 Airflow UI에서 Admin 역할을 자신에게 할당하도록 Airflow UI 관리자에게 요청하세요.

다음 단계