1.4. 애플리케이션 리소스 관리
콘솔에서 Git 리포지토리, Helm 리포지토리 및 오브젝트 스토리지 리포지토리를 사용하여 애플리케이션을 생성할 수 있습니다.
중요: Git 채널은 Helm, 오브젝트 스토리지 및 기타 Git 네임스페이스 등 다른 모든 채널 유형과 네임스페이스를 공유할 수 있습니다.
다음 주제를 참조하여 앱 관리를 시작하십시오.
1.4.1. Git 리포지토리를 사용하여 앱 관리 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 사용하여 Kubernetes 리소스를 배포할 때 리소스는 특정 리포지토리에 있습니다. 다음 절차에서 Git 리포지토리에서 리소스를 배포하는 방법을 알아봅니다. 애플리케이션 모델 및 정의에서 애플리케이션 모델에 대해 자세히 알아보십시오.
사용자 액세스 권한: 애플리케이션을 생성할 수 있는 사용자 역할입니다. 역할이 할당된 작업만 수행할 수 있습니다. 역할 기반 액세스 제어 설명서에서 액세스 요구 사항에 대해 알아보십시오.
- 콘솔 탐색 메뉴에서 애플리케이션을 클릭하여 나열된 애플리케이션을 확인하고 새 애플리케이션을 생성합니다.
- 선택 사항: 생성할 애플리케이션 유형을 선택한 후 YAML: On 을 선택하여 애플리케이션을 생성하고 편집할 콘솔에서 YAML을 볼 수 있습니다. 주제의 뒷부분에 있는 YAML 샘플을 참조하십시오.
사용할 수 있는 리포지토리 목록에서 Git 을 선택하고 올바른 필드에 값을 입력합니다. 콘솔의 지침에 따라 입력에 따라 YAML 편집기 값이 변경되는지 확인합니다.
참고:
- 기존 Git 리포지토리 경로를 선택하는 경우 프라이빗 리포지토리인 경우 연결 정보를 지정할 필요가 없습니다. 연결 정보는 사전 설정되어 있으며 이러한 값을 볼 필요가 없습니다.
- 새 Git 리포지토리 경로를 입력하면 선택적으로 개인 Git 리포지토리인 경우 Git 연결 정보를 입력할 수 있습니다.
-
조정 옵션을 확인합니다.
merge
옵션은 기본 선택 사항이며, 이는 새 필드가 추가되고 리소스에서 기존 필드가 업데이트됨을 의미합니다.교체
를 선택할 수 있습니다.replace
옵션으로 기존 리소스가 Git 소스로 교체됩니다. 서브스크립션 조정 비율이낮은
것으로 설정되면 서브스크립션된 애플리케이션 리소스를 조정하는 데 최대 1시간이 걸릴 수 있습니다. 단일 애플리케이션 보기의 카드에서 동기화 를 클릭하여 수동으로 조정합니다.off
로 설정하면 조정되지 않습니다.
-
선택적 사전 배포 및 배포 후 작업을 설정합니다. 구독이 애플리케이션 리소스를 배포하기 전이나 후에 실행할 Ansible Tower 작업이 있는 경우 Ansible Tower 시크릿을 설정합니다. Ansible 작업을 정의하는 Ansible Tower 작업은 이 리포지토리의
prehook
및posthook
폴더에 배치해야 합니다. - 콘솔을 사용하여 인증 정보를 추가해야 하는 경우 인증 정보 추가 를 클릭합니다. 콘솔의 지침을 따르십시오. Manage credentials overview에서 자세한 내용을 참조하십시오.
- 생성을 클릭합니다.
- 세부 사항 및 토폴로지를 볼 수 있는 개요 페이지로 리디렉션됩니다.
1.4.1.1. GitOps 패턴 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 관리하기 위해 Git 리포지토리를 조정하기 위한 모범 사례를 알아보십시오.
1.4.1.1.1. GitOps 예제 디렉터리 링크 복사링크가 클립보드에 복사되었습니다!
이 예제의 폴더는 정의되고 이름이 지정되며, 관리되는 클러스터에서 실행되는 애플리케이션 또는 구성이 포함된 각 폴더가 있습니다.
-
루트 폴더
managed-subscriptions
:공통
관리 폴더를 대상으로 하는 서브스크립션이 포함되어 있습니다. -
하위 폴더
앱/
:managed-clusters
에 배치를 사용하여 공통 관리 -
하위 폴더
config/
:managed-clusters
에 배치를 사용하여 공통 관리 -
하위 폴더
정책/
: 배치와 함께관리 클러스터에
정책을 적용하는 데 사용됩니다. -
folder
root-subscription/
:managed-subscriptions
폴더를 서브스크립션하는 hub 클러스터의 초기 서브스크립션입니다.
디렉터리의 예제를 참조하십시오.
1.4.1.1.2. GitOps flow 링크 복사링크가 클립보드에 복사되었습니다!
디렉터리 구조는 root-subscription
> managed-subscriptions
> common-managed
용으로 생성됩니다.
-
root-subscription/
의 단일 서브스크립션은 CLI 터미널에서 hub 클러스터로 적용됩니다. 서브스크립션 및 정책은
managed-subscription
폴더의 hub 클러스터에 다운로드하여 적용됩니다.-
그런 다음
managed-subscription
폴더의 서브스크립션 및 정책은 배치에 따라 관리 클러스터에서 작업을 수행합니다. -
placement는 각 서브스크립션 또는 정책에 영향을 미치는
관리 클러스터를
결정합니다. - 서브스크립션 또는 정책은 배치와 일치하는 클러스터에 대한 내용을 정의합니다.
-
그런 다음
-
서브스크립션은
공통 관리
폴더의 내용을 배치 규칙과 일치하는managed-cluster
에 적용합니다. 이는 배치 규칙과 일치하는 모든관리 클러스터에
공통 애플리케이션 및 구성도 적용합니다.
1.4.1.1.3. 더 많은 예 링크 복사링크가 클립보드에 복사되었습니다!
-
root-subscription/
의 예는 application-subscription-all 을 참조하십시오. - 동일한 리포지토리의 다른 폴더를 가리키는 서브스크립션의 예는 subscribe-all 을 참조하십시오.
-
nginx
-apps
리포지토리의 애플리케이션 아티팩트가 있는 공통 관리 폴더의 예제를 참조하십시오. - 정책 컬렉션의 정책 예제를 참조하십시오.
1.4.2. Helm 리포지터리를 사용하여 앱 관리 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 사용하여 Kubernetes 리소스를 배포할 때 리소스는 특정 리포지토리에 있습니다. 다음 절차에서 Helm 리포지터리에서 리소스를 배포하는 방법을 알아봅니다. 애플리케이션 모델 및 정의에서 애플리케이션 모델에 대해 자세히 알아보십시오.
사용자 액세스 권한: 애플리케이션을 생성할 수 있는 사용자 역할입니다. 역할이 할당된 작업만 수행할 수 있습니다. 역할 기반 액세스 제어 설명서에서 액세스 요구 사항에 대해 알아보십시오.
- 콘솔 탐색 메뉴에서 애플리케이션을 클릭하여 나열된 애플리케이션을 확인하고 새 애플리케이션을 생성합니다.
- 선택 사항: 생성할 애플리케이션 유형을 선택한 후 YAML: On 을 선택하여 애플리케이션을 생성하고 편집할 콘솔에서 YAML을 볼 수 있습니다. 주제의 뒷부분에 있는 YAML 샘플을 참조하십시오.
- 사용할 수 있는 리포지토리 목록에서 Helm 을 선택하고 올바른 필드에 값을 입력합니다. 콘솔의 지침에 따라 입력에 따라 YAML 편집기 값이 변경되는지 확인합니다.
- 생성을 클릭합니다.
- 세부 사항 및 토폴로지를 볼 수 있는 개요 페이지로 리디렉션됩니다.
1.4.2.1. YAML 샘플 링크 복사링크가 클립보드에 복사되었습니다!
다음 예제 채널 정의에서는 Helm 리포지터리를 채널로 추상화합니다.
참고: Helm의 경우 Helm 차트에 포함된 모든 Kubernetes 리소스에 레이블 릴리스가 있어야 합니다. 애플리케이션 토폴로지가 올바르게 표시되도록 하려면 {{ .release.Name }}'
입니다.
다음 채널 정의는 Helm 리포지터리 채널의 또 다른 예를 보여줍니다.
참고: REST API를 보려면 API를 사용합니다.
1.4.3. 오브젝트 스토리지 리포지토리를 사용하여 앱 관리 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션을 사용하여 Kubernetes 리소스를 배포할 때 리소스는 특정 리포지토리에 있습니다. 애플리케이션 모델 및 정의에서 애플리케이션 모델에 대해 자세히 알아보십시오.
사용자 액세스 권한: 애플리케이션을 생성할 수 있는 사용자 역할입니다. 역할이 할당된 작업만 수행할 수 있습니다. 역할 기반 액세스 제어 설명서에서 액세스 요구 사항에 대해 알아보십시오.
- 콘솔 탐색 메뉴에서 애플리케이션을 클릭하여 나열된 애플리케이션을 확인하고 새 애플리케이션을 생성합니다.
- 선택 사항: 생성할 애플리케이션 유형을 선택한 후 YAML: On 을 선택하여 애플리케이션을 생성하고 편집할 콘솔에서 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 로 이동하여 버킷 홈 페이지로 이동합니다.
- Create Bucket 을 클릭하여 버킷을 생성합니다.
- AWS S3 오브젝트 버킷을 연결하는 데 필요한 AWS 리전 을 선택합니다.
- 버킷 액세스 토큰을 생성합니다.
- 탐색 모음에서 사용자 이름으로 이동한 다음 드롭다운 메뉴에서 My Security Credentials 를 선택합니다.
- AWS IAM 인증 정보 탭에서 CLI, SDK 및 API 액세스에 대한 액세스 키로 이동하고 액세스 키 생성을 클릭합니다.
- 액세스 키 ID 를 저장, 시크릿 액세스 키.
- 오브젝트 YAML 파일을 버킷에 업로드합니다.
1.4.3.3. AWS 버킷의 오브젝트 구독 링크 복사링크가 클립보드에 복사되었습니다!
- 시크릿을 사용하여 오브젝트 버킷 유형 채널을 생성하여 AWS 버킷 연결을 위한 AccessKeyID,SecretAccessKey 및 Region 을 지정합니다. 세 개의 필드는 AWS 버킷이 생성될 때 생성됩니다.
URL을 추가합니다. URL은 URL에 s3
:// 또는
버킷에서 채널을 식별합니다. 예를 들어 다음 버킷 URL의 모든 AWS s3 버킷 식별자를 참조하십시오.s
3 및 aws 키워드가 포함된 경우 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 API와 버킷을 연결하는 데 AWS S3 오브젝트 버킷 URL이 필요하지 않습니다.
1.4.3.4. AWS 서브스크립션 샘플 링크 복사링크가 클립보드에 복사되었습니다!
다음 전체 AWS S3 오브젝트 버킷 채널 샘플 YAML 파일을 참조하십시오.
kind: PlacementRule
및 kind: Subscription
과 함께 다음 샘플 YAML에 표시된 대로 다른 AWS 서브스크립션 및 배치 규칙 오브젝트를 계속 생성할 수 있습니다.
오브젝트 버킷의 특정 하위 폴더 내의 오브젝트를 구독할 수도 있습니다. 하위 폴더
주석을 서브스크립션에 추가하여 오브젝트 버킷 서브스크립션이 하위 폴더의 모든 리소스만 적용하도록 강제 적용합니다.
subfolder-1
이 있는 주석을 bucket-path
로 참조하십시오.
annotations: apps.open-cluster-management.io/bucket-path: <subfolder-1>
annotations:
apps.open-cluster-management.io/bucket-path: <subfolder-1>
하위 폴더에 대한 다음 전체 샘플을 참조하십시오.