이 페이지에서는 스크립트에 사용 가능한 인수를 설명하고 스크립트가 프로젝트 및 GKE 클러스터에 적용하는 변경사항에 대한 세부정보를 제공합니다.
옵션
-p|--project_id CLUSTER_PROJECT_ID
- 클러스터가 생성된 프로젝트의 프로젝트 ID입니다.
-n|--cluster_name CLUSTER_NAME
- 클러스터의 이름입니다.
-l|--cluster_location CLUSTER_LOCATION
- 클러스터가 생성된 영역(단일 영역 클러스터) 또는 리전(리전 클러스터용)입니다.
-m|--mode {install|migrate|upgrade}
Istio의 새 설치, 업그레이드 또는 마이그레이션에는
--mode install
을 사용할 수 있습니다. 업그레이드 또는 마이그레이션에--mode install
을 사용하면install_asm
은 클러스터의 제어 영역 버전에 관계없이 업그레이드/마이그레이션을 허용합니다.migrate
및upgrade
플래그는 이전 부 버전 또는 이전 패치 버전에서의 업그레이드 또는 마이그레이션만 허용합니다.업그레이드 또는 마이그레이션에
--mode install
을 사용하는 경우 현재 클러스터에서 사용 설정된 동일한 인증 기관(CA)을 지정해야 합니다. CA를 변경하면 다운타임이 발생합니다.--upgrade
플래그에서는 CA를 변경할 수 없으므로 부적절한 다운타임이 방지됩니다.Istio에서 마이그레이션하는 경우 CA를 변경하고 Anthos Service Mesh 인증 기관(Mesh CA)을 사용 설정할 수 있습니다. Mesh CA로의 마이그레이션을 위한 다운타임을 예약할 수 없는 경우에도 Mesh CA로의 마이그레이션 경로는 있지만 추가 단계가 필요합니다. 자세한 내용은 Mesh CA로 마이그레이션을 참조하세요.
-c|--ca {mesh_ca|citadel}
새 설치의 경우 Mesh CA를 사용하려면 스크립트가 기본적으로 Mesh CA로 설정되므로 이 옵션을 포함할 필요가 없습니다. 업그레이드의 경우 스크립트에서 CA 변경이 허용되지 않으므로 이 옵션을 포함할 필요가 없습니다. 마이그레이션의 경우에는
citadel
또는mesh_ca
를 지정합니다. 마이그레이션을 위한 다운타임을 예약할 수 있는 경우mesh_ca
를 사용하는 것이 좋습니다. 사용할 CA에 대한 자세한 내용은 인증 기관 선택을 참조하세요. Istio CA를 사용할 때 지정해야 하는 추가 옵션은 Istio CA 커스텀 인증서 옵션을 참조하세요.--co|--custom_overlay YAML_FILE
기본적으로 사용 설정되지 않은 기능을 사용 설정하기 위한
IstioOperator
커스텀 리소스(CR) YAML 파일의 이름입니다. 스크립트가 YAML 파일을 찾을 수 있어야 합니다. 따라서 파일이 스크립트와 동일한 디렉터리에 있어야 하거나, 상대 경로를 지정할 수도 있습니다. 여러 파일을 추가하려면--co|--custom_overlay
및 파일 이름을 지정합니다(예:--co overlay_file1.yaml --co overlay_file2.yaml --co overlay_file3.yaml
).-o|--option OPTION_FILE
IstioOperator
CR이 포함된anthos-service-mesh
패키지의 YAML 파일 이름으로서 선택적 기능을 사용 설정하는 데 사용됩니다. 이러한 파일 중 하나를 포함할 때는anthos-service-mesh
패키지를 먼저 다운로드할 필요가 없으며.yaml
확장 프로그램을 지정하지 않습니다. 파일을 수정해야 하면anthos-service-mesh
패키지를 다운로드하고, 항목을 변경하고,--custom_overlay
옵션을 사용합니다. 여러 파일을 추가하려면-o|--option
및 파일 이름을 지정합니다(예:-o option_file1 -o option_file2 -o option_file3
).-D|--output_dir DIR_PATH
지정하지 않으면, 스크립트가 Anthos Service Mesh 설치에 필요한 파일 및 구성을 다운로드할 임시 디렉터리를 만듭니다.
--output-dir
플래그를 지정하여 대신 사용할 디렉터리의 상대 경로를 지정합니다. 완료되면 지정된 디렉터리에asm
및istio-1.10.6-asm.2
하위 디렉터리가 포함됩니다.asm
디렉터리에는 설치 구성이 포함됩니다.istio-1.10.6-asm.2
디렉터리에는istioctl
, 샘플, 매니페스트를 비롯한 설치 파일에서 추출한 콘텐츠가 포함됩니다.--output-dir
을 지정하고 디렉터리에 이미 필요한 파일이 포함된 경우 스크립트가 이를 다운로드하는 대신 해당 파일을 사용합니다.-r|--revision_name REVISION NAME>
버전 라벨은 제어 영역에 설정된 키-값 쌍입니다. 버전 라벨 키는 항상
istio.io/rev
입니다. 기본적으로 스크립트는 Anthos Service Mesh 버전을 기준으로 버전 라벨 값을 설정합니다(예:asm-1106-2
). 기본값을 재정의하고 직접 지정하려면 이 옵션을 포함하세요.REVISION NAME
인수는 DNS-1035 라벨이어야 하고 소문자, 영숫자 문자 또는-
로 구성되어야 하며 영문자로 시작하고 영숫자 문자(예:my-name'
또는abc-123
)로 끝나야 합니다. 검증에 사용되는 정규식은'[a-z]([-a-z0-9]*[a-z0-9])?')
입니다.-s|--service_account ACCOUNT
Anthos Service Mesh를 설치하는 데 사용되는 서비스 계정의 이름입니다. 지정하지 않으면 현재
gcloud
구성의 활성 사용자 계정이 사용됩니다. 활성 사용자 계정을 변경해야 하는 경우 gcloud auth login을 실행합니다.-k|--key_file FILE_PATH
서비스 계정의 키 파일입니다. 서비스 계정을 사용하지 않으면 이 옵션을 생략합니다.
Citadel 커스텀 인증서 옵션
--ca citadel
을 지정했고 커스텀 CA를 사용하는 경우, 다음 옵션을 포함합니다.
--ca_cert FILE_PATH
: 중간 인증서--ca_key FILE_PATH
: 중간 인증서의 키--root_cert FILE_PATH
: 루트 인증서--cert_chain FILE_PATH
: 인증서 체인
자세한 내용은 기존 CA 인증서 연결을 참조하세요.
사용 설정 플래그
--enable
로 시작하는 플래그를 사용하면 스크립트가 필수 Google API를 사용 설정하고 필수 Identity and Access Management(IAM) 권한을 설정하고 클러스터를 업데이트할 수 있습니다. 원하는 경우 멀티 프로젝트 설치 가이드의 프로젝트 설정 및 클러스터 설정 섹션에 설명된 대로, 스크립트를 실행하기 전에 프로젝트 및 클러스터를 직접 업데이트할 수 있습니다. 이러한 플래그는 모두 --only_validate
와 호환되지 않으며 스크립트는 이 경우 오류와 함께 종료됩니다.
-e|--enable_all
- 스크립트가 아래에 설명된 모든 개별 사용 설정 작업을 수행하도록 허용합니다.
--enable_cluster_roles
- 스크립트를 실행하는 GCP 사용자 또는 서비스 계정을 클러스터의
cluster-admin
역할에 결합하도록 스크립트를 허용합니다. 스크립트에서gcloud config get-value core/account
명령어를 통해 사용자 계정을 결정합니다. 사용자 계정을 사용해 스크립트를 로컬에서 실행하는 경우 스크립트를 실행하기 전에gcloud auth login
명령어를 호출해야 합니다. 사용자 계정을 변경해야 하는 경우gcloud config set core/account GCP_EMAIL_ADDRESS
명령어를 실행합니다. 여기서 GCP_EMAIL_ADDRESS는 Google Cloud에 로그인할 때 사용하는 계정입니다. --enable_cluster_labels
- 스크립트가 필수 클러스터 라벨을 설정하도록 허용합니다.
--enable_gcp_components
스크립트가 다음 필수 Google Cloud 관리형 서비스 및 구성요소를 사용 설정하도록 허용합니다.
GKE 애플리케이션에서 Google Cloud 서비스에 안전하게 액세스하는 데 권장되는 워크로드 아이덴티티를 사용 설정합니다.
GKE에서 Cloud Monitoring 및 Cloud Logging을 사용 설정합니다.
--enable_gcp_apis
스크립트가 모든 필수 Google API를 사용 설정하도록 허용합니다.
--enable_gcp_iam_roles
스크립트가 필수 IAM 권한을 설정하도록 허용합니다.
--enable_registration
스크립트가 클러스터가 있는 프로젝트에 클러스터를 등록할 수 있도록 허용합니다. 이 플래그를 포함하지 않는 경우에는 클러스터 등록의 단계에 따라 클러스터를 수동으로 등록합니다. 다른 사용 설정 플래그와 달리
--enable_registration
은 클러스터 등록이 필요한 옵션(예:--option vm
또는--option hub-meshca
)을 지정할 때만--enable_all
에 포함됩니다. 그렇지 않으면 이 플래그를 별도로 지정해야 합니다.
기타 플래그
--dry_run
- 명령어를 출력하지만 실행하지는 않습니다.
--only_validate
- 유효성 검사를 실행하지만 프로젝트 또는 클러스터를 업데이트하지 않고 Anthos Service Mesh를 설치하지 않습니다. 이 플래그는 사용 설정 플래그와 호환되지 않습니다. 사용 설정 플래그로
--only_validate
를 지정하면 스크립트가 오류와 함께 종료됩니다. --print_config
- Anthos Service Mesh를 설치하는 대신 모든 컴파일된 YAML을 표준 출력(stdout)으로 출력합니다. 다른 모든 출력은 일반적으로 stdout으로 이동하더라도 표준 오류(stderr)에 기록됩니다. 이 플래그를 지정하면 스크립트는 모든 검증 및 설정을 건너 뜁니다.
--disable_canonical_service
- 기본적으로 이 스크립트는 표준 서비스 컨트롤러를 클러스터에 배포합니다. 스크립트에서 컨트롤러를 배포하지 않으려면
--disable_canonical_service
를 지정합니다. 자세한 내용은 표준 서비스 컨트롤러 사용 설정 및 중지를 참조하세요. -h|--help
- 선택사항과 플래그를 설명하는 도움말 메시지를 표시하고 종료합니다.
-v|--verbose
- 스크립트가 실행될 때 다음에 실행될 명령어를 인쇄합니다.
--verbose
플래그를 사용하면 스크립트가 실행된 후 명령어를 인쇄합니다. --version
install_asm
버전을 인쇄하고 종료합니다. 명령어가 버전을 출력하지 않으면 최신 버전의install_asm_1.10
을 다운로드하세요.
스크립트 이해
안전한 Cloud Source Repositories 위치에서 스크립트를 다운로드하더라도 해당 스크립트는 GitHub에서도 사용할 수 있기 때문에 다운로드하기 전에 스크립트의 기능을 확인할 수 있습니다. 이 스크립트는 프로젝트 및 클러스터가 Anthos Service Mesh 요구사항을 충족하는지 검증하고 프로젝트와 클러스터를 구성하기 위해 수동으로 하는 모든 단계를 자동화하고 istioctl install
명령어를 사용하여 Anthos Service Mesh를 설치합니다.
Anthos Service Mesh 1.10.6에서 release-1.10-asm
분기에 install_asm
스크립트의 버전을 사용합니다. 버전 관리 및 출시 프로세스에 대한 설명은 버전 관리/출시를 참조하세요.
검증
install_asm
스크립트는 다음을 확인합니다.
- 매개변수 값으로 입력한 프로젝트 ID, 클러스터 이름, 클러스터 위치가 유효합니다.
- 클러스터가 최소 필수 머신 유형 및 노드 수를 충족합니다.
프로젝트 설정
필요한 역할
--enable_all
또는 --enable_gcp_iam_roles
플래그를 포함했으면 스크립트가 필수 IAM 권한을 설정합니다.
필수 Google API
--enable_all
또는 --enable_apis
플래그를 포함했다면 스크립트는 필수 APIS를 사용 설정합니다.
클러스터 설정
--enable_all
플래그 또는 아래 나열된 더 세분화된 사용 설정 플래그 중 하나가 포함된 경우 스크립트는 클러스터에 다음 업데이트를 수행합니다.
클러스터 업데이트 | 플래그 |
---|---|
GKE 애플리케이션에서 Google Cloud 서비스에 안전하게 액세스하는 데 권장되는 워크로드 아이덴티티를 사용 설정합니다. | --enable_gcp_components |
GKE에서 Cloud Monitoring 및 Cloud Logging을 사용 설정합니다. | --enable_gcp_components |
Google Cloud 콘솔의 Anthos Service Mesh 페이지에 측정항목을 표시하는 데 필요한 mesh_id 라벨을 클러스터에서 설정합니다. |
--enable_cluster_labels |
스크립트가 클러스터를 수정했는지 확인할 수 있도록 asmv=asm-1106-2 과 같은 라벨을 설정합니다.
|
--enable_cluster_labels |
스크립트를 실행하는 GCP 사용자 또는 서비스 계정을 클러스터의 cluster-admin 역할에 결합합니다. | --enable_cluster_roles |