3장. 클러스터 내 기능 빌드 및 배포


함수를 로컬로 빌드하는 대신 클러스터에서 직접 함수를 빌드할 수 있습니다. 로컬 개발 시스템에서 이 워크플로를 사용하는 경우 함수 소스 코드만 사용해야 합니다. 예를 들어 docker 또는 podman과 같은 클러스터 함수 빌드 툴을 설치할 수 없는 경우 유용합니다.

3.1. 클러스터에서 함수 빌드 및 배포

Knative(kn) CLI를 사용하여 함수 프로젝트 빌드를 시작한 다음 클러스터에 함수를 직접 배포할 수 있습니다. 이러한 방식으로 함수 프로젝트를 빌드하려면 클러스터가 액세스할 수 있는 Git 리포지토리 분기에 함수 프로젝트의 소스 코드가 있어야 합니다.

사전 요구 사항

  • Red Hat OpenShift Pipelines가 클러스터에 설치되어 있어야 합니다.
  • OpenShift CLI(oc)가 설치되어 있습니다.
  • Knative(kn) CLI가 설치되어 있습니다.

절차

  1. OpenShift Pipelines를 실행하고 함수를 배포하려는 각 네임스페이스에서 다음 리소스를 생성해야 합니다.

    1. 파이프라인에서 Source-to-Image를 사용할 수 있도록 s2i Tekton 작업을 생성합니다.

      $ oc apply -f https://raw.githubusercontent.com/openshift-knative/kn-plugin-func/serverless-1.28.0/pipelines/resources/tekton/task/func-s2i/0.1/func-s2i.yaml
    2. 파이프라인에 함수를 배포할 수 있도록 kn func deploy Tekton 작업을 생성합니다.

      $ oc apply -f https://raw.githubusercontent.com/openshift-knative/kn-plugin-func/serverless-1.28.0/pipelines/resources/tekton/task/func-deploy/0.1/func-deploy.yaml
  2. 함수를 생성합니다.

    $ kn func create <function_name> -l <runtime>
  3. 새 함수 프로젝트를 생성한 후에는 프로젝트를 Git 리포지토리에 추가하고 클러스터에서 리포지토리를 사용할 수 있는지 확인해야 합니다. 이 Git 리포지토리에 대한 정보는 다음 단계에서 func.yaml 파일을 업데이트하는 데 사용됩니다.
  4. 함수 프로젝트의 func.yaml 파일에서 Git 리포지토리에 대한 클러스터 내 빌드를 활성화하도록 구성을 업데이트합니다.

    ...
    git:
      url: <git_repository_url> 1
      revision: main 2
      contextDir: <directory_path> 3
    ...
    1
    필수 항목입니다. 함수의 소스 코드가 포함된 Git 리포지토리를 지정합니다.
    2
    선택 사항: 사용할 Git 리포지토리 버전을 지정합니다. 이는 분기, 태그 또는 커밋일 수 있습니다.
    3
    선택 사항: 함수가 Git 리포지토리 루트 폴더에 없는 경우 함수의 디렉터리 경로를 지정합니다.
  5. 함수의 비즈니스 논리를 구현합니다. 그런 다음 Git을 사용하여 변경 사항을 커밋하고 내보냅니다.
  6. 함수를 배포합니다.

    $ kn func deploy --remote

    함수 구성에서 참조되는 컨테이너 레지스트리에 로그인하지 않은 경우 함수 이미지를 호스팅하는 원격 컨테이너 레지스트리에 대한 인증 정보를 제공하라는 메시지가 표시됩니다.

    출력 및 프롬프트 예

    🕕 Creating Pipeline resources
    Please provide credentials for image registry used by Pipeline.
    ? Server: https://index.docker.io/v1/
    ? Username: my-repo
    ? Password: ********
       Function deployed at URL: http://test-function.default.svc.cluster.local

  7. 함수를 업데이트하려면 Git을 사용하여 새 변경 사항을 커밋하고 내보낸 다음 kn func deploy --remote 명령을 다시 실행합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.