3.6. OpenShift Serverless Functions 구성

애플리케이션 코드 배포 프로세스를 개선하기 위해 OpenShift Serverless를 사용하여 이벤트 중심 기능을 OpenShift Container Platform에서 Knative 서비스로 배포할 수 있습니다. 함수를 개발하려면 설정 단계를 완료해야 합니다.

3.6.1. 사전 요구 사항

클러스터에서 OpenShift Serverless Functions을 사용하려면 다음 단계를 완료해야 합니다.

  • OpenShift Serverless Operator 및 Knative Serving이 클러스터에 설치되어 있습니다.

    참고

    함수는 Knative 서비스로 배포됩니다. 함수와 함께 이벤트 중심 아키텍처를 사용하려면 Knative Eventing도 설치해야 합니다.

  • oc CLI 가 설치되어 있어야 합니다.
  • Knative(kn) CLI 가 설치되어 있습니다. Knative CLI를 설치하면 함수를 생성하고 관리하는 데 사용할 수 있는 kn func 명령을 사용할 수 있습니다.
  • Docker Container Engine 또는 Podman 버전 3.4.7 이상이 설치되어 있습니다.
  • OpenShift Container Registry와 같이 사용 가능한 이미지 레지스트리에 액세스할 수 있습니다.
  • Quay.io 를 이미지 레지스트리로 사용하는 경우 리포지토리가 비공개가 아니거나 Pod가 다른 보안 레지스트리의 이미지를 참조하도록 허용하는 OpenShift Container Platform 문서를 따르는지 확인해야 합니다.
  • OpenShift Container Registry를 사용하는 경우 클러스터 관리자가 레지스트리를 공개해야 합니다.

3.6.2. Podman 설정

고급 컨테이너 관리 기능을 사용하려면 OpenShift Serverless Functions와 함께 Podman을 사용할 수 있습니다. 이를 위해 Podman 서비스를 시작하고 Knative(kn) CLI를 구성하여 연결합니다.

절차

  1. ${XDG_RUNTIME_DIR}/podman/podman.sock:의 UNIX 소켓에서 Docker API를 제공하는 Podman 서비스를 시작합니다.

    $ systemctl start --user podman.socket
    참고

    대부분의 시스템에서 이 소켓은 /run/user/$(id -u)/podman/podman.sock에 있습니다.

  2. 기능을 구축하는 데 사용되는 환경 변수를 설정합니다.

    $ export DOCKER_HOST="unix://${XDG_RUNTIME_DIR}/podman/podman.sock"
  3. 자세한 출력을 보려면 -v 플래그를 사용하여 함수 프로젝트 디렉터리 내에서 build 명령을 실행합니다. 로컬 UNIX 소켓에 대한 연결이 표시됩니다.

    $ kn func build -v

3.6.3. macOS에서 Podman 설정

고급 컨테이너 관리 기능을 사용하려면 OpenShift Serverless Functions와 함께 Podman을 사용할 수 있습니다. macOS에서 이 작업을 수행하려면 Podman 머신을 시작하고 Knative(kn) CLI를 구성하여 연결합니다.

절차

  1. Podman 시스템을 생성합니다.

    $ podman machine init --memory=8192 --cpus=2 --disk-size=20
  2. UNIX 소켓에서 Docker API를 제공하는 Podman 시스템을 시작합니다.

    $ podman machine start
    Starting machine "podman-machine-default"
    Waiting for VM ...
    Mounting volume... /Users/myuser:/Users/user
    
    [...truncated output...]
    
    You can still connect Docker API clients by setting DOCKER_HOST using the
    following command in your terminal session:
    
    	export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
    
    Machine "podman-machine-default" started successfully
    참고

    대부분의 macOS 시스템에서 이 소켓은 /Users/myuser/.local/share/containers/podman/machine/podman-default/podman.sock 에 있습니다.

  3. 기능을 구축하는 데 사용되는 환경 변수를 설정합니다.

    $ export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
  4. 자세한 출력을 보려면 -v 플래그를 사용하여 함수 프로젝트 디렉터리 내에서 build 명령을 실행합니다. 로컬 UNIX 소켓에 대한 연결이 표시됩니다.

    $ kn func build -v

3.6.4. 다음 단계