Ka mutu tenei tuhinga i te raupapa o nga korero kua whakamaoritia mo OpenWhisk mai i te kaituhi Priti Desai. I tenei ra ka titiro tatou ki te tukanga o te tuku OpenWhisk ki runga i nga Kubernetes me nga whakahau kua whakatikahia hei mahi me nga putanga o naianei o nga tono. Ka kapi hoki i te mahi whakahaere i nga mahi OpenWhisk ma te whakamahi i te Knative me TektonCD i runga i nga Kubernetes ma te whakamahi i te wa whakahaere Nodejs.
Te whakamahi i te OpenWhisk ki nga Kubernetes
I roto i nga ra torutoru, i whakamatau ahau ki te tuku OpenWhisk ki Kubernetes ki te hanga i tetahi waahi whakamatautau ngawari me te tere. A, i te mea he hou ahau ki a Kubernetes, e whakapono ana ahau kua pau te ra me te hawhe mo te tuku angitu. IN tenei He tino marama nga tohutohu mo te tuku OpenWhisk ki runga i nga Kubernetes. Anei nga tohutohu tuku mo Mac (Ka mahia ano e ahau nga mea katoa i runga i te Linux na te mea he pai ki ahau te Linux. — āhua. kaiwhakamaori).
Te tāuta i te kaiwhakahaere mōkihi asdf, ka mutu ka whakatika aunoa ~/.bash_profile he rite ranei ki tenei:
[Ano, pekehia tenei taahiraa i runga i te Linux. — āhua. kaiwhakamaori]
Tāutahia te minikube me te kubelet:
$ asdf install kubectl 1.9.0
$ asdf global kubectl 1.9.0
$ asdf install minikube 0.25.2
$ asdf global minikube 0.25.2
[kua whakauruhia nga putanga motuhake, engari i tirotirohia e au nga mea katoa mo nga putanga hou mo Linux; Ki taku whakaaro ka taea e koe te whakauru i nga mea hou. — āhua. kaiwhakamaori]
I runga i te Linux, ka mahia tenei mahi penei (kua whakauruhia nga mea katoa ki roto i te ~/bin, kua raarangi ki taku PATH, te tuhipoka a te kaiwhakamaori):
$ brew install kubernetes-helm
$ helm init # init Helm Tiller, не нужно на Helm v3+
$ kubectl get pods -n kube-system # verify that tiller-deploy is in the running state, не нужно на helm v3+
$ kubectl create clusterrolebinding tiller-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default
$ helm install ./openwhisk/helm/ --namespace=openwhisk -f mycluster.yaml
[I runga i te Linux me nga putanga hou (i watea mai a v3.0.1) ka rereke te ahua. — āhua. kaiwhakamaori]
$ wsk property set --apihost 192.168.99.100:31001
$ wsk property set --auth 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP
Ka tirohia e matou:
$ wsk -i list
Entities in namespace: default
packages
actions
triggers
rules
Nga raruraru me o raatau otinga
getsockopt: karekau he hononga
$ wsk -i list
error: Unable to obtain the list of entities for namespace 'default': Get http://192.168.99.100:31001/api/v1/namespaces/_/actions?limit=0&skip=0: dial tcp 192.168.99.100:31001: getsockopt: connection refused
Te tirotiro kei roto nga ipu i te mokowāingoa openwhisk i te mana Running, no te mea i etahi wa ka pakaru ki nga hapa CreateContainerConfigError.
Kei te arawhiti tonu te Kaiwaea — Init:1/2
Ka roa pea te mahi tango i nga momo taiao whakahaere. Hei tere ake, ka taea e koe te tohu i te raarangi iti rawa atu i roto i te konae mycluster.yaml:
whisk:
runtimes: "runtimes-minimal-travis.json"
Ipu me te ingoa -tāuta-pōkai- ka taka ki te Hapa
Whakanuia noa nga waahi mo nga whakamatautau oranga.
Te whakauru i te OpenWhisk ki runga Knative
I mahia e Priti Desai te whakaurunga ki runga ake o te kahui i roto i te kapua IBM, tae atu ki te minikube auau, ma te whakamahi i nga Knative Build and BuildTemplates. Ka whakauru ano ahau ki runga o te minukube, i runga i te pehea i whakaahuatia i roto i to maatau rangitaki i mua - ma te whakamahi i nga putanga rorohiko hou. I te mea kua whakakorehia a Knative Build and BuildTemplates, ka whakamahia e au te whakakapinga e taunakitia ana ki te ahua o Tekton Pipelines. Ko te toenga o te tuhinga i tuhia i muri i te panui i nga tuhinga mo Tekton Pipelines, engari kei runga i nga whakaaro o Priti. Ki te mahi, ka hiahia koe ki te uru ki etahi Docker Registry - Ko ahau, pera i te kaituhi taketake, ka whakamahi i a DockerHub.
Ka hoatu e matou nga raraunga o naianei mo tenei konae:
$ sed 's/${DOCKER_USERNAME}/'"$DOCKER_USERNAME"'/' -i taskrun.yaml
Ka tono matou:
$ kubectl apply -f taskrun.yaml
pipelineresource.tekton.dev/openwhisk-nodejs-runtime-git created
pipelineresource.tekton.dev/openwhisk-nodejs-helloworld-image created
taskrun.tekton.dev/openwhisk-nodejs-helloworld created
Ko te arowhai i te mahi ko te tango i te ingoa o te pd me te tiro i tona mana. Ka taea hoki e koe te tiro i te raarangi mahi o ia taahiraa, hei tauira:
$ kubectl get taskrun
NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME
openwhisk-nodejs-helloworld True Succeeded 5m15s 44s
$ kubectl get pod openwhisk-nodejs-helloworld-pod-4640d3
NAME READY STATUS RESTARTS AGE
openwhisk-nodejs-helloworld-pod-4640d3 0/6 Completed 0 5m20s
$ kubectl logs openwhisk-nodejs-helloworld-pod-4640d3 -c step-git-source-openwhisk-nodejs-runtime-git-r8vhr
{"level":"info","ts":1576532931.5880227,"logger":"fallback-logger","caller":"logging/config.go:69","msg":"Fetch GitHub commit ID from kodata failed: open /var/run/ko/refs/heads/master: no such file or directory"}
{"level":"info","ts":1576532936.538926,"logger":"fallback-logger","caller":"git/git.go:81","msg":"Successfully cloned https://github.com/apache/openwhisk-runtime-nodejs.git @ master in path /workspace/runtime-git"}
{"level":"warn","ts":1576532936.5395331,"logger":"fallback-logger","caller":"git/git.go:128","msg":"Unexpected error: creating symlink: symlink /tekton/home/.ssh /root/.ssh: file exists"}
{"level":"info","ts":1576532936.8202565,"logger":"fallback-logger","caller":"git/git.go:109","msg":"Successfully initialized and updated submodules in path /workspace/runtime-git"}
I muri i te mahi, ka whai ahua taatau ki te Rehita ka taea te whakamahi ma te whakamahi i te taputapu kn, i hangaia hei mahi me nga ratonga Knative, hei tauira:
kn service create nodejs-helloworld --image docker.io/${DOCKER_USERNAME}/openwhisk-nodejs-helloworld
Service 'nodejs-helloworld' successfully created in namespace 'default'.
Waiting for service 'nodejs-helloworld' to become ready ... OK
Service URL:
http://nodejs-helloworld.default.example.com
Mena ka whakamahi koe i te Gloo, ka taea e koe te tirotiro i tana mahi penei: