8.3. Knative Client を使用した基本的なワークフロー
この基本的なワークフローを使用して、サービス上で作成 (create)、読み取り (read)、更新 (update)、削除 (delete) (CRUD) 操作を行います。以下の例では、環境変数 TARGET
を読み取る単純な Hello World サービスをデプロイし、その出力を印刷します。
手順
イメージからサービスを
デフォルト
namespace に作成します。$ kn service create hello --image gcr.io/knative-samples/helloworld-go --env TARGET=Knative Creating service 'hello' in namespace 'default': 0.085s The Route is still working to reflect the latest desired specification. 0.101s Configuration "hello" is waiting for a Revision to become ready. 11.590s ... 11.650s Ingress has not yet been reconciled. 11.726s Ready to serve. Service 'hello' created with latest revision 'hello-gsdks-1' and URL: http://hello.default.apps-crc.testing
サービスを一覧表示します。
$ kn service list NAME URL LATEST AGE CONDITIONS READY REASON hello http://hello.default.apps-crc.testing hello-gsdks-1 8m35s 3 OK / 3 True
curl
サービスエンドポイントコマンドを使用して、サービスが機能しているかどうかを確認します。$ curl http://hello.default.apps-crc.testing Hello Knative!
サービスを更新します。
$ kn service update hello --env TARGET=Kn Updating Service 'hello' in namespace 'default': 10.136s Traffic is not yet migrated to the latest revision. 10.175s Ingress has not yet been reconciled. 10.348s Ready to serve. Service 'hello' updated with latest revision 'hello-dghll-2' and URL: http://hello.default.apps-crc.testing
サービスの環境変数
TARGET
がKn
に設定されます。サービスを記述します。
$ kn service describe hello Name: hello Namespace: default Age: 13m URL: http://hello.default.apps-crc.testing Address: http://hello.default.svc.cluster.local Revisions: 100% @latest (hello-dghll-2) [2] (1m) Image: gcr.io/knative-samples/helloworld-go (pinned to 5ea96b) Conditions: OK TYPE AGE REASON ++ Ready 1m ++ ConfigurationsReady 1m ++ RoutesReady 1m
サービスを削除します。
$ kn service delete hello Service 'hello' successfully deleted in namespace 'default'.
次に、
hello
サービスに対してlist
を試行することにより、このサービスが削除されていることを確認できます。$ kn service list hello No services found.