// Copyright (c) Alex Ellis 2017. All rights reserved. // Copyright (c) OpenFaaS Author(s) 2018. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information.
package main
import ( "fmt" "io/ioutil" "log" "os"
"handler/function" )
funcmain() { input, err := ioutil.ReadAll(os.Stdin) if err != nil { log.Fatalf("Unable to read standard input: %s", err.Error()) }
$ kubectl get events -n openfaas-fn --sort-by=.metadata.creationTimestamp LAST SEEN TYPE REASON OBJECT MESSAGE 16s Normal ScalingReplicaSet deployment/helloworld Scaled up replica set helloworld-94d9d4b64 to 1 15s Normal SuccessfulCreate replicaset/helloworld-94d9d4b64 Created pod: helloworld-94d9d4b64-6n8t5 15s Normal Scheduled pod/helloworld-94d9d4b64-6n8t5 Successfully assigned openfaas-fn/helloworld-94d9d4b64-6n8t5 to minikube 14s Normal Pulling pod/helloworld-94d9d4b64-6n8t5 Pulling image "192.168.1.9:5000/helloworld:latest" 3s Normal Pulled pod/helloworld-94d9d4b64-6n8t5 Successfully pulled image "192.168.1.9:5000/helloworld:latest" in 11.110315182s 1s Normal Created pod/helloworld-94d9d4b64-6n8t5 Created container helloworld 0s Normal Started pod/helloworld-94d9d4b64-6n8t5 Started container helloworld
faas-cli list コマンドでも Fucntion が登録出来たことを確認する。
1 2 3
$ faas-cli list --gateway 192.168.49.2:31112 Function Invocations Replicas helloworld 0 1
--verbose オプションを付与して実行すると、使用しているイメージ名が表示される。
1 2 3
$ faas-cli list --gateway=192.168.49.2:31112 --verbose Function Image Invocations Replicas helloworld 192.168.1.9:5000/helloworld:latest 0 1
続けて、kubectl でも Fucntion が登録出来たことを確認する。
1 2 3
$ kubectl -n openfaas-fn get deploy NAME READY UP-TO-DATE AVAILABLE AGE helloworld 1/1 1 1 6m45s
Function を実行する
実行
標準入力に文字列を入力し、Ctrl+D で読み込みを完了する。
1 2 3 4
$ faas-cli invoke helloworld --gateway=192.168.49.2:31112 Reading from STDIN - hit (Control + D) to stop. HELLO,WORLD Hello, Go. You said: HELLO,WORLD