12장. 함수 구성

12.1. CLI를 사용하여 함수에서 시크릿 및 구성 맵에 액세스

기능이 클러스터에 배포되면 시크릿 및 구성 맵에 저장된 데이터에 액세스할 수 있습니다. 이 데이터는 볼륨으로 마운트하거나 환경 변수에 할당할 수 있습니다. Knative CLI를 사용하거나 함수 구성 YAML 파일을 편집하여 수동으로 이 액세스를 대화식으로 구성할 수 있습니다.

중요

시크릿 및 구성 맵에 액세스하려면 함수를 클러스터에 배포해야 합니다. 이 기능은 로컬에서 실행되는 함수에 사용할 수 없습니다.

시크릿 또는 구성 맵 값에 액세스할 수 없는 경우 액세스할 수 없는 값을 지정하는 오류 메시지와 함께 배포가 실패합니다.

12.1.1. 시크릿 및 구성 맵에 대한 함수 액세스의 상호 작용 변경

kn func config 대화형 유틸리티를 사용하여 함수에서 액세스하는 시크릿 및 구성 맵을 관리할 수 있습니다. 사용 가능한 작업에는 구성 맵과 시크릿에 저장된 값을 환경 변수로 나열, 추가, 제거하고 볼륨을 나열, 추가 및 제거하는 작업이 포함됩니다. 이 기능을 사용하면 기능을 통해 클러스터에 저장된 데이터에 액세스할 수 있는 데이터를 관리할 수 있습니다.

사전 요구 사항

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

프로세스

  1. 함수 프로젝트에서 다음 명령을 실행합니다.

    $ kn func config

    또는 --path 또는 -p 옵션을 사용하여 함수 프로젝트 디렉터리를 지정할 수 있습니다.

  2. 대화형 인터페이스를 사용하여 필요한 작업을 수행합니다. 예를 들어 유틸리티를 사용하여 구성된 볼륨을 나열하면 다음과 유사한 출력이 생성됩니다.

    $ kn func config
    ? What do you want to configure? Volumes
    ? What operation do you want to perform? List
    Configured Volumes mounts:
    - Secret "mysecret" mounted at path: "/workspace/secret"
    - Secret "mysecret2" mounted at path: "/workspace/secret2"

    이 스키마는 대화형 유틸리티에서 사용할 수 있는 모든 작업과 해당 유틸리티로 이동하는 방법을 보여줍니다.

    kn func config
       ├─> Environment variables
       │               ├─> Add
       │               │    ├─> ConfigMap: Add all key-value pairs from a config map
       │               │    ├─> ConfigMap: Add value from a key in a config map
       │               │    ├─> Secret: Add all key-value pairs from a secret
       │               │    └─> Secret: Add value from a key in a secret
       │               ├─> List: List all configured environment variables
       │               └─> Remove: Remove a configured environment variable
       └─> Volumes
               ├─> Add
               │    ├─> ConfigMap: Mount a config map as a volume
               │    └─> Secret: Mount a secret as a volume
               ├─> List: List all configured volumes
               └─> Remove: Remove a configured volume
  3. 선택 사항: 함수를 배포하여 변경 사항을 적용합니다.

    $ kn func deploy -p test

12.1.2. 특수 명령을 사용하여 시크릿 및 구성 맵에 대한 함수 액세스 수정

kn func config 유틸리티를 실행할 때마다 전체 대화 상자를 탐색하여 이전 섹션에서와 같이 필요한 작업을 선택해야 합니다. 단계를 저장하려면 kn func config 명령 보다 구체적인 양식을 실행하여 특정 작업을 직접 수행합니다.

  • 구성된 환경 변수를 나열하려면 다음을 수행합니다.

    $ kn func config envs [-p <function-project-path>]
  • 함수 구성에 환경 변수를 추가하려면 다음을 수행합니다.

    $ kn func config envs add [-p <function-project-path>]
  • 함수 구성에서 환경 변수를 제거하려면 다음을 수행합니다.

    $ kn func config envs remove [-p <function-project-path>]
  • 구성된 볼륨을 나열하려면 다음을 수행합니다.

    $ kn func config volumes [-p <function-project-path>]
  • 함수 구성에 볼륨을 추가하려면 다음을 수행합니다.

    $ kn func config volumes add [-p <function-project-path>]
  • 함수 구성에서 볼륨을 제거하려면 다음을 수행합니다.

    $ kn func config volumes remove [-p <function-project-path>]