참고: 표준 서비스는 Cloud Service Mesh 버전 1.6.8 이상에서 자동으로 지원됩니다.
asmcli를 사용하여 Cloud Service Mesh를 설치하거나 업그레이드할 경우 표준 서비스 컨트롤러를 클러스터에 배포합니다. 표준 서비스 컨트롤러는 같은 논리 서비스에 속하는 워크로드를 그룹화하며 Google Cloud 콘솔에서 서비스 대시보드의 전체 기능에 필요합니다. 컨트롤러를 배포하면 asm-system 네임스페이스의 클러스터에 canonical-service-controller-manager 배포가 생성되고 서비스 또는 워크로드에 영향을 미치지 않습니다.
asmcli 도구를 사용하여 Cloud Service Mesh를 설치하지 않은 경우 클러스터에서 표준 서비스 컨트롤러가 사용 설정되어 있지 않을 수 있습니다. 클러스터에서 표준 서비스 컨트롤러가 사용 설정되어 있는지 확인하려면 다음 안내를 따르세요.
kubectlgetservices-nasm-system
클러스터 내 표준 서비스 컨트롤러 사용 설정
표준 서비스 컨트롤러가 사용 설정되어 있지 않으면 다음 단계를 따라 사용 설정할 수 있습니다.
클러스터 내 컨트롤러를 설치하지 않으려면 대신 관리형 표준 서비스 컨트롤러를 사용 설정할 수 있습니다. 그러면 컨트롤러를 직접 설치하거나 관리할 필요 없이 메시에서 모든 등록된 클러스터에 대해 동일한 기능을 수행합니다.
기본적으로는 클러스터 내 컨트롤러가 관리형 컨트롤러보다 우선 적용됩니다.
클러스터 내 컨트롤러에서 마이그레이션하는 경우 관리형 컨트롤러가 사용되도록 하려면 실행되는 각 클러스터에서 클러스터 내 컨트롤러를 삭제해야 합니다. 자세한 내용은 클러스터 내 표준 서비스 컨트롤러 사용 중지를 참조하세요.
관리형 컨트롤러를 사용 설정하려면 다음 안내를 따르세요.
GKE 클러스터 생성
새 GKE 클러스터를 만들 때 Cloud Service Mesh 사용 설정 옵션을 사용한 경우 관리형 표준 서비스 컨트롤러가 기본적으로 설치됩니다.
projects/<your project number>/locations/global/memberships/<your cluster name>:
code: OK
description: |-
Revision(s) ready for use: asm-managed.
All Canonical Services have been reconciled successfully.
servicemeshFeatureState: {}
updateTime: '2021-11-16T21:10:36.289467777Z'
표준 서비스가 성공적으로 조정되지 않으면 오류 메시지 또는 다음 메시지와 비슷한 출력이 표시됩니다.
projects/<your project number>/locations/global/memberships/<your cluster name>:
code: OK
description: |-
Revision(s) ready for use: istiod-asm-173-6.
The Managed Canonical Service Controller is yielding to the in-cluster controller. See https://cloud.google.com/service-mesh/v1.21/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.
servicemeshFeatureState: {}
updateTime: '2021-11-16T21:05:43.286828851Z'
lifecycleState: ENABLED
관리형 제어 영역 설치
관리형 Cloud Service Mesh를 설치한 경우(Fleet API 또는 asmcli 사용) 관리형 표준 서비스 컨트롤러가 기본적으로 설치됩니다.
projects/<your project number>/locations/global/memberships/<your cluster name>:
code: OK
description: |-
Revision(s) ready for use: asm-managed.
All Canonical Services have been reconciled successfully.
servicemeshFeatureState: {}
updateTime: '2021-11-16T21:10:36.289467777Z'
표준 서비스가 성공적으로 조정되지 않으면 오류 메시지 또는 다음 메시지와 비슷한 출력이 표시됩니다.
projects/<your project number>/locations/global/memberships/<your cluster name>:
code: OK
description: |-
Revision(s) ready for use: istiod-asm-173-6.
The Managed Canonical Service Controller is yielding to the in-cluster controller. See https://cloud.google.com/service-mesh/v1.21/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.
servicemeshFeatureState: {}
updateTime: '2021-11-16T21:05:43.286828851Z'
lifecycleState: ENABLED
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-30(UTC)"],[],[],null,["# Enabling and disabling the Canonical Service controller\n=======================================================\n\n\n**Note:** Canonical Services are supported automatically in Cloud Service Mesh version 1.6.8 and higher.\n\nWhen you install or upgrade Cloud Service Mesh using `asmcli`, it deploys the\n[Canonical Service controller](https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages/blob/master/asm/canonical-service/controller.yaml)\nto your cluster. The Canonical Service controller groups workloads belonging to\nthe same logical service and is required for the full functionality of\nthe Services dashboard in the Google Cloud console. Deploying the controller\ncreates the `canonical-service-controller-manager` deployment in your cluster in\nthe `asm-system` namespace, and does not affect your services or workloads.\n\nIf you didn't use the `asmcli` tool to install Cloud Service Mesh, you might\nnot have the Canonical Service controller enabled on your cluster. To determine\nif the Canonical Service controller is enabled on your cluster: \n\n kubectl get services -n asm-system\n\nEnable the in-cluster Canonical Service controller\n--------------------------------------------------\n\nIf the Canonical Service controller isn't enabled, you can enable it with\nthe following steps:\n\n1. Download the `kpt` package that contains the controller to the current working\n directory:\n\n kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.22 asm\n\n2. Apply the controller configuration:\n\n kubectl apply -f asm/canonical-service/controller.yaml\n\nDisable the in-cluster Canonical Service controller\n---------------------------------------------------\n\nIf you want to disable the Canonical Service controller:\n\n1. Download the kpt package that contains the controller to the current working\n directory:\n\n kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.22 asm\n\n2. Delete the controller from your cluster:\n\n kubectl delete -f asm/canonical-service/controller.yaml\n\nEnable the Managed Canonical Service Controller\n-----------------------------------------------\n\n| **Platform note:** Managed Canonical Service Controller is not supported on software-only Google Distributed Cloud (on VMware or bare metal).\n\nIf you would prefer not to install the in-cluster controller, you can instead\nenable the Managed Canonical Service Controller, which performs the same\nfunction for all the registered clusters in your mesh without the need to\ninstall or manage the controller yourself.\n\nThe managed controller is designed to yield to the in-cluster controller.\nIf you are migrating from the in-cluster controller, you must delete the\nin-cluster controller from each cluster it is running on for the managed\ncontroller to take over. For more information, see\n[Disable the in-cluster Canonical Service controller](#disable-in-cluster-service-controller).\n\nTo enable the Managed controller: \n\n### GKE cluster creation\n\nIf you used the **Enable Cloud Service Mesh** option when creating a new\nGKE cluster, then the\nManaged Canonical Service Controller was installed by default.\n\nEnsure you are running the Managed Canonical Service Controller by running the\nfollowing command: \n\n```\ngcloud beta container hub mesh describe --project=PROJECT_ID\n```\n\nThe description states that the Canonical Services are reconciled successfully: \n\n projects/\u003cyour project number\u003e/locations/global/memberships/\u003cyour cluster name\u003e:\n code: OK\n description: |-\n Revision(s) ready for use: asm-managed.\n All Canonical Services have been reconciled successfully.\n servicemeshFeatureState: {}\n updateTime: '2021-11-16T21:10:36.289467777Z'\n\nIf the Canonical Services aren't reconciled successfully, there will either be\nan error message, or an output similar to the following message: \n\n projects/\u003cyour project number\u003e/locations/global/memberships/\u003cyour cluster name\u003e:\n code: OK\n description: |-\n Revision(s) ready for use: istiod-asm-173-6.\n The Managed Canonical Service Controller is yielding to the in-cluster controller. See https://cloud.google.com/service-mesh/v1.21/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.\n servicemeshFeatureState: {}\n updateTime: '2021-11-16T21:05:43.286828851Z'\n lifecycleState: ENABLED\n\n### Managed control plane installation\n\nIf you installed managed Cloud Service Mesh (with the fleet API or with\n`asmcli`, then the Managed Canonical Service Controller was installed by\ndefault.\n\nEnsure you are running the Managed Canonical Service Controller by running the\nfollowing command: \n\n```\ngcloud beta container hub mesh describe --project=PROJECT_ID\n```\n\nThe description states that the Canonical Services are reconciled successfully: \n\n projects/\u003cyour project number\u003e/locations/global/memberships/\u003cyour cluster name\u003e:\n code: OK\n description: |-\n Revision(s) ready for use: asm-managed.\n All Canonical Services have been reconciled successfully.\n servicemeshFeatureState: {}\n updateTime: '2021-11-16T21:10:36.289467777Z'\n\nIf the Canonical Services aren't reconciled successfully, there will either be\nan error message, or an output similar to the following message: \n\n projects/\u003cyour project number\u003e/locations/global/memberships/\u003cyour cluster name\u003e:\n code: OK\n description: |-\n Revision(s) ready for use: istiod-asm-173-6.\n The Managed Canonical Service Controller is yielding to the in-cluster controller. See https://cloud.google.com/service-mesh/v1.21/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.\n servicemeshFeatureState: {}\n updateTime: '2021-11-16T21:05:43.286828851Z'\n lifecycleState: ENABLED\n\nWhat's next\n-----------\n\nLearn about:\n\n- [Canonical Services](/service-mesh/v1.21/docs/canonical-service)\n- [Best practices in Canonical Services](/service-mesh/v1.21/docs/canonical-service-best-practices)\n- [Define a Canonical Service](/service-mesh/v1.21/docs/define-canonical-service)\n- [Resolving Canonical Service issues](/service-mesh/v1.21/docs/troubleshooting/troubleshoot-canonical-service)"]]