Menu Close

3.5.6.2.3. 사용자 정의 바인딩

odo 링크 는 구성 요소에 사용자 정의 바인딩 정보를 삽입할 수 있는 --map 플래그를 허용합니다. 이러한 바인딩 정보는 구성 요소에 연결하는 리소스의 매니페스트에서 가져옵니다. 예를 들어 백엔드 구성 요소 및 PostgreSQL 서비스의 컨텍스트에서 PostgreSQL 서비스 매니페스트 postgrescluster.yaml 파일의 정보를 백엔드 구성 요소에 삽입할 수 있습니다.

PostgresCluster 서비스의 이름이 hippo 인 경우(또는 PostgresCluster 서비스가 다르게 지정된 경우), 해당 YAML 정의에서 postgresVersion 값을 백엔드 구성 요소에 삽입하려는 경우 명령을 실행합니다.

$ odo link PostgresCluster/hippo --map pgVersion='{{ .hippo.spec.postgresVersion }}'

Postgres 서비스의 이름이 hippo 와 다른 경우 pgVersion 의 값에 .hippo 대신 위의 명령에서 이를 지정해야 합니다.

링크 작업 후 odo push 를 평소와 같이 실행합니다. 내보내기 작업이 완료되면 백엔드 구성 요소 디렉터리에서 다음 명령을 실행하여 사용자 정의 매핑이 제대로 삽입되었는지 확인할 수 있습니다.

$ odo exec -- env | grep pgVersion

출력 예:

pgVersion=13

odo 링크에서 는 두 개 이상의 사용자 정의 바인딩 정보를 삽입할 수 있으므로 여러 개의 키-값 쌍의 매핑 쌍을 사용할 수 있습니다. 유일한 제약 조건은 이러한 항목을 --map <key>=<value>로 지정해야 한다는 것입니다. 예를 들어 PostgreSQL 이미지 정보를 버전과 함께 삽입하려면 다음을 실행할 수 있습니다.

$ odo link PostgresCluster/hippo --map pgVersion='{{ .hippo.spec.postgresVersion }}' --map pgImage='{{ .hippo.spec.image }}'

그런 다음 odo push 를 실행합니다. 두 매핑이 모두 올바르게 삽입되었는지 확인하려면 다음 명령을 실행합니다.

$ odo exec -- env | grep -e "pgVersion\|pgImage"

출력 예:

pgVersion=13
pgImage=registry.developers.crunchydata.com/crunchydata/crunchy-postgres-ha:centos8-13.4-0

3.5.6.2.3.1. 인라인 또는 그렇지 않은 경우?

odo link 에서 kubernetes/ 디렉터리의 링크에 대한 매니페스트 파일을 생성하는 기본 동작을 허용할 수 있습니다. 또는 모든 내용을 단일 devfile.yaml 파일에 저장하려는 경우 --inlined 플래그를 사용할 수 있습니다.