Koyeb CLI로 서버리스 Docker 컨테이너 및 기능 배포

이제 Koyeb CLI(Command Line Interface)를 사용할 수 있으며 쉘에서 직접 모든 Koyeb 리소스를 관리할 수 있습니다! Koyeb CLI는 배포 환경을 개선하고 프로젝트를 개발할 때 Koyeb과 빠르게 상호 작용할 수 있는 방법을 제공하는 데 중요한 부분입니다.



엔지니어로서 우리는 터미널을 사용하는 데 몇 시간을 소비하므로 CLI를 최대한 간단하고 직관적으로 설계했습니다. CLI를 사용하면 터미널을 벗어나지 않고도 대량 작업을 쉽게 자동화하고 수행할 수 있습니다. 이 첫 번째 릴리스를 사용하면 Docker 컨테이너를 빠르게 배포하고, 스택 및 비밀을 구성하고, 함수를 호출하고, 실행을 모니터링하는 등의 작업을 할 수 있습니다!

이 게시물에서는 CLI를 사용하여 다음을 수행하는 방법을 확인합니다.
  • Deploy and run Docker containers
  • Deploy Python and Node.js functions

  • 시작하여 몇 가지 멋진 기능을 사용해 봅시다!

    시작하기



    설치



    Koyeb CLI는 Linux, macOS 및 Windows용pre-compiled binaries 또는 이동 패키지로 사용할 수 있습니다. 일단 설치되면 koyeb 명령을 셸에서 직접 사용할 수 있습니다. 자세한 내용은 installation instructions에서 확인하세요!

    로그인



    설치가 완료되면 koyeb init를 입력하여 CLI 구성을 생성합니다.

    ➜ koyeb init
    ? Do you want to create a new configuration file in (/Users/kbot/.koyeb.yaml)? [y/N]
    Enter your api credential: ****************************************************************█
    INFO[0006] Creating new configuration in /Users/kbot/.koyeb.yaml
    


    CLI는 Koyeb API 토큰을 요청합니다. 직접 생성할 수 있습니다from the
    control panel
    .

    Docker 컨테이너 배포 및 실행


    Hello World 컨테이너



    CLI를 사용하여 Docker 컨테이너를 배포하려면 다음을 사용하여 YAML 파일을 생성하기만 하면 됩니다.
    대상 구성. 구성에서 간단한 hello-world 기능으로 시작하겠습니다.

    functions:
      - name: hello-world
        image: ubuntu
        command: ["bash", "-c", "echo 'hello-world from Koyeb'"]
    


    이제 다음을 사용하여 hello-stack이라는 새 스택을 생성할 수 있습니다.koyeb create stack -n <stack_name>koyeb create revision <stack_name> -f <config.yaml>로 구성을 배포합니다.

    koyeb create stack -n hello-stack
    koyeb create revision hello-stack -f koyeb.yaml
    


    스택이 배포되었습니다. koyeb get revision <stack_name>로 상태를 확인하겠습니다.

    $ koyeb get revision hello-stack
    SHA                                         COMMIT INFO MESSAGE STATUS  CREATED AT
    ea7efa270c91548b66308830c48a35415d0d496b                        ACTIVE  2020-11-24T14:17:18.393Z
    


    스택이 BUILDING 상태인 경우 몇 초만 기다리십시오.
    배포를 완료합니다.

    함수를 호출하려면 koyeb invoke function <stack_name> <function_name> 를 사용하십시오.--tail를 사용하여 실행될 때 스트리밍된 로그를 얻을 수 있습니다.

    $ koyeb invoke function hello-stack hello-world --tail
    INFO[0000] Event sent: 713cb3ae-11df-499f-8a0b-c5b3d7ffe448
    INFO[0006] hello-world from Koyeb
    INFO[0020] Function exited with state SUCCEEDED
    


    짜잔! 함수를 배포하고 호출하는 방법을 알고 있습니다.

    Koyeb CLI로 이벤트 및 매개변수 보내기



    API에서 데이터를 가져오는 fetch-api라는 두 번째 함수를 배포합니다. 스크랩할 API는 받은 이벤트에서 결정됩니다.
    이를 위해 stedolan/jq Docker 이미지를 사용하여 JSON 이벤트에서 올바른 필드를 읽습니다.
    koyeb.yaml 파일을 다음과 같이 수정해 보겠습니다.

    functions:
      - name: hello-world
        image: ubuntu
        command: ["bash", "-c", "echo 'hello-world from Koyeb'"]
      - name: fetch-api
        image: stedolan/jq
        command: ["bash", "-c"]
        args: ['wget -q -O - `jq -r .data.url /koyeb/events/in/raw`']
    


    이제 이 새 버전의 스택을 koyeb create revision hello-stack -f koyeb.yaml로 배포하고 koyeb get revision로 배포를 따를 수 있습니다.

    $ koyeb get revision hello-stack
    SHA                                         COMMIT INFO MESSAGE STATUS      CREATED AT
    8a1e6c7f1c660c91f50cd89a5b69451dbd93fe1b                        ACTIVE      2020-11-24T14:34:56.371Z
    ea7efa270c91548b66308830c48a35415d0d496b                        STOPPING    2020-11-24T14:17:18.393Z
    


    이제 스크랩할 url로 함수를 호출합니다. Koyeb은 cloudevent 사양을 사용하여 이벤트 형식을 정의합니다. YAML 또는 JSON을 사용하여 함수로 보낼 이벤트를 작성할 수 있습니다. event.yaml 파일을 만들고 다음 내용으로 GitHub API를 가져오도록 요청합니다.

    type: scrap-request
    source: cli
    data:
      url: https://api.github.com/repos/koyeb/koyeb-cli/releases/latest
    


    이제 이 이벤트로 함수를 호출해 보겠습니다.

    ✗ koyeb invoke function hello-stack fetch-api --tail -f event.yaml
    INFO[0000] Event sent: 8a9721c4-0243-4e0a-a40d-6a22f4b23a8b
    INFO[0002] {
    INFO[0002]   "url": "https://api.github.com/repos/koyeb/koyeb-cli/releases/34190372",
    [..]
    INFO[0004] }
    INFO[0020] Function exited with state SUCCEEDED
    


    이제 쉘에서 직접 함수를 쉽게 호출하는 방법을 알았습니다!

    Python 및 Node.js 기능 배포



    Koyeb CLI를 사용하여 GitHub에서 배포된 코드 함수 및 컨테이너를 호출할 수도 있습니다.
    koyeb create stack를 사용하는 대신 web interface을 통해 GitHub 리포지토리를 연결하고 리포지토리에 koyeb.yaml 파일을 추가하기만 하면 됩니다. 배포가 자동으로 수행됩니다.
    매번 당신 git push . GitHub에 대한 자세한 내용을 읽을 수 있습니다.
    our documentation에 통합 .
    koyeb get revisionkoyeb invoke function는 다른 스택과 동일하게 사용할 수 있습니다.

    오늘 Koyeb CLI를 사용해보세요!



    Koyeb CLI는 Go로 작성되었으며 완전합니다open-source. 의견, 기능 요청 및 기여는 언제나 환영합니다!

    연말까지 매월 1000시간의 컴퓨팅, 1TB의 스토리지, 5TB의 대역폭을 무료로 제공하게 되어 기쁩니다! Sign up now

    질문이 있거나 피드백을 공유하려는 경우 항상 그렇듯이 support channel , Slack 또는 통합 인스턴트 메시징 시스템을 통해 연락할 수 있습니다.

    좋은 웹페이지 즐겨찾기