17.4. 배포 컬렉션 생성
컬렉션을 생성할 때 이름을 지정하고 컬렉션에 대한 규칙을 정의해야 합니다.
프로세스
- 컬렉션 페이지에서 컬렉션 생성 을 클릭합니다.
- 컬렉션의 이름 및 설명을 입력합니다.
컬렉션 규칙 섹션에서는 다음 작업 중 하나 이상을 수행해야 합니다.
- 컬렉션에 대한 규칙 정의: 자세한 내용은 "컬렉션 규칙 생성" 섹션을 참조하십시오.
- 기존 컬렉션을 컬렉션에 연결: 자세한 내용은 "연결된 컬렉션 추가" 섹션을 참조하십시오.
- 규칙 구성 또는 연결된 컬렉션을 선택한 결과는 컬렉션 결과 라이브 프리뷰 패널에서 사용할 수 있습니다. 결과 숨기기 를 클릭하여 디스플레이에서 이 패널을 제거합니다.
- 저장을 클릭합니다.
17.4.1. 컬렉션 규칙 생성
컬렉션을 생성할 때 하나 이상의 규칙을 구성하거나 생성 중인 새 컬렉션에 다른 컬렉션을 연결해야 합니다.
현재 컬렉션은 배포에만 사용할 수 있습니다.
컬렉션에 포함할 리소스를 선택하도록 규칙을 구성합니다. 프리뷰 패널을 사용하여 컬렉션 규칙 결과를 구성할 때 확인합니다. 규칙을 순서에 따라 구성할 수 있습니다.
프로세스
Deployments 섹션의 드롭다운 목록에서 다음 옵션 중 하나를 선택합니다.
- 배포가 지정되지 않음: 검색에서 배포 기준을 사용하지 않으려면 이 옵션을 선택합니다.
이름이 일치하는 배포: 이 옵션을 선택하여 이름으로 선택한 다음 다음 옵션 중 하나를 선택합니다.
- 정확한 값: 정확한 배포 이름을 입력합니다.
-
regex 값: 정규식을 사용하여 배포를 검색할 수 있습니다. 이 옵션은 정확한 배포 이름을 모르는 경우에 유용합니다. 정규식은 패턴을 정의하는 문자, 숫자 및 기호의 문자열입니다. RHACS는 이 패턴을 사용하여 문자 또는 문자 그룹과 일치하고 결과를 반환합니다. 정규식의 경우 RE2 구문 이 지원됩니다. Perl 구문은 지원되지 않습니다. 모든 배포를 선택하려면 이 옵션을 선택하고
.*
를 입력합니다. 자세한 내용 및 예제는 " 정규식 사용"을 참조하십시오.
-
정확히 일치하는 라벨이 있는 배포: 이 옵션을 선택하여 입력한 정확한 텍스트와 일치하는 라벨을 사용하여 배포를 선택합니다. 레이블은
key=value
형식의 유효한 Kubernetes 레이블이어야 합니다.
- 선택 사항: 포함을 위한 추가 기준과 일치하는 이름 또는 레이블이 있는 배포를 추가하려면 OR 를 클릭하고 다른 정확한 또는 정규식 값을 구성합니다.
17.4.1.1. 정규식 사용
RHACS는 배포를 포함하거나 제외하도록 컬렉션을 구성하는 경우를 포함하여 포털의 일부 영역에서 정규식을 사용합니다.
예를 들어 컬렉션을 구성할 때 정규식을 사용하여 배포를 검색할 수 있습니다. 이 옵션은 정확한 배포 이름을 모르는 경우에 유용합니다. 정규식은 패턴을 정의하는 문자, 숫자 및 기호의 문자열입니다. RHACS는 이 패턴을 사용하여 문자 또는 문자 그룹과 일치하고 결과를 반환합니다. 정규식의 경우 다음 지침을 참조하십시오.
- RE2 구문 이 지원됩니다.
- Perl 구문은 지원되지 않습니다.
- 정규식 구문을 테스트하는 것은 예를 들어 https://regex101.com/ 과 같은 사이트를 사용하는 데 유용합니다. Golang 을 플레이버로 선택합니다.
다음 예제에서는 프로덕션 클러스터에 이름에 prod
라는 단어가 포함된 이름 지정 규칙을 따르는 것으로 가정합니다.
프로덕션 클러스터 컬렉션을 생성하는 정규식 예
- 컬렉션 규칙에서 일치하는 이름이 있는 클러스터를 선택합니다.
드롭다운 목록에서 A regex 값을 선택하고 다음 텍스트를 입력합니다.
^prod.*
^prod.*
Copy to Clipboard Copied!
프로덕션 환경 외 클러스터 컬렉션을 생성하는 정규식 예
RE2 구문에서는 negative lookahead를 사용하여 일치시킬 수 없습니다. 즉, 요소가 없으면 정규 표현식을 일치시킬 수 없습니다. 이 문제를 해결하려면 prod
라는 단어가 클러스터 이름에 표시되지 않을 때 정규 표현식을 사용하여 일치시킬 수 있습니다. 즉, p
,r
,o
, d
가 순서대로 표시되지 않는 경우와 일치시킵니다.
- 컬렉션 규칙에서 일치하는 이름이 있는 클러스터를 선택합니다.
드롭다운 목록에서 A regex 값을 선택하고 다음 텍스트를 입력합니다.
^[^p]*(p([^r]|$|r([^o]|$|o([^d]|$))))*[^p]*$
^[^p]*(p([^r]|$|r([^o]|$|o([^d]|$))))*[^p]*$
Copy to Clipboard Copied!
클러스터, 네임스페이스 및 배포 계층 구조의 모든 엔터티와 일치하는 컬렉션을 생성하는 정규식 예
컬렉션 규칙에서 일치하는 이름이 있는 배포를 선택합니다.
-
드롭다운 목록에서 A regex 값을 선택하고
.*
를 입력합니다.
-
드롭다운 목록에서 A regex 값을 선택하고
일치하는 이름이 있는 네임스페이스 를 선택합니다.
-
드롭다운 목록에서 A regex 값을 선택하고
.*
를 입력합니다.
-
드롭다운 목록에서 A regex 값을 선택하고
일치하는 이름이 있는 클러스터를 선택합니다.
-
드롭다운 목록에서 A regex 값을 선택하고
.*
를 입력합니다.
-
드롭다운 목록에서 A regex 값을 선택하고
이름이 지정된 배포 및 데이터베이스 및 특정 라벨이 포함된 컬렉션을 생성하는 정규식 예
다음 예제에서는 의료 애플리케이션에 대한 컬렉션을 구성하는 단계를 제공합니다. 이 예제에서는 컬렉션에 보고
배포, patient-db
라는 데이터베이스, 그리고 key = kubernetes.io/metadata.name
및 value = medical
인 라벨이 있는 네임스페이스를 선택하려고 합니다. 이 예제에서는 다음 단계를 수행합니다.
- 컬렉션 규칙에서 일치하는 이름이 있는 배포를 선택합니다.
- 의 정확한 값을 클릭하고 reporting 를 입력합니다.
- 또는 을 클릭합니다.
의 정규 값을 클릭하고
.*-db
를 입력하여 환경에서db
로 끝나는 모든 배포를 선택합니다.regex value
옵션은 패턴 일치에 정규식을 사용합니다. 정규식의 경우 RE2 구문 이 지원됩니다. Perl 구문은 지원되지 않습니다. 오른쪽 패널에 포함되지 않으려는 데이터베이스가 표시될 수 있습니다. 추가 필터를 사용하여 해당 데이터베이스를 제외할 수 있습니다. 예를 들면 다음과 같습니다.-
정확히 일치하는 라벨이 있는 네임스페이스 를 클릭하고
kubernetes.io/metadata.name=
을 입력하여 의료 라벨이 레이블이 지정된 네임스페이스에만 배포만 포함하여 네임스페이스 라벨로 필터링합니다.medical
- 네임스페이스 이름을 알고 있는 경우 이름이 일치하는 네임스페이스를 클릭하고 이름을 입력합니다.
-
정확히 일치하는 라벨이 있는 네임스페이스 를 클릭하고
17.4.2. 연결된 컬렉션 추가
컬렉션을 그룹화하고 다른 컬렉션에 추가하는 것은 배포를 기반으로 작은 컬렉션을 만들려면 유용할 수 있습니다. 이러한 작은 컬렉션을 재사용하고 더 큰 계층적 컬렉션으로 결합할 수 있습니다. 생성 중인 컬렉션에 컬렉션을 추가하려면 다음을 수행합니다.
다음 작업 중 하나를 수행합니다.
- Filter by name 필드에 텍스트를 입력하고 → 를 눌러 일치하는 결과를 확인합니다.
- 사용 가능한 컬렉션 목록에서 컬렉션 이름을 클릭하여 컬렉션에 대한 정보(예: 컬렉션의 이름 및 해당 컬렉션과 일치하는 배포)를 확인합니다.
- 컬렉션 정보를 확인한 후 창을 닫고 연결된 컬렉션 페이지로 돌아갑니다.
+Attach 를 클릭합니다. 연결된 컬렉션 섹션에는 연결된 컬렉션이 나열됩니다.
참고연결된 컬렉션을 추가하면 연결된 컬렉션에는 구성된 선택 규칙에 따라 결과가 포함됩니다. 예를 들어 연결된 컬렉션에 부모 컬렉션에 사용된 규칙에 의해 필터링되는 리소스가 포함된 경우 연결된 컬렉션의 규칙으로 인해 해당 항목이 여전히 상위 컬렉션에 추가됩니다. 연결된 컬렉션은
OR
연산자를 사용하여 원래 컬렉션을 확장합니다.- 저장을 클릭합니다.