Sehloohong sena, ke tla theha sebaka sa ho sebetsa bakeng sa ho ntlafatsa papali "Epics", hape ke tla senya papali ka boeona hore e be likarolo tse loketseng ho sebelisoa ho OpenFaaS. Ke tla etsa maqheka ohle ho Linux, ke tla tsamaisa Kubernetes ka minikube ke sebelisa VirtualBox. Mochini oa ka oa mosebetsi o na le li-processor cores tse 2 le 12GB ea RAM; Ke sebelisa SSD joalo ka disk ea sistimi. Ke tla sebelisa debian 8 e le sistimi ea ka ea mantlha ea nts'etsopele, e kentsoeng liphutheloana tsa emacs, sudo, git le virtualbox, tse ling kaofela li tla kenngoa ka ho khoasolla ho tsoa GitHub le mehloling e meng. Re tla kenya lits'ebetso tsena ho /usr/local/bin ntle le ha ho boletsoe ka tsela e ngoe. A re qaleng!
Ho lokisa tikoloho ea mosebetsi
E kenya Go
Re latela litaelo tse tsoang webosaeteng ea semmuso:
Bahlahisi ba khothaletsa ho theha libaka tse 2 tsa mabitso ho sebetsa le tsona:
$ kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml
namespace/openfaas created
namespace/openfaas-fn created
Kenya sebaka sa polokelo bakeng sa helm:
$ helm repo add openfaas https://openfaas.github.io/faas-netes/
"openfaas" has been added to your repositories
Chate e na le bokhoni ba ho beha phasewete pele e kenya, ha re e sebeliseng 'me re boloke data ea phihlello e le lekunutu la k8s:
$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "openfaas" chart repository
Update Complete. Happy Helming!
$ helm upgrade openfaas --install openfaas/openfaas --namespace openfaas --set functionNamespace=openfaas-fn --set generateBasicAuth=false
Release "openfaas" does not exist. Installing it now.
NAME: openfaas
LAST DEPLOYED: Fri Dec 25 10:28:22 2019
NAMESPACE: openfaas
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
To verify that openfaas has started, run:
kubectl -n openfaas get deployments -l "release=openfaas, app=openfaas"
Kamora nako e itseng, re tsamaisa taelo e reriloeng:
$ kubectl rollout status -n openfaas deploy/gateway
deployment "gateway" successfully rolled out
$ kubectl port-forward -n openfaas svc/gateway 8080:8080 &
[1] 6985
Forwarding from 127.0.0.1:8080 -> 8080
$ echo -n $PASSWORD | faas-cli login --username admin --password-stdin
Calling the OpenFaaS server to validate the credentials...
Handling connection for 8080
WARNING! Communication is not secure, please consider using HTTPS. Letsencrypt.org offers free SSL/TLS certificates.
credentials saved for admin http://127.0.0.1:8080
$ faas-cli list
Function Invocations Replicas
Ho kenya Mongodb
Re kenya tsohle re sebelisa helm:
$ helm repo add stable https://kubernetes-charts.storage.googleapis.com/
"stable" has been added to your repositories
$ helm install stable/mongodb --generate-name
NAME: mongodb-1577466908
LAST DEPLOYED: Fri Dec 25 11:15:11 2019
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
** Please be patient while the chart is being deployed **
MongoDB can be accessed via port 27017 on the following DNS name from within your cluster:
mongodb-1577466908.default.svc.cluster.local
To get the root password run:
export MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default mongodb-1577466908 -o jsonpath="{.data.mongodb-root-password}" | base64 --decode)
To connect to your database run the following command:
kubectl run --namespace default mongodb-1577466908-client --rm --tty -i --restart='Never' --image bitnami/mongodb --command -- mongo admin --host mongodb-1577466908 --authenticationDatabase admin -u root -p $MONGODB_ROOT_PASSWORD
To connect to your database from outside the cluster execute the following commands:
kubectl port-forward --namespace default svc/mongodb-1577466908 27017:27017 &
mongo --host 127.0.0.1 --authenticationDatabase admin -p $MONGODB_ROOT_PASSWORD
Re hlahloba:
kubectl run --namespace default mongodb-1577466908-client --rm --tty -i --restart='Never' --image bitnami/mongodb --command -- mongo admin --host mongodb-1577466908 --authenticationDatabase admin -u root -p $(kubectl get secret --namespace default mongodb-1577466908 -o jsonpath="{.data.mongodb-root-password}" | base64 --decode)
If you don't see a command prompt, try pressing enter.
> db.version();
4.0.14
Tobetsa ctrl+D ho tsoa ka setshelo.
Ho theha emacs
Ha e le hantle, ntho e 'ngoe le e' ngoe e ne e se e hlophisitsoe ho latela sehlooho sena, kahoo nke ke ka kena ka botlalo.
Ho arola papali hore e be mesebetsi
Ho sebelisana le mesebetsi ho etsoa ka protocol ea http, netefatso ea ho qetela pakeng tsa mesebetsi e fapaneng e fanoa ke JWT. Mongodb e sebelisoa ho boloka li-tokens, hammoho le boemo ba papali, data ea libapali, tatellano ea metsamao ea lipapali tsohle le lintlha tse ling. A re hlahlobisiseng likarolo tse thahasellisang ka ho fetisisa.
ngodiso
Kenyelletso ea ts'ebetso ena ke JSON e nang le lebitso la bosoasoi le password. Ha ts'ebetso ena e bitsoa, ho hlahlojoa hore lebitso lena ha le teng ka har'a database; haeba cheke e atlehile, li-alias le password hash li kenngoa polokelong ea litaba. Ho ngolisoa hoa hlokahala ho kenya letsoho papaling ka mafolofolo.
kena
Kenyelletso ea ts'ebetso ke JSON e nang le lebitso la bosoasoi le password; haeba ho na le lebitso la bosoasoi sebakeng sa polokelo ea litaba mme phasewete e netefalitsoe ka katleho le e bolokiloeng sebakeng sa polokelo ea litaba, JWT e khutlisoa, e tlamehang ho fetisetsoa mesebetsing e meng ha e le teng. bitsetsoa. Lirekoto tse fapaneng tsa lits'ebeletso li boetse li kentsoe polokelong ea litaba, mohlala, nako ea ho qetela ea ho kena, joalo-joalo.
Sheba lenane la lipapali
Mosebelisi ofe kapa ofe ea sa lumelloeng a ka kopa lethathamo la lipapali tsohle ntle le tse sebetsang. Mosebelisi ea lumelletsoeng o boetse o bona lethathamo la lipapali tse sebetsang. Sephetho sa ts'ebetso ke JSON e nang le manane a lipapali (ID ea papali, lebitso le baloang ke motho, jj.).
Tlhahiso ea lipapali
Mosebetsi ona o sebetsa feela le basebelisi ba lumelletsoeng; palo e phahameng ea libapali e amoheloa ha o kenya, hammoho le liparamente tsa papali (mohlala, hore na ke libapali life tse ka kenyang tšebetsong papaling ena, palo e kholo ea libapali, joalo-joalo). Parameter e arohaneng ea papali ke ho ba teng ha password bakeng sa ho kopanya, e leng se u lumellang hore u thehe lipapali tse seng tsa sechaba. Ka ho sa feleng, ho etsoa papali ea sechaba. Sephetho sa ts'ebetso ke JSON, e nang le lebala la katleho ea pōpo, sekhetho se ikhethileng sa papali, le likarolo tse ling.
Ho kena papaling
Mosebetsi o sebetsa feela le basebelisi ba nang le tumello, ho kenya letsoho ke ID ea papali le password ea eona, haeba ena e le papali e seng ea sechaba, tlhahiso ke JSON e nang le lipapali tsa papali. Mosebelisi ea lumelletsoeng ea keneng papaling, hammoho le moetsi oa papali, ba tla bitsoa bankakarolo ba papali.
Ho shebella liketsahalo tsa papali
Mosebedisi ofe kapa ofe ya sa dumellwang a ka kopa lenane la diketsahalo bakeng sa dipapadi tse sa sebetseng, mme mosebedisi ya dumelletsweng a ka fumana lenane la diketsahalo bakeng sa papadi efe kapa efe e bapalang. Paramethara e eketsehileng mosebetsing e ka ba nomoro ea ketsahalo eo mosebelisi a seng a ntse a e-na le eona. Tabeng ena, ke liketsahalo tse etsahetseng hamorao feela tse tla khutlisoa lethathamong. Ka ho qala ts'ebetso ena nako le nako, mosebelisi ea lumelletsoeng o shebella se etsahalang papaling. Ts'ebetso ena e boetse e khutlisa kopo ea ketso, eo mosebelisi a ka e arabang a sebelisa ts'ebetso ea ho romella ketsahalo ea papali.
Ho romella ketsahalo ea papali
Mosebetsi o sebetsa feela bakeng sa barupeluoa ba papali: hoa khoneha ho qala papali, ho falla, ho vouta, ho ngola molaetsa oa mongolo o bontšitsoeng lethathamong la liketsahalo tsa papali, joalo-joalo.
Mosebedisi ya dumelletsweng ya entseng papadi o qala ho abela bankakarolo bohle ba papadi, ho kenyeletswa le bona, ba tlameha ho netefatsa karolo ya bona ba sebedisa tshebetso e tshwanang. Hang ha likarolo tsohle li netefalitsoe, papali e fetohela ho mokhoa oa bosiu.
Lipalopalo tsa papali
Mosebetsi o sebetsa feela bakeng sa barupeluoa ba papali; e bonts'a boemo ba papali, lenane le palo ea libapali (mabitso a bosoasoi), mesebetsi le boemo ba bona (ho sisinyeha ho entsoe kapa che), hammoho le lintlha tse ling. Joalo ka ts'ebetso e fetileng, ntho e 'ngoe le e' ngoe e sebetsa feela ho barupeluoa ba papali.
Nako le nako e qala mesebetsi
Haeba papali e sa qalisoa ka nako e itseng e boletsoeng ha ho etsoa papali, e tla tlosoa ka ho toba lethathamong la lipapali tse sebetsang ho sebelisa mosebetsi o hlakileng.
Mosebetsi o mong oa nakoana ke ho fetola mokhoa oa papali ho tloha bosiu ho ea ho mots'eare le ho khutlela morao bakeng sa lipapali tseo sena se sa kang sa etsahala nakong ea nako (mohlala, sebapali se lokelang ho itšoara ketsahalong ea papali ha sea ka sa romela tharollo ea sona ka lebaka le itseng. ).