VMware への Knative serving のインストール

Google Cloud の外部にある GKE クラスタに Knative serving をインストールする方法について説明します。Knative serving では、Cloud Service Mesh と GKE Enterprise フリートが使用されるようになりました。Knative serving フリートのインストールの新機能と変更点はこちらをご覧ください

警告: このページの手順を行うと、VMware に Knative serving の新規インストールが実行され、以前のフリートでないインストールは不可逆的に上書きされます。以前に Knative serving を有効にしたクラスタでは、以降の手順を実行しないでください。

以前に「無料トライアル」でインストールした Knative serving の場合は、まず GKE Enterprise フリートを使用するように VMware の Knative serving をアップグレードする必要があります。

このページで説明する手順を使用して、Knative serving の新規インストールを構成するか、既存のフリート インストールを更新します。

始める前に

インストールの前提条件を満たしていることを確認する必要があります。

CloudRun カスタム リソースを構成する

インストールを構成するには、CloudRun カスタム リソースを手動で作成して構成する必要があります。

Google Cloud の外部にある GKE クラスタ用に CloudRun カスタム リソースを手動で作成するには、以下の手順を行います。

  1. 必要なモニタリング指標の書き込みロールmonitoring.metricWriter)が付与されたサービス アカウントを作成するか、既存のサービス アカウントが必要です。

    • 新しいサービス アカウントを作成してキーをダウンロードするには、サービス アカウントの使用をご覧ください。

    • 必要な権限を持つ既存のサービス アカウントがある場合は、そのサービス アカウントを作成したときにダウンロードしたキーを探します。

  2. GKE on VMware で Cloud Monitoring が有効になっていることを確認します

  3. knative-serving 名前空間を作成します。

    kubectl create namespace knative-serving
    
  4. monitoring.metricWriter 権限を持つサービス アカウントを保持する Secret を knative-serving 名前空間に作成します。

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

    次のように置き換えます。

    • SECRET_NAME を、Secret に選択した名前に置き換えます。
    • SECRET_KEY は、認証情報が含まれるファイルの名前に置き換えます。例: key.json
    • PATH_TO_KEY_FILE は、SECRET_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_NAME: knative-serving 名前空間のサービス アカウントの Secret の名前。
    • SECRET_KEY: knative-serving 名前空間のサービス アカウントの Secret のキー。例: key.json

      サービス アカウントの詳細については、以下をご覧ください。

    例:

    この CloudRun カスタム リソースの例では、my-gcp-logging-secret シークレットと key.json キーを使用するように Cloud Monitoring の構成の詳細が指定されています。

     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 フリートで Knative serving コンポーネントを有効にして、CloudRun カスタム リソースをデプロイします。

  1. フリートで 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_FILE: cloudRun カスタム リソースへのファイル名の相対パス。(例: cloudrunanthos.yaml)。

    詳細とその他のオプションについては、gcloud container fleet cloudrun apply のリファレンスをご覧ください。

    kubectl

    kubectl apply --kubeconfig=KUBECONFIG --filename CONFIG_FILE
    

    以下を置き換えます。

    • KUBECONFIG: kubectl 構成ファイルへの絶対パス。
    • CONFIG_FILE は、cloudRun カスタム リソース定義のファイル名と相対パスに置き換えます(例: 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 のインストールを設定する