10.7.3. 매개 변수


매개변수를 사용하면 값을 사용자가 제공하도록 할 수도 있고 템플릿이 인스턴스화될 때 생성되도록 할 수도 있습니다. 그러면 해당 값이 매개변수가 참조될 때마다 대체됩니다. 참조는 오브젝트 목록 필드의 어떤 필드에서든 정의할 수 있습니다. 임의의 암호를 생성하거나 사용자가 템플릿을 사용자 정의하는 데 필요한 호스트 이름 또는 기타 사용자 특정 값을 제공할 수 있도록 하는 데 유용합니다. 매개변수는 다음 두 가지 방법으로 참조할 수 있습니다.

  • 템플릿에 있는 임의의 문자열 필드에 ${PARAMETER_NAME} 형식의 값을 배치하여 문자열 값으로 참조합니다.
  • 템플릿에서 임의의 필드 대신 ${{PARAMETER_NAME}} 형식의 값을 배치하여 json/yaml 값으로 참조합니다.

${PARAMETER_NAME} 구문을 사용하는 경우 여러 매개변수 참조가 단일 필드에서 결합될 수 있으며 참조는 "http://${PARAMETER_1}${PARAMETER_2}" 같이 고정된 데이터에 내에 포함될 수 있습니다. 매개변수 값이 둘 다 대체되며 결과 값은 인용된 문자열이 됩니다.

${{PARAMETER_NAME}} 구문을 사용하는 경우 단일 매개변수 참조만 허용되며 선행/후행 문자는 허용되지 않습니다. 대체가 수행된 후 결과가 유효한 json 오브젝트인 경우 결과 값이 인용되지 않습니다. 결과가 유효한 json 값이 아닌 경우 결과 값이 인용되고 표준 문자열로 처리됩니다.

단일 매개변수는 템플릿 내에서 여러 번 참조될 수 있으며 단일 템플릿 내에서 두 대체 구문을 사용하여 참조될 수도 있습니다.

사용자가 다른 값을 제공하지 않은 경우 사용되는 기본값을 제공할 수 있습니다.

예 10.5. Explicit Value를 기본값으로 설정

parameters:
  - name: USERNAME
    description: "The user name for Joe"
    value: joe

매개변수 값은 매개변수 정의에 지정된 규칙에 따라 생성할 수도 있습니다.

예 10.6. 매개 변수 값 생성

parameters:
  - name: PASSWORD
    description: "The random user password"
    generate: expression
    from: "[a-zA-Z0-9]{12}"

위의 예에서 처리가 완료되면 모든 대문자 및 소문자 영문자와 숫자로 구성된 12자 길이의 임의의 암호가 생성됩니다.

사용 가능한 구문은 완전한 정규식 구문이 아닙니다. 하지만 \w, \d\a 한정자를 사용할 수 있습니다.

  • [\w]{10} 은 10개의 영문자, 숫자 및 밑줄을 생성합니다. PCRE 표준을 따르며 [a-zA-Z0-9_]{10} 과 동일합니다.
  • [\D]{10} 은 10개의 숫자를 생성합니다. [0-9]{10} 와 동일합니다.
  • [\a]{10} 은 10개의 알파벳 문자를 생성합니다. [a-zA-Z]{10} 와 동일합니다.

다음은 매개변수 정의 및 참조가 포함된 전체 템플릿의 예입니다.

예 10.7. 매개변수 정의 및 참조가 포함된 전체 템플릿

kind: Template
apiVersion: v1
metadata:
  name: my-template
objects:
  - kind: BuildConfig
    apiVersion: v1
    metadata:
      name: cakephp-mysql-example
      annotations:
        description: Defines how to build the application
    spec:
      source:
        type: Git
        git:
          uri: "${SOURCE_REPOSITORY_URL}" 1
          ref: "${SOURCE_REPOSITORY_REF}"
        contextDir: "${CONTEXT_DIR}"
  - kind: DeploymentConfig
    apiVersion: v1
    metadata:
      name: frontend
    spec:
      replicas: "${{REPLICA_COUNT}}" 2
parameters:
  - name: SOURCE_REPOSITORY_URL 3
    displayName: Source Repository URL 4
    description: The URL of the repository with your application source code 5
    value: https://github.com/sclorg/cakephp-ex.git 6
    required: true 7
  - name: GITHUB_WEBHOOK_SECRET
    description: A secret string used to configure the GitHub webhook
    generate: expression 8
    from: "[a-zA-Z0-9]{40}" 9
  - name: REPLICA_COUNT
    description: Number of replicas to run
    value: "2"
    required: true
message: "... The GitHub webhook secret is ${GITHUB_WEBHOOK_SECRET} ..." 10
1
이 값은 템플릿이 인스턴스화될 때 SOURCE_REPOSITORY_URL 매개변수 값으로 교체됩니다.
2
이 값은 템플릿이 인스턴스화될 때 인용되지 않은 REPLICA_COUNT 매개변수 값으로 교체됩니다.
3
매개변수의 이름입니다. 이 값은 템플릿 내에서 매개변수를 참조하는 데 사용됩니다.
4
사용자에게 친숙한 매개변수 이름입니다. 사용자에게 표시됩니다.
5
매개변수에 대한 설명입니다. 예상 값에 대한 제약 조건을 비롯하여 매개변수의 목적에 대한 자세한 정보를 제공합니다. 설명은 콘솔의 텍스트 표준 을 따르기 위해 완전한 문장을 사용해야 합니다. 표시 이름과 중복되지 않도록 하십시오.
6
템플릿을 인스턴스화할 때 사용자가 값을 재정의하지 않는 경우 사용되는 매개변수의 기본값입니다. 암호 등에 기본값을 사용하지 말고 생성된 매개변수를 시크릿과 조합하여 사용하십시오.
7
이 매개변수가 필수임을 나타냅니다. 즉, 사용자가 빈 값으로 이 매개변수를 재정의할 수 없습니다. 매개변수가 기본값 또는 생성된 값을 제공하지 않으면 사용자가 값을 제공해야 합니다.
8
값이 생성되어 있는 매개변수입니다.
9
생성기에 대한 입력입니다. 이 경우 생성기는 대문자 및 소문자를 포함하여 40자 길이의 영숫자 값을 생성합니다.
10
매개변수가 템플릿 메시지에 포함될 수 있습니다. 사용자에게 생성된 값에 대해 알려줍니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.