Helm/Fission: Difference between revisions
Jump to navigation
Jump to search
(5 intermediate revisions by the same user not shown) | |||
Line 162: | Line 162: | ||
|} | |} | ||
==Ingress== | |||
<syntaxhighlight lang="yaml"> | |||
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 | |||
</syntaxhighlight> | |||
==Uninstall== | ==Uninstall== | ||
Line 237: | Line 267: | ||
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 | fission fn create --name hello-js --env nodejs --code hello.js | ||
fission | fission fn test --name hello-js | ||
fission ht create --method GET --url /hello-js --function hello-js | |||
curl http://fission.k8s.local/hello-js | |||
fission pkg list | fission pkg list | ||
fission pkg delete --name hello-js-<uuid> -f | fission pkg delete --name hello-js-<uuid> -f | ||
fission | fission fn delete --name hello-js | ||
fission env delete --name nodejs | fission env delete --name nodejs | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 326: | Line 359: | ||
* [[Helm/MinIO|Helm » MinIO]] | * [[Helm/MinIO|Helm » MinIO]] | ||
* [[Helm]] | * [[Helm]] | ||
| valign="top" | | |||
| valign="top" | | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
* [https://github.com/fission/examples/tree/main Fission » Examples » GitHub] | |||
* [https://fission.io/examples/ Fission » Examples » Gallery] | |||
* [https://fission.io/docs/architecture/ Fission » Architecture] | |||
* [https://fission.io/docs/installation/ Fission » Install] | |||
* [https://fission.io/docs/ Fission » Docs] | |||
* [https://fission.io Fission] | |||
| valign="top" | | | valign="top" | | ||
Line 350: | Line 399: | ||
* [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]] | ||
* [[K8s/Ingress|K8s » Ingress]] | * [[K8s/Ingress|K8s » Ingress]] | ||
* [[K8s/Service|K8s » Service]] | * [[K8s/Service|K8s » Service]] |
Latest revision as of 02:31, 23 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
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/
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 function create --name hello-go --env go --src hello.go --entrypoint Handler
fission function test --name hello-go
fission function list
fission pkg list
fission env list
fission pkg delete --name hello-go-<uuid> -f
fission function 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 function create --name hello-java --env java --pkg hello-pkg --entrypoint io.fission.HelloWorld
fission function test --name hello-java
fission function delete --name hello-java
fission pkg delete --name hello-pkg
fission env delete --name java
Serverless » Python
fission env create --name python --image ghcr.io/fission/python-env
curl -fsSL https://raw.githubusercontent.com/fission/examples/main/python/hello.py -o hello.py
fission function create --name hello-py --env python --code hello.py
fission function test --name hello-py
fission pkg list
fission pkg delete --name hello-py-<uuid> -f
fission function 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 --method GET --url /hello-js --function hello-js
curl http://fission.k8s.local/hello-js
fission pkg list
fission pkg delete --name hello-js-<uuid> -f
fission fn delete --name hello-js
fission env delete --name nodejs
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
| ||
| ||