10.3. 시크릿 및 구성 맵에 수동으로 함수 액세스 추가


시크릿 및 구성 맵에 액세스하는 구성을 함수에 수동으로 추가할 수 있습니다. 기존 구성 스니펫이 있는 경우 kn func config 대화형 유틸리티 및 명령을 사용하는 것이 좋습니다.

10.3.1. 시크릿을 볼륨으로 마운트

시크릿을 볼륨으로 마운트할 수 있습니다. 시크릿이 마운트되면 일반 파일로 함수에서 액세스할 수 있습니다. 이를 통해 함수에 필요한 클러스터 데이터(예: 함수에서 액세스해야 하는 URI 목록)에 저장할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.
  • Knative(kn) CLI가 설치되어 있습니다.
  • 함수를 생성했습니다.

절차

  1. 함수에 사용할 func.yaml 파일을 엽니다.
  2. 볼륨으로 마운트하려는 각 시크릿에 대해 volumes 섹션에 다음 YAML을 추가합니다.

    name: test
    namespace: ""
    runtime: go
    ...
    volumes:
    - secret: mysecret
      path: /workspace/secret
    • mysecret을 대상 시크릿의 이름으로 대체합니다.
    • 시크릿을 마운트하려는 경로로 /workspace/secret을 대체합니다.

      예를 들어 주소 시크릿을 마운트하려면 다음 YAML을 사용합니다.

      name: test
      namespace: ""
      runtime: go
      ...
      volumes:
      - configMap: addresses
        path: /workspace/secret-addresses
  3. 설정을 저장합니다.

10.3.2. 구성 맵을 볼륨으로 마운트

구성 맵을 볼륨으로 마운트할 수 있습니다. 구성 맵이 마운트되면 일반 파일로 함수에서 액세스할 수 있습니다. 이를 통해 함수에 필요한 클러스터 데이터(예: 함수에서 액세스해야 하는 URI 목록)에 저장할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.
  • Knative(kn) CLI가 설치되어 있습니다.
  • 함수를 생성했습니다.

절차

  1. 함수에 사용할 func.yaml 파일을 엽니다.
  2. 볼륨으로 마운트하려는 각 구성 맵에 대해 volumes 섹션에 다음 YAML을 추가합니다.

    name: test
    namespace: ""
    runtime: go
    ...
    volumes:
    - configMap: myconfigmap
      path: /workspace/configmap
    • myconfigmap을 대상 구성 맵의 이름으로 대체합니다.
    • /workspace/configmap을 구성 맵을 마운트하려는 경로로 바꿉니다.

      예를 들어 주소 구성 맵을 마운트하려면 다음 YAML을 사용합니다.

      name: test
      namespace: ""
      runtime: go
      ...
      volumes:
      - configMap: addresses
        path: /workspace/configmap-addresses
  3. 설정을 저장합니다.

10.3.3. 시크릿에 정의된 키 값에서 환경 변수 설정

시크릿으로 정의된 키 값에서 환경 변수를 설정할 수 있습니다. 그런 다음 시크릿에 이전에 저장된 값은 런타임 시 함수에서 환경 변수로 액세스할 수 있습니다. 이 기능은 사용자 ID와 같이 시크릿에 저장된 값에 액세스하는 데 유용할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.
  • Knative(kn) CLI가 설치되어 있습니다.
  • 함수를 생성했습니다.

절차

  1. 함수에 사용할 func.yaml 파일을 엽니다.
  2. 환경 변수에 할당할 시크릿 키-값 쌍의 각 값에 대해 envs 섹션에 다음 YAML을 추가합니다.

    name: test
    namespace: ""
    runtime: go
    ...
    envs:
    - name: EXAMPLE
      value: '{{ secret:mysecret:key }}'
    • EXAMPLE을 환경 변수 이름으로 대체합니다.
    • mysecret을 대상 시크릿의 이름으로 대체합니다.
    • key를 대상 값에 매핑된 키로 대체합니다.

      예를 들어 userdetailssecret 에 저장된 사용자 ID에 액세스하려면 다음 YAML을 사용합니다.

      name: test
      namespace: ""
      runtime: go
      ...
      envs:
      - value: '{{ configMap:userdetailssecret:userid }}'
  3. 설정을 저장합니다.

10.3.4. 구성 맵에 정의된 키 값에서 환경 변수 설정

구성 맵으로 정의된 키 값에서 환경 변수를 설정할 수 있습니다. 그런 다음 이전에 구성 맵에 저장된 값은 런타임 시 함수에 의해 환경 변수로 액세스할 수 있습니다. 이 기능은 사용자 ID와 같이 구성 맵에 저장된 값에 액세스하는 데 유용할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.
  • Knative(kn) CLI가 설치되어 있습니다.
  • 함수를 생성했습니다.

절차

  1. 함수에 사용할 func.yaml 파일을 엽니다.
  2. 환경 변수에 할당할 구성 맵 키-값 쌍의 각 값에 대해 envs 섹션에 다음 YAML을 추가합니다.

    name: test
    namespace: ""
    runtime: go
    ...
    envs:
    - name: EXAMPLE
      value: '{{ configMap:myconfigmap:key }}'
    • EXAMPLE을 환경 변수 이름으로 대체합니다.
    • myconfigmap을 대상 구성 맵의 이름으로 대체합니다.
    • key를 대상 값에 매핑된 키로 대체합니다.

      예를 들어 userdetailsmap 에 저장된 사용자 ID에 액세스하려면 다음 YAML을 사용합니다.

      name: test
      namespace: ""
      runtime: go
      ...
      envs:
      - value: '{{ configMap:userdetailsmap:userid }}'
  3. 설정을 저장합니다.

10.3.5. 시크릿에 정의된 모든 값에서 환경 변수 설정

시크릿에 정의된 모든 값에서 환경 변수를 설정할 수 있습니다. 그런 다음 이전에 시크릿에 저장된 값은 런타임 시 함수에서 환경 변수로 액세스할 수 있습니다. 이 기능은 시크릿에 저장된 값 모음(예: 사용자와 관련된 데이터 집합)에 대한 액세스 권한을 동시에 얻는 데 유용할 수 있습니다.

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.
  • Knative(kn) CLI가 설치되어 있습니다.
  • 함수를 생성했습니다.

절차

  1. 함수에 사용할 func.yaml 파일을 엽니다.
  2. 모든 키-값 쌍을 환경 변수로 가져오려는 모든 시크릿에 다음 YAML을 envs 섹션에 추가합니다.

    name: test
    namespace: ""
    runtime: go
    ...
    envs:
    - value: '{{ secret:mysecret }}' 1
    1
    mysecret을 대상 시크릿의 이름으로 대체합니다.

    예를 들어 userdetailssecret 에 저장된 모든 사용자 데이터에 액세스하려면 다음 YAML을 사용합니다.

    name: test
    namespace: ""
    runtime: go
    ...
    envs:
    - value: '{{ configMap:userdetailssecret }}'
  3. 설정을 저장합니다.

10.3.6. 구성 맵에 정의된 모든 값에서 환경 변수 설정

구성 맵에 정의된 모든 값에서 환경 변수를 설정할 수 있습니다. 구성 맵에 이전에 저장된 값은 런타임 시 함수에서 환경 변수로 액세스할 수 있습니다. 이 기능은 구성 맵에 저장된 값 컬렉션에 동시에 액세스하는 데 유용할 수 있습니다(예: 사용자와 관련된 데이터 세트).

사전 요구 사항

  • OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.
  • Knative(kn) CLI가 설치되어 있습니다.
  • 함수를 생성했습니다.

절차

  1. 함수에 사용할 func.yaml 파일을 엽니다.
  2. 모든 키-값 쌍을 환경 변수로 가져오려는 모든 구성 맵에 대해 envs 섹션에 다음 YAML을 추가합니다.

    name: test
    namespace: ""
    runtime: go
    ...
    envs:
    - value: '{{ configMap:myconfigmap }}' 1
    1
    myconfigmap을 대상 구성 맵의 이름으로 대체합니다.

    예를 들어 userdetailsmap 에 저장된 모든 사용자 데이터에 액세스하려면 다음 YAML을 사용합니다.

    name: test
    namespace: ""
    runtime: go
    ...
    envs:
    - value: '{{ configMap:userdetailsmap }}'
  3. 파일을 저장합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.