Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
이 페이지에서는 Cloud Composer 환경에 커스텀 플러그인을 설치하는 방법을 설명합니다.
Apache Airflow 플러그인 관리자를 사용하면 자체적인 커스텀 Apache Airflow 연산자, 후크, 센서 또는 인터페이스를 작성할 수 있습니다. 자세한 내용은 Airflow 문서에서 커스텀 플러그인을 참조하세요.
커스텀 플러그인 정보
사용자가 환경을 만들면 Cloud Composer가 Cloud Storage 버킷을 만들고 사용자 환경과 버킷을 연결합니다. 환경 버킷에서 plugins
폴더를 사용하여 커스텀 플러그인을 설치합니다.
시작하기 전에
- 계정에 환경의 버킷 콘텐츠를 보고 수정할 수 있는 역할이 있어야 합니다.
- 이 설치 방법은 Airflow 플러그인에만 적용됩니다. 예를 들어 일반적인 Python 모듈이나 다른 라이브러리를 설치할 때는 이 방법을 사용할 수 없습니다.
- 플러그인은 Airflow 플러그인 템플릿 가이드라인을 준수해야 합니다.
플러그인 설치
Cloud Composer 환경에 커스텀 플러그인을 설치하려면 환경 버킷의 plugins
폴더에 플러그인 코드를 복사합니다.
플러그인을 설치하려면 다음 안내를 따르세요.
콘솔
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
인수를 생략합니다.
플러그인 목록 보기
콘솔
Google Cloud 콘솔에서 환경 페이지로 이동합니다.
환경을 찾고 DAG 링크를 따릅니다.
한 수준 위로 이동한 후
plugins/
폴더로 이동합니다.플러그인 파일을 봅니다.
gcloud
다음 gcloud
명령어를 사용합니다.
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
다음과 같이 바꿉니다.
ENVIRONMENT_NAME
을 환경 이름으로 바꿉니다.LOCATION
을 환경이 있는 리전으로 바꿉니다.
플러그인 삭제
Cloud Composer 환경에서 플러그인을 삭제하려면 환경 버킷의 plugins
폴더에서 플러그인 코드를 삭제합니다.
플러그인을 삭제하려면 다음 안내를 따르세요.
콘솔
gcloud
다음 gcloud
명령어를 사용합니다.
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
플러그인 다운로드
플러그인을 다운로드하려면 옵션을 선택합니다.
콘솔
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
environments.patch
API 요청을 만듭니다.이 요청의 작성 방법:
updateMask
매개변수에서config.software_config.web_server_plugins_mode
마스크를 지정합니다.요청 본문의
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 관리자에게 요청하세요.