Google Cloud 외부에 Knative serving 설치

Google Cloud 외부에서 GKE 클러스터에 Knative serving을 설치하는 방법을 알아봅니다. 이제 Knative serving에 Anthos Service Mesh 및 GKE Enterprise Fleet가 사용됩니다. Knative serving Fleet 설치의 새로운 기능 및 변경사항에 대해 알아봅니다.

VMware용 Knative servingGA 수준 설치 가이드를 참조하세요.

다음 GKE 클러스터에 대한 지원은 미리보기로 제공됩니다.

이 페이지의 단계에 따라 Knative serving의 새 설치를 구성하거나 Knative serving의 기존 Fleet 설치를 업그레이드합니다.

시작하기 전에

설치 기본 요건을 충족하는지 확인해야 합니다.

CloudRun 커스텀 리소스 구성

설치를 구성하려면 CloudRun 커스텀 리소스를 수동으로 만들고 구성해야 합니다.

Google Cloud 외부에 있는 GKE 클러스터의 CloudRun 커스텀 리소스를 수동으로 만들려면 다음 안내를 따르세요.

  1. 필요한 모니터링 측정항목 작성자 역할(monitoring.metricWriter)이 부여된 기존 서비스 계정을 만들거나 기존 계정이 있어야 합니다.

    • 새 서비스 계정을 만들고 키를 다운로드하려면 서비스 계정 사용을 참조하세요.

    • 필요한 권한이 있는 기존 서비스 계정이 있으면 해당 서비스 계정을 만들었을 때 다운로드한 키를 찾습니다.

  2. GKE 클러스터에 Cloud Monitoring이 사용 설정되어 있는지 확인합니다.

  3. knative-serving 네임스페이스를 만듭니다.

    kubectl create namespace knative-serving
    
  4. monitoring.metricWriter 권한이 있는 서비스 계정을 갖고 있는 knative-serving 네임스페이스에 보안 비밀을 만듭니다.

    kubectl create secret -n knative-serving generic SECRET_NAME --from-file=PATH_TO_KEY_FILE/SECRET_KEY
    

    다음과 같이 바꿉니다.

    • SECRET_NAME을 보안 비밀에 선택한 이름으로 바꿉니다.
    • SECRET_KEY를 사용자 인증 정보가 포함된 파일의 이름으로 바꿉니다. 예를 들면 key.json입니다.
    • PATH_TO_KEY_FILESECRET_KEY의 디렉터리 경로로 바꿉니다.

    선택적인 플래그를 포함하여 자세히 알아보려면 kubectl create secret 참조를 확인하세요.

  5. 다음 속성을 사용하여 YAML 파일을 만듭니다(예: cloudrunanthos.yaml).

    apiVersion: operator.run.cloud.google.com/v1alpha1
    kind: CloudRun
    metadata:
      name: cloud-run
    spec:
      metricscollector:
        stackdriver:
          projectid: PROJECT_ID
          gcpzone: CLUSTER_LOCATION
          clustername: CLUSTER_NAME
          secretname: SECRET_NAME
          secretkey: SECRET_KEY
    

    다음을 바꿉니다.

    • PROJECT_ID를 Google Cloud 프로젝트의 ID로 바꿉니다.
    • CLUSTER_LOCATION을 클러스터가 있는 리전 또는 영역으로 바꿉니다.
    • CLUSTER_NAME을 클러스터 ID 또는 클러스터의 정규화된 식별자로 바꿉니다.
    • SECRET_NAMEknative-serving 네임스페이스의 서비스 계정에 대한 보안 비밀 이름으로 바꿉니다.
    • SECRET_KEYknative-serving 네임스페이스 서비스 계정에 대한 보안 비밀 키로 바꿉니다. 예를 들면 key.json입니다.

      서비스 계정에 대한 자세한 내용은 다음을 참조하세요.

    예시

    이 예시 CloudRun 커스텀 리소스에서 Cloud Monitoring에 대한 구성 세부정보는 my-gcp-logging-secret 보안 비밀 및 key.json 키를 사용하도록 지정됩니다.

     apiVersion: operator.run.cloud.google.com/v1alpha1
     kind: CloudRun
     metadata:
       name: cloud-run
     spec:
       metricscollector:
         stackdriver:
           projectid: my-gcp-project-id
           gcpzone: us-central1-c
           clustername: my-anthos-cluster-name
           secretname: my-gcp-logging-secret
           secretkey: key.json
     ```
    

Knative serving 사용 설정 및 설치

GKE Enterprise Fleet에서 Knative serving 구성요소를 사용 설정한 후 CloudRun 커스텀 리소스를 배포합니다.

  1. Fleet에서 Knative serving을 사용 설정합니다.

    gcloud container fleet cloudrun enable --project=PROJECT_ID
    

    PROJECT_ID를 Google Cloud 프로젝트의 ID로 바꿉니다.

    자세한 내용과 추가 옵션은 gcloud container fleet cloudrun enable 참조를 확인하세요.

  2. 선택사항: Knative serving 기능 구성요소가 사용 설정되어 있는지 확인합니다.

    콘솔

    Google Cloud 콘솔에서 Knative serving 구성요소가 사용 설정되어 있는지 확인합니다.

    GKE Enterprise 기능으로 이동

    명령줄

    appdevexperience 상태가 ACTIVE인지 확인합니다.

    gcloud container fleet features list  --project=PROJECT_ID
    

    PROJECT_ID를 Google Cloud 프로젝트의 ID로 바꿉니다.

    자세한 내용과 추가 옵션은 gcloud container fleet features list 참조를 확인하세요.

    결과:

    NAME               STATE
    appdevexperience   ACTIVE
    
  3. Knative serving을 설치할 각 GKE Enterprise 클러스터에 대해 CloudRun 커스텀 리소스를 배포해야 합니다.

    gcloud

    gcloud container fleet cloudrun apply --kubeconfig=KUBECONFIG --context=CONTEXT --config=CONFIG_FILE
    

    다음을 바꿉니다.

    • KUBECONFIG를 kubectl 구성 파일의 절대 경로로 바꿉니다.
    • CONTEXT를 연결에 사용할 kubectl 구성 파일의 컨텍스트 이름으로 바꿉니다.
    • CONFIG_FILEcloudRun 커스텀 리소스의 파일 이름 상대 경로로 바꿉니다. 예를 들면 cloudrunanthos.yaml입니다.

    자세한 내용과 추가 옵션은 gcloud container fleet cloudrun apply 참조를 확인하세요.

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    다음을 바꿉니다.

    • KUBECONFIG를 kubectl 구성 파일의 절대 경로로 바꿉니다.
    • CONFIG_FILEcloudRun 커스텀 리소스의 파일 이름과 상대 경로로 바꿉니다. 예를 들면 cloudrunanthos.yaml입니다.

    자세한 내용과 추가 옵션은 kubectl apply 참조를 확인하세요.

  4. Knative serving이 클러스터에 사용 설정되었는지 확인합니다.
    1. Google Cloud 콘솔을 엽니다.

      GKE Enterprise 클러스터로 이동

    2. 클러스터 이름을 클릭하여 세부정보 창을 엽니다.

    3. 다음 명령어를 실행하여 Knative serving 버전 세부정보가 표시되는지 확인합니다. kubectl get namespace knative-serving -o 'go-template={{index .metadata.labels "serving.knative.dev/release"}}'
    4. knative-servingappdevexperience 네임스페이스에서 모든 Knative serving 관련 배포가 실행 중인 상태인지 확인합니다.

다음 단계

Knative serving 설치 설정하기