Helm/Fission: Difference between revisions
Jump to navigation
Jump to search
(13 intermediate revisions by the same user not shown) | |||
Line 195: | Line 195: | ||
==Uninstall== | ==Uninstall== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
helm uninstall -n fission fission | helm uninstall -n fission fission | ||
kubectl delete | kubectl delete namespace fission | ||
kubectl get crd|grep fission.io | |||
kubectl delete crd packages.fission.io | |||
kubectl delete crd functions.fission.io | |||
kubectl delete crd environments.fission.io | |||
kubectl delete crd httptriggers.fission.io | |||
kubectl delete crd timetriggers.fission.io | |||
kubectl delete crd canaryconfigs.fission.io | |||
kubectl delete crd messagequeuetriggers.fission.io | |||
kubectl delete crd kuberneteswatchtriggers.fission.io | |||
kubectl get apiservice | |||
kubectl delete apiservice v1beta1.external.metrics.k8s.io | |||
kubectl patch ns fission -p '{"metadata":{"finalizers":null}}'s":null}}' | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 207: | Line 222: | ||
ls -lah ${HOME}/Documents/fission-playground/ | ls -lah ${HOME}/Documents/fission-playground/ | ||
cd ${HOME}/Documents/fission-playground/ | cd ${HOME}/Documents/fission-playground/ | ||
fission env list | |||
fission fn list | |||
fission ht list | |||
fission pkg list | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 212: | Line 232: | ||
---- | ---- | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
fission env create --name go --image ghcr.io/fission/go-env --builder ghcr.io/fission/go-builder | fission env create --name=go --image=ghcr.io/fission/go-env --builder=ghcr.io/fission/go-builder | ||
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/go/hello-world/hello.go -o hello.go | curl -fsSL https://raw.githubusercontent.com/fission/examples/main/go/hello-world/hello.go -o hello.go | ||
fission | fission fn create --name=hello-go --env go --src hello.go --entrypoint Handler | ||
fission | fission fn test --name=hello-go | ||
fission function | fission ht create --name=get-hello-go --method=GET --url=/api/hello/go --function=hello-go | ||
fission | curl http://fission.k8s.local/api/hello/go | ||
fission pkg delete --name hello-go-<uuid> -f | fission pkg delete --name=hello-go-<uuid> -f | ||
fission | fission ht delete --name=get-hello-go | ||
fission env delete --name go | fission fn delete --name=hello-go | ||
fission env delete --name=go | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 230: | Line 250: | ||
---- | ---- | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
fission environment create --name java --image ghcr.io/fission/jvm-env --builder ghcr.io/fission/jvm-builder --keeparchive --version 3 | fission environment create --name=java --image=ghcr.io/fission/jvm-env --builder=ghcr.io/fission/jvm-builder --keeparchive --version 3 | ||
mkdir -p src/main/java/io/fission | mkdir -p src/main/java/io/fission | ||
Line 237: | Line 257: | ||
zip java-src-pkg.zip -r src pom.xml | zip java-src-pkg.zip -r src pom.xml | ||
fission package create --name hello-pkg --env java --src java-src-pkg.zip | fission package create --name=hello-pkg --env java --src java-src-pkg.zip | ||
fission | fission fn create --name=hello-java --env java --pkg hello-pkg --entrypoint io.fission.HelloWorld | ||
fission function test --name hello- | fission fn test --name=hello-java | ||
fission ht create --name=get-hello-java --method=GET --url=/api/hello/java --function=hello-java | |||
curl http://fission.k8s.local/api/hello/java | |||
fission ht delete --name=get-hello-java | |||
fission fn delete --name=hello-java | |||
fission pkg delete --name=hello-pkg | |||
fission env delete --name=java | |||
</syntaxhighlight> | |||
===Serverless » Dotnet=== | |||
---- | |||
<syntaxhighlight lang="bash"> | |||
fission env create --name=dotnet --image=fission/dotnet-env | |||
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/dotnet/helloworld.cs -o hello.cs | |||
fission fn create --name=hello-cs --env=dotnet --code=hello.cs | |||
fission fn test --name=hello-cs | |||
fission ht create --name=get-hello-cs --method=GET --url=/api/hello/cs --function=hello-cs | |||
curl http://fission.k8s.local/api/hello/cs | |||
fission | fission pkg delete --name=hello-cs-<uuid> -f | ||
fission | fission ht delete --name=get-hello-cs | ||
fission env delete --name | fission fn delete --name=hello-cs | ||
fission env delete --name=dotnet | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 249: | Line 291: | ||
---- | ---- | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
fission env create --name python --image | fission env create --name=python --image=fission/python-env | ||
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/python/hello.py -o hello.py | curl -fsSL https://raw.githubusercontent.com/fission/examples/main/python/hello.py -o hello.py | ||
fission | fission fn create --name=hello-py --env=python --code=hello.py | ||
fission | fission fn test --name=hello-py | ||
fission | fission ht create --name=get-hello-py --method=GET --url=/api/hello/py --function=hello-py | ||
fission pkg delete --name hello-py-<uuid> -f | curl http://fission.k8s.local/api/hello/py | ||
fission | |||
fission env delete --name python | fission pkg delete --name=hello-py-<uuid> -f | ||
fission ht delete --name=get-hello-py | |||
fission fn delete --name=hello-py | |||
fission env delete --name=python | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 264: | Line 309: | ||
---- | ---- | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
fission env create --name nodejs --image ghcr.io/fission/node-env | fission env create --name=nodejs --image=ghcr.io/fission/node-env | ||
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/nodejs/hello.js -o hello.js | curl -fsSL https://raw.githubusercontent.com/fission/examples/main/nodejs/hello.js -o hello.js | ||
fission fn create --name hello-js --env nodejs --code hello.js | fission fn create --name=hello-js --env=nodejs --code=hello.js | ||
fission fn test --name hello-js | fission fn test --name=hello-js | ||
fission ht create --name=get-hello-js --method=GET --url=/api/hello/js --function=hello-js | |||
curl http://fission.k8s.local/api/hello/js | |||
fission pkg delete --name=hello-js-<uuid> -f | |||
fission ht delete --name=get-hello-js | |||
fission fn delete --name=hello-js | |||
fission env delete --name=nodejs | |||
</syntaxhighlight> | |||
==Specification== | |||
<syntaxhighlight lang="bash"> | |||
fission spec init | |||
fission env create --name=node --image=fission/node-env --version=3 --poolsize=1 --spec | |||
fission pkg create --name=hellojs --env=node --code=https://raw.githubusercontent.com/fission/fission/master/examples/nodejs/hello.js --spec | |||
fission fn create --name=hellojs --env=node --pkg=hellojs --spec | |||
fission ht create --name=hellojs --method=GET --url=/api/hello/js --function=hellojs --spec | |||
fission | fission spec apply | ||
curl http://fission.k8s.local/hello | fission fn test --name=hellojs | ||
curl http://fission.k8s.local/api/hello/js | |||
fission | fission ht delete --name=hellojs | ||
fission | fission fn delete --name=hellojs | ||
fission | fission pkg delete --name=hellojs | ||
fission env delete --name | fission env delete --name=node | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 358: | Line 421: | ||
* [https://fission.io/docs/installation Helm » Fission] | * [https://fission.io/docs/installation Helm » Fission] | ||
* [[Helm/MinIO|Helm » MinIO]] | * [[Helm/MinIO|Helm » MinIO]] | ||
* [[Helm/Keda|Helm » Keda]] | |||
* [[Helm]] | * [[Helm]] | ||
Line 372: | Line 436: | ||
* [https://fission.io/examples/ Fission » Examples » Gallery] | * [https://fission.io/examples/ Fission » Examples » Gallery] | ||
* [https://fission.io/docs/architecture/ Fission » Architecture] | * [https://fission.io/docs/architecture/ Fission » Architecture] | ||
* [https://github.com/fission/examples/tree/main/miscellaneous/workshop Fission » Workshop] | |||
* [https://fission.io/docs/installation/ Fission » Install] | * [https://fission.io/docs/installation/ Fission » Install] | ||
* [https://fission.io/docs/ Fission » Docs] | * [https://fission.io/docs/ Fission » Docs] | ||
Line 397: | Line 462: | ||
| valign="top" | | | valign="top" | | ||
* [https://stackoverflow.com/questions/52369247/ K8s » Namespace "stuck" as Terminating] | |||
* [https://kubernetes.io/docs/reference/kubectl/generated/kubectl_rollout/ K8s » <code>kubectl rollout</code>] | * [https://kubernetes.io/docs/reference/kubectl/generated/kubectl_rollout/ K8s » <code>kubectl rollout</code>] | ||
* [[K8s/CSI Hostpath Driver|K8s » CSI Hostpath Driver]] | * [[K8s/CSI Hostpath Driver|K8s » CSI Hostpath Driver]] |
Latest revision as of 19:33, 24 November 2024
helm repo add fission-charts https://fission.github.io/fission-charts helm repo update && helm repo list kubectl config get-contexts
Config
export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"
| |
| |
mc alias set local http://s3.host.k8s.local admin
# Enter Secret Key: sadaqah!
mc config host ls
mc admin info local
mc mb local/fission
|
echo -n password: ;read -s MINIO_PASSWORD;export MINIO_PASSWORD;echo
# password: sadaqah!
mc admin user add local fission ${MINIO_PASSWORD}
mc admin policy attach local diagnostics readwrite consoleAdmin --user fission
mc admin user info local fission
|
| |
ACCESS_KEY="lJK09A3zwTF7bY2v5yey";\
SECRET_KEY="umVZsDmWNLUY5i3PDz17IhksvmBV5TCnE07GYw26";\
alias mc_admin_add_key="mc admin accesskey create local \
fission --name=fission --access-key=${ACCESS_KEY} --secret-key=${SECRET_KEY}"
| |
| |
cat <<JSN | mc_admin_add_key --policy=/dev/stdin
{
"Version":"2012-10-17",
"Statement":[
{"Effect":"Allow","Action":["kms:*"]},
{"Effect":"Allow","Action":["admin:*"]},
{"Effect":"Allow","Action":["s3:*"],"Resource":["arn:aws:s3:::fission"]},
{"Effect":"Allow","Action":[
"admin:BandwidthMonitor",
"admin:TopLocksInfo",
"admin:ServerTrace",
"admin:ConsoleLog",
"admin:Prometheus",
"admin:ServerInfo",
"admin:Profiling",
"admin:OBDInfo"
],"Resource":["arn:aws:s3:::fission"]
}
]
}
JSN
|
Install
kubectl get ns|grep fission
kubectl delete ns fission
|
kubectl get ns|grep fission
kubectl create ns fission
|
| |
export FISSION_NAMESPACE="fission"
kubectl create -k "github.com/fission/fission/crds/v1?ref=v1.20.5"
| |
| |
cat <<YML | helm -n fission install fission fission-charts/fission-all --version=v1.20.5 -f -
---
serviceType: ClusterIP
routerServiceType: LoadBalancer
persistence:
enabled: true
storageType: s3
s3:
endPoint: http://s3.host.k8s.local
bucketName: fission
subDir: serverless
region: us-east-1
accessKeyId: lJK09A3zwTF7bY2v5yey
secretAccessKey: umVZsDmWNLUY5i3PDz17IhksvmBV5TCnE07GYw26
YML
|
cat <<YML | helm -n fission install fission fission-charts/fission-all --version=v1.20.5 -f -
---
serviceType: NodePort
routerServiceType: NodePort
persistence:
enabled: true
storageType: s3
s3:
endPoint: http://s3.host.k8s.local
bucketName: fission
subDir: serverless
region: us-east-1
accessKeyId: lJK09A3zwTF7bY2v5yey
secretAccessKey: umVZsDmWNLUY5i3PDz17IhksvmBV5TCnE07GYw26
YML
|
| |
cat <<-'EXE'|sudo bash
curl -fsSL https://github.com/fission/fission/releases/download/v1.20.5/fission-v1.20.5-linux-amd64 -o /usr/local/bin/fission
chmod +x /usr/local/bin/fission
EXE
fission version
fission --help
fission check
|
Ingress
cat << YML | kubectl apply -n fission -f -
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: fission
namespace: fission
labels:
app.kubernetes.io/version: 1.0.0
app.kubernetes.io/managed-by: kubectl
app.kubernetes.io/name: fission-router
app.kubernetes.io/instance: fission-router
spec:
ingressClassName: nginx
rules:
- host: "fission.k8s.local"
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: router
port:
number: 80
YML
Uninstall
helm uninstall -n fission fission
kubectl delete namespace fission
kubectl get crd|grep fission.io
kubectl delete crd packages.fission.io
kubectl delete crd functions.fission.io
kubectl delete crd environments.fission.io
kubectl delete crd httptriggers.fission.io
kubectl delete crd timetriggers.fission.io
kubectl delete crd canaryconfigs.fission.io
kubectl delete crd messagequeuetriggers.fission.io
kubectl delete crd kuberneteswatchtriggers.fission.io
kubectl get apiservice
kubectl delete apiservice v1beta1.external.metrics.k8s.io
kubectl patch ns fission -p '{"metadata":{"finalizers":null}}'s":null}}'
Serverless
mkdir -p /opt/${USER}/chorke/academia/var/playground/fission
ls -lah /opt/${USER}/chorke/academia/var/playground/fission
ln -s /opt/${USER}/chorke/academia/var/playground/fission ${HOME}/Documents/fission-playground
ls -lah ${HOME}/Documents/fission-playground/
cd ${HOME}/Documents/fission-playground/
fission env list
fission fn list
fission ht list
fission pkg list
Serverless » Go
fission env create --name=go --image=ghcr.io/fission/go-env --builder=ghcr.io/fission/go-builder
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/go/hello-world/hello.go -o hello.go
fission fn create --name=hello-go --env go --src hello.go --entrypoint Handler
fission fn test --name=hello-go
fission ht create --name=get-hello-go --method=GET --url=/api/hello/go --function=hello-go
curl http://fission.k8s.local/api/hello/go
fission pkg delete --name=hello-go-<uuid> -f
fission ht delete --name=get-hello-go
fission fn delete --name=hello-go
fission env delete --name=go
Serverless » Java
fission environment create --name=java --image=ghcr.io/fission/jvm-env --builder=ghcr.io/fission/jvm-builder --keeparchive --version 3
mkdir -p src/main/java/io/fission
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/java/hello-world/src/main/java/io/fission/HelloWorld.java -o src/main/java/io/fission/HelloWorld.java
curl -fsSL https://raw.githubusercontent.com/fission/environments/master/jvm/examples/java/pom.xml -o pom.xml
zip java-src-pkg.zip -r src pom.xml
fission package create --name=hello-pkg --env java --src java-src-pkg.zip
fission fn create --name=hello-java --env java --pkg hello-pkg --entrypoint io.fission.HelloWorld
fission fn test --name=hello-java
fission ht create --name=get-hello-java --method=GET --url=/api/hello/java --function=hello-java
curl http://fission.k8s.local/api/hello/java
fission ht delete --name=get-hello-java
fission fn delete --name=hello-java
fission pkg delete --name=hello-pkg
fission env delete --name=java
Serverless » Dotnet
fission env create --name=dotnet --image=fission/dotnet-env
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/dotnet/helloworld.cs -o hello.cs
fission fn create --name=hello-cs --env=dotnet --code=hello.cs
fission fn test --name=hello-cs
fission ht create --name=get-hello-cs --method=GET --url=/api/hello/cs --function=hello-cs
curl http://fission.k8s.local/api/hello/cs
fission pkg delete --name=hello-cs-<uuid> -f
fission ht delete --name=get-hello-cs
fission fn delete --name=hello-cs
fission env delete --name=dotnet
Serverless » Python
fission env create --name=python --image=fission/python-env
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/python/hello.py -o hello.py
fission fn create --name=hello-py --env=python --code=hello.py
fission fn test --name=hello-py
fission ht create --name=get-hello-py --method=GET --url=/api/hello/py --function=hello-py
curl http://fission.k8s.local/api/hello/py
fission pkg delete --name=hello-py-<uuid> -f
fission ht delete --name=get-hello-py
fission fn delete --name=hello-py
fission env delete --name=python
Serverless » Node.js
fission env create --name=nodejs --image=ghcr.io/fission/node-env
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/nodejs/hello.js -o hello.js
fission fn create --name=hello-js --env=nodejs --code=hello.js
fission fn test --name=hello-js
fission ht create --name=get-hello-js --method=GET --url=/api/hello/js --function=hello-js
curl http://fission.k8s.local/api/hello/js
fission pkg delete --name=hello-js-<uuid> -f
fission ht delete --name=get-hello-js
fission fn delete --name=hello-js
fission env delete --name=nodejs
Specification
fission spec init
fission env create --name=node --image=fission/node-env --version=3 --poolsize=1 --spec
fission pkg create --name=hellojs --env=node --code=https://raw.githubusercontent.com/fission/fission/master/examples/nodejs/hello.js --spec
fission fn create --name=hellojs --env=node --pkg=hellojs --spec
fission ht create --name=hellojs --method=GET --url=/api/hello/js --function=hellojs --spec
fission spec apply
fission fn test --name=hellojs
curl http://fission.k8s.local/api/hello/js
fission ht delete --name=hellojs
fission fn delete --name=hellojs
fission pkg delete --name=hellojs
fission env delete --name=node
Playground
helm -n fission install fission fission-charts/fission-all --version=v1.20.0
helm -n fission upgrade -i fission fission-charts/fission-all --version=v1.20.5
helm show values fission-charts/fission-all --version=v1.20.0|less
| |
| |
kubectl -n fission get configmap feature-config -o json|jq -r '.data."config.yaml"'|base64 -d;echo
kubectl -n fission logs -f svc/webhook-service -c webhook
kubectl -n fission logs -f svc/storagesvc -c storagesvc
kubectl -n fission logs -f svc/executor -c executor
kubectl -n fission logs -f svc/router -c router
| |
| |
kubectl config --kubeconfig=${HOME}/.kube/aws-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/dev-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/gcp-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/config view --flatten
| |
| |
kubectl -n fission delete all --all
kubectl -n fission delete ing --all
kubectl -n fission delete sts --all
|
kubectl -n fission delete svc --all
kubectl -n fission delete pvc --all
kubectl -n fission delete pv --all
|
| |
kubectl -n fission rollout history deploy buildermgr
kubectl -n fission rollout status deploy storagesvc
kubectl -n fission rollout restart deploy executor
|
kubectl -n fission logs -f svc/storagesvc -c storagesvc
kubectl -n fission logs -f svc/executor -c executor
kubectl -n fission logs -f svc/router -c router
|
References
| ||
| ||