関数のデプロイ¶
関数をデプロイすると、関数の OCI コンテナーイメージが作成され、コンテナーイメージがイメージレジストリにプッシュされます。この関数は Knative サービスとしてクラスタにデプロイされます。関数を再デプロイすると、コンテナーイメージとクラスタ上で実行されているサービスが更新されます。クラスタにデプロイされた関数には、他の Knative サービスと同じようにクラスタからアクセスできます。
前提条件¶
-
ローカルマシンに Docker デーモンがあります。これは、スタートアップインストールを使用した場合はすでに提供されています。
-
コンテナーレジストリにアクセスできるため、イメージをこのレジストリにプッシュできます。イメージレジストリの中には、新しくプッシュされたイメージを既定では private に設定するものがあります。関数を初めてデプロイする場合は、イメージを public に設定する必要がある場合があります。
手順¶
deploy
コマンドは、関数プロジェクト名を Knative サービス名として使用します。関数がビルドされると、プロジェクト名とイメージレジストリ名が使用されて関数の完全修飾イメージ名が構築されます。
プロジェクトディレクトリ内でコマンドを実行して関数をデプロイします。
func deploy --registry <registry>
プロジェクトディレクトリ内でコマンドを実行して関数をデプロイします。
kn func deploy --registry <registry>
予想される出力
🙌 Function image built: <registry>/hello:latest
✅ Function deployed in namespace "default" and exposed at URL:
http://hello.default.127.0.0.1.sslip.io
invoke
コマンドを使用し、出力を観察することにより、関数が正常にデプロイされたことを確認できます
func invoke
kn func invoke
予想される出力
Received response
POST / HTTP/1.1 hello.default.127.0.0.1.sslip.io
User-Agent: Go-http-client/1.1
Content-Length: 25
Accept-Encoding: gzip
Content-Type: application/json
K-Proxy-Request: activator
X-Request-Id: 9e351834-0542-4f32-9928-3a5d6aece30c
Forwarded: for=10.244.0.15;proto=http
X-Forwarded-For: 10.244.0.15, 10.244.0.9
X-Forwarded-Proto: http
Body: