코드 엔진에서 Knative 사용

IBM Cloud® Code Engine은 빌드된 기본 기술과 상호 작용할 필요가 없도록 설계되었습니다. 그러나 Knative를 기반으로 하는 기존 도구가 있는 경우 Code Engine에서 해당 도구를 계속 사용할 수 있습니다. Code Engine은 Knative API 및 Kubernetes와 및 해당 CLI 명령을 지원합니다. Kubernetes에 대한 자세한 정보는 코드 엔진에서 Kubernetes 사용을 참조하십시오.

지원되는 Knative 버전은 무엇입니까?

Code Engine 버전은 1.15 Knative API 및 해당 CLI 명령을 지원합니다.

Knative 명령행 인터페이스 설치

Knative kn 를 설치하려면 Knative CLI를 다운로드하여 설치합니다.

Code Engine에서 Knative를 사용하려면 먼저 Code Engine의 Kubernetes API와 상호작용하도록 환경을 설정해야 합니다. 자세한 정보는 Kubernetes 명령행 인터페이스 설치를 참조하십시오.

Kubernetes 및 Knative에 대한 자세한 정보와 Code Engine 아키텍처에서 작동하는 방식에 대한 자세한 정보는 Code Engine 아키텍처 및 워크로드 격리 알아보기를 참조하십시오.

Kubernetes API와 상호작용

Kubernetes 명령행 인터페이스(kubectl) 또는 Knative(kn)에서 프로젝트와 상호작용하려면 Code Engine의 Kubernetes API와 상호작용하도록 환경을 설정해야 합니다.

시작하기 전에

다음과 같은 방법으로 환경을 설정할 수 있습니다.

  • --kubecfg 명령에 project select 옵션을 추가할 수 있습니다. 예를 들면 다음과 같습니다.

    ibmcloud ce project select --name PROJECT_NAME --kubecfg
    
  • kubeconfig 파일을 직접 내보낼 수 있습니다. 현재 대상 프로젝트를 찾으려면 ibmcloud ce project current 명령을 실행하십시오. 이 명령은 또한 kubeconfig 파일에 대해 export 명령을 리턴합니다. 예를 들면 다음과 같습니다.

    ibmcloud ce project current
    

    출력 예

    Getting the current project context...
    OK
    
    Name:       myproject
    ID:         01234567-abcd-abcd-abcd-abcdabcd1111
    Subdomain:  aabon2dfwa0
    Domain:     us-south.codeengine.appdomain.cloud
    Region:     us-south
    Kubectl Context:  4svg40kna19
    
    Kubernetes Config:
    Context:             aabon2dfwa0
    Environment Variable: export KUBECONFIG=/user/myusername/.bluemix/plugins/code-engine/myproject-01234567-abcd-abcd-abcd-abcdabcd1111.yaml
    

    그런 다음 내보내기 명령을 복사하여 명령행 인터페이스에 붙여넣은 후 실행하십시오.

kubectl config 명령을 실행하여 환경이 올바르게 설정되었는지 확인하십시오.

kubectl config current-context

컨텍스트가 올바르게 설정된 경우 출력은 프로젝트의 Kubectl Context 값과 일치합니다. 예를 들어, 프로젝트의 값이 Kubectl Context 값이 4svg40kna19이면 명령은 4svg40kna19를 리턴합니다.

Kubernetes 및 Code Engine 아키텍처에서의 작동 방법에 대한 자세한 정보는 Code Engine 아키텍처 및 워크로드 격리에 대해 알아보기를 참조하십시오.

Knative API 작업에 필요한 액세스 권한

환경을 설정한 후에는 Knative API와 상호 작용할 수 있습니다. 특정 태스크에 대한 올바른 레벨의 권한이 있어야 합니다. 이러한 역할은 ID및 액세스 관리에서 설정됩니다. IBM Cloud 서비스 역할을 참조하십시오.

네이티브 권한
자원 관리자 역할 작성자 역할 독자 역할
services.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
configurations.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
routes.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
revisions.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
pingsource.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch
kafkasource.serving.knative.dev get, list, watch, create, delete, update, patch, apply, edit get, list, watch, create, delete, update, patch, apply, edit get, list, watch