1.4. 애플리케이션 리소스 관리
콘솔에서 Git 리포지토리, Helm 리포지토리 및 오브젝트 스토리지 리포지토리를 사용하여 애플리케이션을 생성할 수 있습니다.
중요: Git 채널은 Helm, 오브젝트 스토리지 및 기타 Git 네임스페이스와 다른 모든 채널 유형과 네임스페이스를 공유할 수 있습니다.
앱 관리를 시작하려면 다음 항목을 참조하십시오.
1.4.1. Git 리포지토리를 사용하여 앱 관리 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 사용하여 Kubernetes 리소스를 배포할 때 리소스는 특정 리포지토리에 있습니다. 다음 절차에서 Git 리포지토리에서 리소스를 배포하는 방법을 알아봅니다. 애플리케이션 모델 및 정의에서 애플리케이션 모델에 대해 자세히 알아보십시오.
사용자 필수 액세스: 애플리케이션을 생성할 수 있는 사용자 역할입니다. 역할이 할당된 작업만 수행할 수 있습니다. 역할 기반 액세스 제어 설명서에서 액세스 요구 사항에 대해 알아봅니다.
- 콘솔 탐색 메뉴에서 애플리케이션을 클릭하여 나열된 애플리케이션을 확인하고 새 애플리케이션을 생성합니다.
- 선택 사항: 생성할 애플리케이션 종류를 선택한 후 YAML 을 선택하여 애플리케이션을 생성하고 편집할 때 콘솔에서 YAML을 볼 수 있습니다. 주제의 뒷부분에 있는 YAML 샘플을 참조하십시오.
사용할 수 있는 리포지토리 목록에서 Git 을 선택하고 올바른 필드에 값을 입력합니다. 콘솔의 지침에 따라 입력에 따라 YAML 편집기 변경 값을 확인합니다.
참고:
- 기존 Git 리포지토리 경로를 선택하는 경우 개인 리포지토리인 경우 연결 정보를 지정할 필요가 없습니다. 연결 정보는 미리 설정되어 있으므로 이러한 값을 볼 필요가 없습니다.
- 새 Git 리포지토리 경로를 입력하면 개인 Git 리포지토리인 경우 Git 연결 정보를 선택적으로 입력할 수 있습니다.
-
조정 옵션을 확인합니다.
merge
옵션은 기본 선택이며, 이는 새 필드가 추가되고 리소스에서 기존 필드가 업데이트됨을 의미합니다.교체
하도록 선택할 수 있습니다.replace
옵션을 사용하면 기존 리소스가 Git 소스로 교체됩니다. 서브스크립션 조정 비율이낮게
설정되면 서브스크립션된 애플리케이션 리소스를 조정하는 데 최대 1시간이 걸릴 수 있습니다. 단일 애플리케이션 뷰의 카드에서 동기화 를 클릭하여 수동으로 조정합니다.off
로 설정하면 조정되지 않습니다.
-
선택적 사전 배포 및 배포 후 작업을 설정합니다. 서브스크립션 이전 또는 이후에 실행할 Ansible Automation Platform 작업이 있는 경우 Ansible Automation Platform 시크릿을 설정합니다. 작업을 정의하는 Ansible Automation Platform 작업은 이 리포지토리의
prehook
및posthook
폴더 내에 배치해야 합니다. - 콘솔을 사용하여 인증 정보를 추가해야 하는 경우 인증 정보 추가 를 클릭할 수 있습니다. 콘솔의 지침을 따르십시오. 인증 정보 관리 개요 에서 자세한 내용을 참조하십시오.
- 생성을 클릭합니다.
- 세부 정보 및 토폴로지를 볼 수 있는 개요 페이지로 리디렉션됩니다.
1.4.1.1. 더 많은 예 링크 복사링크가 클립보드에 복사되었습니다!
-
root-subscription/
의 예는application-subscribe-all
을 참조하십시오. -
동일한 리포지토리의 다른 폴더를 가리키는 서브스크립션의 예는
subscribe-all
을 참조하십시오. -
nginx-apps
리포지토리에서 애플리케이션 아티팩트가 있는common-managed
폴더의 예를 참조하십시오. - 정책 컬렉션의 정책 예제를 참조하십시오.
1.4.1.2. Git을 사용하여 서브스크립션을 삭제한 후 배포된 리소스 유지 링크 복사링크가 클립보드에 복사되었습니다!
Git 리포지토리를 사용하여 서브스크립션을 생성할 때 do-not-delete
주석을 추가하여 서브스크립션을 삭제한 후 특정 배포된 리소스를 유지할 수 있습니다. do-not-delete
주석은 최상위 배포 리소스에서만 작동합니다. do-not-delete
주석을 추가하려면 다음 단계를 완료합니다.
- 하나 이상의 리소스를 배포하는 서브스크립션을 생성합니다.
서브스크립션을 삭제한 후에도 유지하려는 리소스 또는 리소스에 다음 주석을 추가합니다.
apps.open-cluster-management.io/do-not-delete: 'true'
다음 예제를 참조하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
서브스크립션을 삭제한 후에도 다른 리소스가 삭제되는 동안 do-not-delete
주석이 있는 리소스가 여전히 존재합니다.
참고: 네임스페이스에 바인딩되는 do-not-delete
주석을 사용하여 배포된 리소스입니다. 따라서 나머지 리소스를 제거할 때까지 네임스페이스를 삭제할 수 없습니다.
1.4.2. Helm 리포지터리를 사용하여 앱 관리 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 사용하여 Kubernetes 리소스를 배포할 때 리소스는 특정 리포지토리에 있습니다. 다음 절차에서 Helm 리포지토리에서 리소스를 배포하는 방법을 알아봅니다. 애플리케이션 모델 및 정의에서 애플리케이션 모델에 대해 자세히 알아보십시오.
사용자 필수 액세스: 애플리케이션을 생성할 수 있는 사용자 역할입니다. 역할이 할당된 작업만 수행할 수 있습니다. 역할 기반 액세스 제어 설명서에서 액세스 요구 사항에 대해 알아봅니다.
- 콘솔 탐색 메뉴에서 애플리케이션을 클릭하여 나열된 애플리케이션을 확인하고 새 애플리케이션을 생성합니다.
- 선택 사항: 생성할 애플리케이션 종류를 선택한 후 YAML 을 선택하여 애플리케이션을 생성하고 편집할 때 콘솔에서 YAML을 볼 수 있습니다. 주제의 뒷부분에 있는 YAML 샘플을 참조하십시오.
- 사용할 수 있는 리포지토리 목록에서 Helm 을 선택하고 올바른 필드의 값을 입력합니다. 콘솔의 지침에 따라 입력에 따라 YAML 편집기 변경 값을 확인합니다.
- 생성을 클릭합니다.
- 세부 정보 및 토폴로지를 볼 수 있는 개요 페이지로 리디렉션됩니다.
1.4.2.1. 샘플 YAML 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제 채널 정의는 Helm 리포지터리를 채널로 추상화합니다.
참고: Helm 차트에 포함된 모든 Kubernetes 리소스에 레이블 릴리스가 있어야 합니다. 애플리케이션 토폴로지가 올바르게 표시되도록 {{ .release.Name }}'
입니다.
다음 채널 정의에서는 Helm 리포지터리 채널의 또 다른 예를 보여줍니다.
참고: REST API를 보려면 API를 사용하십시오.
1.4.2.2. Helm을 사용하여 서브스크립션을 삭제한 후 배포된 리소스 유지 링크 복사링크가 클립보드에 복사되었습니다!
Helm은 서브스크립션을 삭제한 후 특정 배포된 리소스를 유지하기 위한 주석을 제공합니다. 자세한 내용은 리소스를 설치 제거하지 않으려면 Tell Helm Not To Uninstall a Resource 를 참조하십시오.
참고: 주석은 Helm 차트에 있어야 합니다.
1.4.3. 오브젝트 스토리지 리포지토리를 사용하여 앱 관리 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 사용하여 Kubernetes 리소스를 배포할 때 리소스는 특정 리포지토리에 있습니다. 애플리케이션 모델 및 정의에서 애플리케이션 모델에 대해 자세히 알아보십시오.
사용자 필수 액세스: 애플리케이션을 생성할 수 있는 사용자 역할입니다. 역할이 할당된 작업만 수행할 수 있습니다. 역할 기반 액세스 제어 설명서에서 액세스 요구 사항에 대해 알아봅니다.
- 콘솔 탐색 메뉴에서 애플리케이션을 클릭하여 나열된 애플리케이션을 확인하고 새 애플리케이션을 생성합니다.
- 선택 사항: 생성할 애플리케이션 종류를 선택한 후 YAML 을 선택하여 애플리케이션을 생성하고 편집할 때 콘솔에서 YAML을 볼 수 있습니다. 주제의 뒷부분에 있는 YAML 샘플을 참조하십시오.
- 사용할 수 있는 리포지토리 목록에서 오브젝트 저장소를 선택하고 올바른 필드의 값을 입력합니다. 콘솔의 지침에 따라 입력에 따라 YAML 편집기 변경 값을 확인합니다.
- 생성을 클릭합니다.
- 세부 정보 및 토폴로지를 볼 수 있는 개요 페이지로 리디렉션됩니다.
1.4.3.1. 샘플 YAML 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제 채널 정의는 오브젝트 스토리지를 채널로 추상화합니다.
참고: REST API를 보려면 API를 사용하십시오.
1.4.3.2. AWS(Amazon Web Services) S3 오브젝트 스토리지 버킷 생성 링크 복사링크가 클립보드에 복사되었습니다!
Amazon Simple Storage Service(Amazon S3) 오브젝트 스토리지 서비스에 정의된 리소스를 서브스크립션하기 위해 서브스크립션을 설정할 수 있습니다. 다음 절차를 참조하십시오.
- AWS 계정, 사용자 이름 및 암호를 사용하여 AWS 콘솔에 로그인합니다.
- Amazon S3 > Buckets 로 이동합니다. 버킷 홈 페이지로 이동합니다.
- 버킷 생성 을 클릭하여 버킷을 생성합니다.
- AWS S3 오브젝트 버킷 연결에 필요한 AWS 리전 을 선택합니다.
- 버킷 액세스 토큰을 생성합니다.
- 탐색 모음에서 사용자 이름으로 이동한 다음 드롭다운 메뉴에서 내 보안 자격 증명을 선택합니다.
- AWS IAM 인증 정보 탭에서 CLI, SDK 및 API 액세스에 대한 액세스 키로 이동하여 액세스 키 생성 을 클릭합니다.
- 액세스 키 ID , 시크릿 액세스 키를 저장합니다.
- 오브젝트 YAML 파일을 버킷에 업로드합니다.
1.4.3.3. AWS 버킷의 오브젝트 구독 링크 복사링크가 클립보드에 복사되었습니다!
- 시크릿이 있는 오브젝트 버킷 유형 채널을 생성하여 AWS 버킷 연결을 위한 AccessKeyID,SecretAccessKey 및 리전 을 지정합니다. 세 개의 필드는 AWS 버킷이 생성될 때 생성됩니다.
URL을 추가합니다. URL에 s3
:// 또는
버킷의 채널을 식별합니다. 예를 들어 다음 버킷 URL에 AWS s3 버킷 식별자가 있는지 확인합니다.s
3 및 aws 키워드가 포함된 경우 URL은 AWS S3https://s3.console.aws.amazon.com/s3/buckets/sample-bucket-1 s3://sample-bucket-1/ https://sample-bucket-1.s3.amazonaws.com/
https://s3.console.aws.amazon.com/s3/buckets/sample-bucket-1 s3://sample-bucket-1/ https://sample-bucket-1.s3.amazonaws.com/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고: AWS S3 오브젝트 버킷 URL은 버킷을 AWS S3 API와 연결하는 데 필요하지 않습니다.
1.4.3.4. 샘플 AWS 서브스크립션 링크 복사링크가 클립보드에 복사되었습니다!
다음 전체 AWS S3 오브젝트 버킷 채널 샘플 YAML 파일을 참조하십시오.
더 이상 사용되지 않음: kind: PlacementRule
및 kind: Subscription
이 추가된 다음 샘플 YAML에서 볼 수 있듯이 다른 AWS 서브스크립션 및 배치 규칙 오브젝트를 계속 생성할 수 있습니다.
오브젝트 버킷의 특정 하위 폴더 내의 오브젝트를 구독할 수도 있습니다. 서브스크립션에 subfolder
주석을 추가하여 오브젝트 버킷 서브스크립션이 하위 경로의 모든 리소스만 적용하도록 강제 적용합니다.
subfolder-1
이 있는 주석을 bucket-path
로 참조하십시오.
annotations: apps.open-cluster-management.io/bucket-path: <subfolder-1>
annotations:
apps.open-cluster-management.io/bucket-path: <subfolder-1>
하위 폴더는 다음 전체 샘플을 참조하십시오.
1.4.3.5. 오브젝트 스토리지를 사용하여 서브스크립션을 삭제한 후 배포된 리소스 유지 링크 복사링크가 클립보드에 복사되었습니다!
오브젝트 스토리지 리포지터리를 사용하여 서브스크립션을 생성할 때 do-not-delete
주석을 추가하여 서브스크립션을 삭제한 후 특정 배포된 리소스를 유지할 수 있습니다. do-not-delete
주석은 최상위 배포 리소스에서만 작동합니다. do-not-delete
주석을 추가하려면 다음 단계를 완료합니다.
- 하나 이상의 리소스를 배포하는 서브스크립션을 생성합니다.
서브스크립션을 삭제한 후에도 유지하려는 리소스 또는 리소스에 다음 주석을 추가합니다.
apps.open-cluster-management.io/do-not-delete: 'true'
다음 예제를 참조하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
서브스크립션을 삭제한 후에도 다른 리소스가 삭제되는 동안 do-not-delete
주석이 있는 리소스가 여전히 존재합니다.
참고: 네임스페이스에 바인딩되는 do-not-delete
주석을 사용하여 배포된 리소스입니다. 따라서 나머지 리소스를 제거할 때까지 네임스페이스를 삭제할 수 없습니다.