11.4. CLI를 사용하여 템플릿에서 오브젝트 생성
CLI를 사용하여 템플릿을 처리하고 생성된 구성을 사용하여 오브젝트를 생성할 수 있습니다.
11.4.1. 레이블 추가
레이블은 pod 같은 생성된 오브젝트를 관리하고 구성하는 데 사용됩니다. 템플릿에 지정된 레이블은 템플릿에서 생성된 모든 오브젝트에 적용됩니다.
프로세스
명령줄에서 템플릿에 레이블을 추가합니다.
$ oc process -f <filename> -l name=otherLabel
11.4.2. 매개변수 나열
재정의할 수 있는 매개변수 목록은 템플릿의 parameters
섹션에 나열되어 있습니다.
프로세스
다음 명령을 사용하여 사용할 파일을 지정하면 CLI로 매개변수를 나열할 수 있습니다.
$ oc process --parameters -f <filename>
또는 템플릿이 이미 업로드된 경우 다음을 실행합니다.
$ oc process --parameters -n <project> <template_name>
예를 들어 다음은 기본
openshift
프로젝트에서 퀵 스타트 템플릿 중 하나에 대한 매개변수를 나열하는 경우의 출력을 보여줍니다.$ oc process --parameters -n openshift rails-postgresql-example
출력 예
NAME DESCRIPTION GENERATOR VALUE SOURCE_REPOSITORY_URL The URL of the repository with your application source code https://github.com/sclorg/rails-ex.git SOURCE_REPOSITORY_REF Set this to a branch name, tag or other ref of your repository if you are not using the default branch CONTEXT_DIR Set this to the relative path to your project if it is not in the root of your repository APPLICATION_DOMAIN The exposed hostname that will route to the Rails service rails-postgresql-example.openshiftapps.com GITHUB_WEBHOOK_SECRET A secret string used to configure the GitHub webhook expression [a-zA-Z0-9]{40} SECRET_KEY_BASE Your secret key for verifying the integrity of signed cookies expression [a-z0-9]{127} APPLICATION_USER The application user that is used within the sample application to authorize access on pages openshift APPLICATION_PASSWORD The application password that is used within the sample application to authorize access on pages secret DATABASE_SERVICE_NAME Database service name postgresql POSTGRESQL_USER database username expression user[A-Z0-9]{3} POSTGRESQL_PASSWORD database password expression [a-zA-Z0-9]{8} POSTGRESQL_DATABASE database name root POSTGRESQL_MAX_CONNECTIONS database max connections 10 POSTGRESQL_SHARED_BUFFERS database shared buffers 12MB
출력에서는 템플릿이 처리될 때 생성기와 같이 정규식으로 생성되는 여러 매개변수를 식별합니다.
11.4.3. 오브젝트 목록 생성
CLI를 사용하면 템플릿 정의 파일을 처리하여 오브젝트 목록을 표준 출력으로 반환할 수 있습니다.
프로세스
템플릿 정의 파일을 처리하여 오브젝트 목록을 표준 출력으로 반환합니다.
$ oc process -f <filename>
또는 템플릿이 현재 프로젝트에 이미 업로드된 경우 다음을 실행합니다.
$ oc process <template_name>
템플릿을 처리하고 출력을
oc create
로 파이핑하여 템플릿에서 오브젝트를 생성합니다.$ oc process -f <filename> | oc create -f -
또는 템플릿이 현재 프로젝트에 이미 업로드된 경우 다음을 실행합니다.
$ oc process <template> | oc create -f -
재정의하려는 각
<name>=<value>
쌍에-p
옵션을 추가하여 파일에 정의된 매개변수 값을 재정의할 수 있습니다. 매개변수 참조는 템플릿 항목 내의 텍스트 필드에 표시될 수 있습니다.예를 들어 다음에서는 템플릿의
POSTGRESQL_USER
및POSTGRESQL_DATABASE
매개변수가 재정의되어 사용자 정의된 환경 변수가 있는 구성을 출력합니다.템플릿에서 오브젝트 목록을 생성합니다.
$ oc process -f my-rails-postgresql \ -p POSTGRESQL_USER=bob \ -p POSTGRESQL_DATABASE=mydatabase
JSON 파일은 처리된 출력을
oc create
명령으로 파이핑하여 템플릿을 업로드하지 않고 직접 적용하거나 파일로 리디렉션할 수 있습니다.$ oc process -f my-rails-postgresql \ -p POSTGRESQL_USER=bob \ -p POSTGRESQL_DATABASE=mydatabase \ | oc create -f -
많은 수의 매개변수가 있는 경우 파일에 저장한 후 해당 파일을
oc process
로 전달할 수 있습니다.$ cat postgres.env POSTGRESQL_USER=bob POSTGRESQL_DATABASE=mydatabase
$ oc process -f my-rails-postgresql --param-file=postgres.env
"-"
를--param-file
의 인수로 사용하여 표준 출력에서 환경을 읽을 수도 있습니다.$ sed s/bob/alice/ postgres.env | oc process -f my-rails-postgresql --param-file=-