이 페이지에서는 Google Cloud 콘솔에서 구성 동기화를 사용하여 패키지를 관리하는 방법을 설명합니다.
패키지는 정보 소스에서 관리되고 구성 동기화를 통해 클러스터에 동기화되는 Kubernetes 리소스 객체 매니페스트의 집합입니다. 각 패키지 정의는 클러스터의 RootSync 또는 RepoSync 객체에 포함됩니다.
RootSync 및 RepoSync 객체에 대한 자세한 내용은 구성 동기화 아키텍처를 참조하세요.
클러스터를 Fleet에 등록하고 구성 동기화를 설치한 후 구성 동기화를 구성하여 정보 소스에서 클러스터에 패키지를 배포할 수 있습니다. 동일한 패키지를 여러 클러스터에 배포하거나 서로 다른 패키지를 여러 클러스터에 배포할 수 있습니다.
패키지 이름 및 동기화 유형과 같은 일부 설정을 제외하고는 패키지를 배포한 후 편집할 수 있습니다. 자세한 내용은 패키지 관리를 참조하세요.
패키지 배포를 위한 클러스터 선택 테이블에서 패키지를 배포할 클러스터를 선택한 후 계속을 클릭합니다.
Git에서 호스팅되는 패키지 또는 OCI에서 호스팅된 패키지를 소스 유형으로 선택하고 계속을 클릭합니다.
패키지 세부정보 섹션에 RootSync 또는 RepoSync 객체를 식별하는 패키지 이름을 입력합니다.
동기화 유형 필드에서 클러스터 범위 동기화 또는 네임스페이스 범위 동기화를 동기화 유형으로 선택합니다.
클러스터 범위 동기화는 RootSync 객체를 만들고 네임스페이스 범위 동기화는 RepoSync 객체를 만듭니다.
이러한 객체에 대한 자세한 내용은 구성 동기화 아키텍처를 참조하세요.
소스 섹션에서 다음을 완료합니다.
Git 저장소에서 호스팅되는 소스의 경우 다음 필드를 입력하세요.
저장소 URL로 정보 소스로 사용하는 Git 저장소의 URL을 입력합니다.
(선택사항): 기본 HEAD를 사용하지 않는지 확인하려면 버전 필드를 업데이트합니다.
(선택사항): 루트 저장소에서 동기화하지 않으려면 경로 필드를 업데이트합니다.
(선택사항): 기본 main 브랜치를 사용하지 않는 경우 브랜치 필드를 업데이트합니다.
OCI 이미지에서 호스팅되는 소스의 경우 다음 필드를 입력합니다.
정보 소스로 사용하는 OCI 이미지의 URL을 이미지로 입력합니다.
루트 디렉터리를 기준으로 동기화할 디렉터리의 경로를 디렉터리로 입력합니다.
(선택사항): 고급 설정 섹션을 펼친 후 다음을 완료합니다.
인증 유형을 선택합니다. 구성 동기화는 소스의 구성 파일을 읽고 이를 클러스터에 적용할 수 있도록 정보 소스에 대한 읽기 전용 액세스 권한이 필요합니다.
공개 저장소와 같이 소스에 인증이 필요하지 않은 경우를 제외하고 구성 동기화에 Git 저장소, OCI 이미지 또는 Helm 차트(gcloud CLI만 해당)에 대한 읽기 전용 액세스 권한을 부여해야 합니다.
구성 동기화를 설치할 때 구성한 것과 동일한 인증 유형을 선택합니다.
None: 인증을 사용하지 않습니다.
SSH: SSH 키 쌍을 사용하여 인증합니다.
Cookiefile: cookiefile을 사용하여 인증합니다.
토큰: 액세스 토큰 또는 비밀번호를 사용하여 인증합니다.
Google Cloud Repository: Google 서비스 계정을 사용하여 Cloud Source Repositories 저장소에 액세스합니다. GKE용 워크로드 아이덴티티 제휴가 클러스터에 사용 설정되지 않은 경우에만 이 옵션을 선택합니다.
워크로드 아이덴티티: Google 서비스 계정을 사용하여 Cloud Source Repositories 저장소에 액세스합니다.
동기화 대기 시간을 설정하려면 숫자(초)를 입력하세요. 여기서는 구성 동기화가 정보 소스에서 가져오기를 시도할 때 대기하는 시간을 결정합니다.
정보 소스와 통신할 때 사용될 HTTPS 프록시의 Git 프록시 URL을 입력합니다.
계층 구조를 선택하여 소스 형식을 변경합니다.
기본값인 구조화되지 않음은 원하는 방식으로 소스를 구성할 수 있으므로 대부분의 경우에 권장됩니다.
패키지 배포를 클릭합니다.
구성 동기화 패키지 페이지로 리디렉션됩니다. 몇 분 후에 구성한 클러스터의 동기화 상태 열에 Synced(동기화됨)가 표시됩니다.
[[["이해하기 쉬움","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-04-21(UTC)"],[],[],null,["# Manage packages\n\nThis page explains how to manage packages with Config Sync from the Google Cloud console.\n\nA *package* is a set of Kubernetes resource object manifests that are managed in\na and synced to a cluster by Config Sync. Each package\ndefinition is contained in a *RootSync* or *RepoSync* object on the cluster.\nFor more detailed information about RootSync and RepoSync objects, see\n[Config Sync architecture](/kubernetes-engine/enterprise/config-sync/docs/concepts/architecture#rootsync-reposync).\n\nBefore you begin\n----------------\n\n- [Install Config Sync](/kubernetes-engine/enterprise/config-sync/docs/how-to/installing-config-sync).\n\nDeploy a package\n----------------\n\nAfter you have registered your clusters to a fleet and installed Config Sync,\nyou can configure Config Sync to deploy a package to a cluster from a\n. You can deploy the same package\nto multiple clusters or deploy different packages to different clusters.\nYou can edit a package after deploying it, except for some settings like\npackage name and sync type. For more information, see\n[Manage packages](/kubernetes-engine/enterprise/config-sync/docs/how-to/manage-packages).\n| **Note:** If you want Config Sync to render and apply a Helm chart, you must [configure Config Sync with the Google Cloud CLI](/kubernetes-engine/enterprise/config-sync/docs/how-to/installing-config-sync#configuring-config-sync) instead.\n\nTo deploy a package, complete the following steps:\n\n1. In the Google Cloud console, go to the **Config Sync dashboard**.\n\n [Go to Config Sync dashboard](https://console.cloud.google.com/kubernetes/config_management)\n2. Click **Deploy Package**.\n\n3. In the **Select clusters for package deployment** table, select the cluster\n that you want to deploy a package to and then click **Continue**.\n\n4. Select either **Package hosted on Git** or **Package hosted on OCI** as\n your source type and then click **Continue**.\n\n5. In the **Package details** section, enter a **Package name**, which\n identifies the RootSync or RepoSync object.\n\n6. In the **Sync type** field, choose either **Cluster scoped sync** or **Namespace scoped sync** as\n the sync type.\n\n Cluster scoped sync creates a RootSync object and Namespace scoped sync creates a RepoSync object.\n For more information about these objects, see\n [Config Sync architecture](/kubernetes-engine/enterprise/config-sync/docs/concepts/architecture#rootsync-reposync).\n7. In the **Source** section, complete the following:\n\n - For sources hosted in a Git repository, enter the following fields:\n\n 1. Enter the URL of the Git repository that you're using as a source of truth as the **Repository URL**.\n 2. Optional: Update the **Revision** field to check out if you're not using the default `HEAD`.\n 3. Optional: Update the **Path** field if you don't want to sync from the root repository.\n 4. Optional: Update the **Branch** field if you're not using the default `main` branch.\n - For sources hosted in an OCI image, enter the following fields:\n\n 1. Enter the URL of the OCI image that you're using as a source of truth as the **Image**.\n 2. Enter the path of the directory to sync from, relative to the root directory, as the **Directory**.\n8. (Optional): Expand the **Advanced settings** section to complete the following:\n\n 1. Select an **Authentication type** . Config Sync needs read-only access to\n your source of truth to read the configuration files in the source and apply them to your clusters.\n Unless your source requires no authentication, such as a public repository,\n ensure that you grant Config Sync\n read-only access to your [Git repository](/kubernetes-engine/enterprise/config-sync/docs/how-to/installing-config-sync#git-creds-secret),\n [OCI image](/kubernetes-engine/enterprise/config-sync/docs/how-to/installing-config-sync#oci-access), or [Helm chart](/kubernetes-engine/enterprise/config-sync/docs/how-to/installing-config-sync#helm-access) (gcloud CLI only).\n Choose the same authentication type that you configured when you installed\n Config Sync:\n\n | **Note:** for OCI, you can only select **Workload Identity** for authentication.\n - **None**: Use no authentication.\n - **SSH**: Authenticate by using an SSH key pair.\n - **Cookiefile** : Authenticate by using a `cookiefile`.\n - **Token**: Authenticate by using an access token or password.\n - **Google Cloud Repository** : Use a Google service account to access a Cloud Source Repositories repository. Only select this option if Workload Identity Federation for GKE is *not* enabled in your cluster.\n - **Workload Identity**: Use a Google service account to access a Cloud Source Repositories repository.\n 2. Enter a number in seconds to set the **Sync wait time**, which determines\n how long Config Sync waits between attempts to pull from the source of truth.\n\n 3. Enter a **Git proxy** URL for the HTTPS proxy to be used when\n communicating with the source of truth.\n\n 4. Choose **Hierarchy** to change the **Source format**.\n\n The default value **Unstructured** is recommended in most cases since it\n lets you organize your source of truth however you want.\n9. Click **Deploy Package**.\n\n You are redirected to the Config Sync **Packages** page. After a few\n minutes, you should see **Synced** in the **Sync status**\n column for the cluster that you configured.\n\nEdit a package\n--------------\n\nTo edit a package that you've already deployed, complete the following steps:\n\n1. In the Google Cloud console, go to the Config Sync **Packages** tab.\n\n [Go to Packages](https://console.cloud.google.com/kubernetes/config_management/packages)\n2. (Optional): Expand the **Quick filters** menu and then select a filter to\n help find the package that you want to edit.\n\n3. Expand the package name that you want to edit and then, in the row that contains\n the cluster name, click the context menu *more_vert*\n and then click *edit*\n **Edit package**.\n\n4. Review and update the package settings that you want to change.\n\n5. Click **Save**.\n\nUninstall a package\n-------------------\n\n| **Note:** The Google Cloud console uses the deletion propagation feature to delete package resources. If you don't manage your RootSync and RepoSync objects with the Google Cloud console, you can still use the deletion propagation feature to achieve a similar uninstall behavior, with `kubectl` or any other Kubernetes client. For more information, see [Bulk delete objects](/kubernetes-engine/enterprise/config-sync/docs/how-to/managing-objects#bulk_delete_objects) ([Preview](/products#product-launch-stages)).\n\nTo uninstall a package from the Google Cloud console, complete the following steps:\n\n1. In the Google Cloud console, go to the Config Sync **Packages** tab.\n\n [Go to Packages](https://console.cloud.google.com/kubernetes/config_management/packages)\n2. (Optional): Expand the **Quick filters** menu and then select a filter to\n help find the package that you want to uninstall.\n\n3. Expand the package name that you want to uninstall and then, in the row that contains\n the cluster name, click the context menu *more_vert*\n and then click *delete*\n **Uninstall package**.\n\n4. In the confirmation dialog, select whether to uninstall only the RootSync or RepoSync object,\n or uninstall the RootSync or RepoSync **and** all of the resources managed by the\n RootSync or RepoSync.\n\n5. Type the confirmation message and then click **Uninstall**.\n\nWhat's next\n-----------\n\n- [Monitor the status of Config Sync and packages](/kubernetes-engine/enterprise/config-sync/docs/how-to/use-config-sync-dashboard)\n- Use the [`nomos` command-line tool](/kubernetes-engine/enterprise/config-sync/docs/how-to/nomos-command)\n- [Troubleshoot Config Sync](/kubernetes-engine/enterprise/config-sync/docs/how-to/troubleshooting-config-sync)"]]