Knative - àrd-Úrlar-mar-a-seirbheis stèidhichte air k8s le taic gun fhrithealaiche

Knative - àrd-Úrlar-mar-a-seirbheis stèidhichte air k8s le taic gun fhrithealaiche

Chan eil teagamh nach eil Kubernetes air a thighinn gu bhith na phrìomh àrd-ùrlar airson cleachdadh soithichean. Tha e a’ toirt seachad comas smachd a chumail air cha mhòr rud sam bith a’ cleachdadh na APIan agus na riaghladairean àbhaisteach aige a leudaicheas na APIan aige le goireasan àbhaisteach.

Ach, feumaidh an neach-cleachdaidh fhathast co-dhùnaidhean mionaideach a dhèanamh a thaobh dìreach mar a thèid tagraidhean a chuir an sàs, a rèiteachadh, a riaghladh agus a sgèileadh. Bidh cùisean a thaobh sgèileadh tagraidh, dìon, agus sruthadh trafaic fhathast an urra ris an neach-cleachdaidh. Tha seo a’ suidheachadh Kubernetes a bharrachd air àrd-ùrlaran àbhaisteach mar sheirbheis (PaaS), leithid Cloud Foundry agus Heroku.

Tha eadar-aghaidh cleachdaiche nas sìmplidh aig na h-àrd-chabhsairean agus tha iad ag amas air luchd-leasachaidh thagraidhean a tha gu tric an sàs ann a bhith a’ stèidheachadh thagraidhean fa leth. Tha slighe, cleachdadh, agus meatrach air an riaghladh gu follaiseach don neach-cleachdaidh leis an t-siostam PaaS bunaiteach.

Tha an sruth-obrach stòr-gu-soitheach air a làimhseachadh le PaaS le bhith a’ cruthachadh ìomhaigh inneal àbhaisteach, ga chleachdadh, a’ stèidheachadh slighe ùr agus subdomain DNS airson trafaic a’ tighinn a-steach. Tha seo uile air a chuir air bhog air àithne git push.

Chan eil Kubernetes (a dh’aona ghnothach) a’ toirt seachad ach na prìomh bhlocaichean togail airson àrd-ùrlaran mar sin, a’ fàgail a’ choimhearsnachd saor an obair a dhèanamh iad fhèin. Ciamar Thuirt Kelsey Hightower:

Tha Kubernetes na àrd-Úrlar airson àrd-Úrlaran togail. An suidheachadh as fheàrr airson tòiseachadh, ach gun a bhith a 'crÏochnachadh.

Mar thoradh air an sin, chì sinn dòrlach de thogalaichean Kubernetes, a bharrachd air a bhith a ’toirt aoigheachd do chompanaidhean a tha a’ feuchainn ri PaaS a chruthachadh airson Kubernetes, leithid OpenShift agus Rancher. Am measg fàs margaidh Kube-PaaS, tha Knative, a chaidh a stèidheachadh san Iuchar 2018 le Google agus Pivotal, a’ tighinn a-steach don fhàinne.

Bha Knative na cho-obrachadh eadar Google agus Pivotal, le beagan cuideachaidh bho chompanaidhean eile leithid IBM, RedHat agus Solo.im. Bidh e a’ tabhann rudan PaaS coltach ri Kubernetes le taic den chiad ìre airson tagraidhean stèidhichte air coimpiutaireachd gun fhrithealaiche. Eu-coltach ri togail Kubernetes, tha Knative air a chuir a-steach mar chur-ris air cruinneachadh Kubernetes co-fhreagarrach sam bith agus air a rèiteachadh tro ghoireasan luchd-cleachdaidh.

Dè th' ann an Knative?

Thathas a’ toirt iomradh air Knative mar “Àrd-ùrlar stèidhichte air Kubernetes airson eallach obrach a lìbhrigeadh agus a riaghladh a’ cleachdadh coimpiutaireachd ùr-nodha gun fhrithealaiche." Bidh sgeineach, fhad ‘s a tha e ga bhileachadh fhèin mar àrd-ùrlar mar sin, gu gnìomhach a’ dèanamh fèin-ghluasad air soithichean a rèir iarrtasan HTTP co-aontach. Bidh seirbheisean nach eilear gan cleachdadh mu dheireadh a’ dol sìos gu neoni, a’ toirt seachad sgèileadh air-iarrtas ann an stoidhle gun fhrithealaiche.

Tha Knative air a dhèanamh suas de sheata de luchd-riaghlaidh a bhios a’ stàladh ann am buidheann Kubernetes sam bith agus a bheir seachad na comasan a leanas:

  • togail thagraidhean so-ghiĂšlain bhon chòd stòr (air a thoirt seachad leis a’ phĂ irt tog),
  • a’ toirt cothrom do thrafaig a’ tighinn a-steach gu tagraidhean (air a sholarachadh leis a’ phĂ irt a 'frithealadh),
  • lĂŹbhrigeadh agus sgèileadh fèin-ghluasadach de thagraidhean air iarrtas (cuideachd air a sholarachadh leis a’ phĂ irt a 'frithealadh),
  • a’ comharrachadh stòran nan tachartasan a lean gu cur air bhog thagraidhean (air a sholarachadh leis a’ phĂ irt A ’tachairt).

Is e prìomh phàirt seirbheis, a bheir seachad solar, sgèileadh fèin-ghluasadach, agus riaghladh trafaic airson tagraidhean fo stiùir. Às deidh dhut Knative a chuir a-steach, bidh làn chothrom agad fhathast air Kubernetes API, a’ leigeil le luchd-cleachdaidh tagraidhean a riaghladh àbhaisteach slighe, agus bidh e cuideachd a’ frithealadh air seirbheisean Knative a dheasbad, ag obair leis na h-aon phrìomhairean API a bhios na seirbheisean sin a’ cleachdadh (modalan, seirbheisean, msaa).

Le cuideachadh bho Sheirbheis, tha slighe trafaic gorm-uaine cuideachd fèin-ghluasadach, a’ dèanamh cinnteach à dealachadh trafaic eadar dreachan ùra is seann dreachan den tagradh nuair a bheir an neach-cleachdaidh seachad dreach ùraichte den tagradh.

Tha Knative fhèin an urra ri bhith a’ stàladh rianadair ingress co-fhreagarrach. Aig àm sgrìobhaidh tha an artaigil seo a’ faighinn taic Geata API Gloo и Istio seirbheis mogaill. Rèitichidh e inntrigeadh a tha ri fhaighinn gus trafaic a stiùireadh gu tagraidhean air an stiùireadh le Knative.

Faodaidh Istio Service Mesh a bhith gu mòr an urra ri luchd-cleachdaidh Knative a tha ag iarraidh feuchainn air gun a bhith a 'stàladh pannal smachd Istio, oir chan eil Knative ach an urra ris a' gheata.

Air an adhbhar seo, is fheàrr leis a’ mhòr-chuid de luchd-cleachdaidh Gloo mar gheata gu Knative, a’ toirt seachad seata de chomasan coltach ri Istio (airson a bhith a’ cleachdadh Knative a-mhàin), agus aig an aon àm a’ cleachdadh mòran nas lugha de ghoireasan agus aig a bheil cosgaisean obrachaidh nas ìsle.

Feuch an dèan sinn deuchainn air Knative ann an gnìomh air an stand. Bidh mi a’ cleachdadh brabhsair ùr a tha a’ ruith ann an GKE:

kubectl get namespace
NAME          STATUS   AGE
default       Active   21h
kube-public   Active   21h
kube-system   Active   21h

Nach tòisich sinn a’ stàladh Knative and Gloo. Faodar seo a dhèanamh ann an òrdugh sam bith:

# ставим Knative-Serving
kubectl apply -f 
 https://github.com/knative/serving/releases/download/v0.8.0/serving-core.yaml
namespace/knative-serving created
# ...
# ставим Gloo
kubectl apply -f 
  https://github.com/solo-io/gloo/releases/download/v0.18.22/gloo-knative.yaml
namespace/gloo-system created
# ...

Bidh sinn a’ dèanamh cinnteach gu bheil a h-uile Pod san inbhe “Ruith”:

kubectl get pod -n knative-serving
NAME                              READY   STATUS    RESTARTS   AGE
activator-5dd55958cc-fkp7r        1/1     Running   0          7m32s
autoscaler-fd66459b7-7d5s2        1/1     Running   0          7m31s
autoscaler-hpa-85b5667df4-mdjch   1/1     Running   0          7m32s
controller-85c8bb7ffd-nj9cs       1/1     Running   0          7m29s
webhook-5bd79b5c8b-7czrm          1/1     Running   0          7m29s
kubectl get pod -n gloo-system
NAME                                      READY   STATUS    RESTARTS   AGE
discovery-69548c8475-fvh7q                1/1     Running   0          44s
gloo-5b6954d7c7-7rfk9                     1/1     Running   0          45s
ingress-6c46cdf6f6-jwj7m                  1/1     Running   0          44s
knative-external-proxy-7dd7665869-x9xkg   1/1     Running   0          44s
knative-internal-proxy-7775476875-9xvdg   1/1     Running   0          44s

Tha Gloo deiseil airson slighe, cruthaichidh sinn seirbheis sgeinean fèin-sgèile (canaidh sinn kservice ris) agus rachamaid trafaic thuige.

Tha seirbheisean sgeinean a’ toirt seachad slighe nas fhasa gu bhith a’ lìbhrigeadh thagraidhean gu Kubernetes na am modail àbhaisteach Deployment + Service+ Ingress. Obraichidh sinn leis an eisimpleir seo:

apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
 name: helloworld-go
 namespace: default
spec:
 template:
   spec:
     containers:
       - image: gcr.io/knative-samples/helloworld-go
         env:
           - name: TARGET
             Value: Knative user

Rinn mi leth-bhreac de seo gu faidhle, agus an uairsin chuir mi a-steach don bhuidheann Kubernetes agam mar seo:

kubectl apply -f ksvc.yaml -n default

Chì sinn na goireasan a chruthaich Knative sa bhuidheann às deidh dhuinn ar ‘helloworld-go’ a lìbhrigeadh. k seirbheis:

kubectl get pod -n default
NAME                                              READY   STATUS    RESTARTS   AGE
helloworld-go-fjp75-deployment-678b965ccb-sfpn8   2/2     Running   0          68s

Thèid am pod leis an ìomhaigh ‘helloworld-go’ againn a chuir air bhog nuair a thèid an kservice a chleachdadh. Mura h-eil trafaic ann, thèid an àireamh de pods a lughdachadh gu neoni. Agus a chaochladh, ma tha an àireamh de dh'iarrtasan aig an aon àm nas àirde na stairsneach rèiteachaidh sònraichte, àrdaichidh an àireamh de pods.

kubectl get ingresses.networking.internal.knative.dev -n default
NAME            READY   REASON
helloworld-go   True

Bidh Knative a’ rèiteachadh an t-slighe a-steach aige le bhith a’ cleachdadh goireas ‘inntrigidh’ sònraichte anns an API Knative a-staigh. Bidh Gloo a’ cleachdadh an API seo mar an rèiteachadh aige gus feartan coltach ri PaaS a thoirt seachad, a’ toirt a-steach modal cleachdadh gorm-uaine, cur an gnìomh fèin-ghluasadach TLS, timeouts, agus feartan slighe adhartach eile.

Às deidh beagan ùine, chì sinn gu bheil na pods againn air a dhol à bith (seach nach robh trafaic a’ tighinn a-steach):

kubectl get pod -n default

No resources found.
kubectl get deployment -n default
NAME                             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
helloworld-go-fjp75-deployment   0         0         0            0           9m46s

Mu dheireadh feuchaidh sinn ri ruighinn orra. Gheibh thu gu furasta agus gu furasta an URL airson Knative Proxy a’ cleachdadh glooctl:

glooctl proxy url --name knative-external-proxy
http://35.190.151.188:80

Gun stàladh glooctl chÏ thu an seòladh agus am port anns an t-seirbheis kube:

kubectl get svc -n gloo-system knative-external-proxy
NAME                     TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)                      AGE
knative-external-proxy   LoadBalancer   10.16.11.157   35.190.151.188   80:32168/TCP,443:30729/TCP   77m

Feuch an ruith sinn beagan dàta a’ cleachdadh cURL:

curl -H "Host: helloworld-go.default.example.com" http://35.190.151.188
Hello Knative user!

Tha Knative a’ toirt seachad cha mhòr-PaaS do luchd-leasachaidh a bharrachd air Kubernetes taobh a-muigh a’ bhogsa a’ cleachdadh geata API àrd-choileanadh, làn-chruach Gloo. Chan eil an dreuchd seo ach air uachdar roghainnean gnàthachaidh farsaing Knative agus feartan a bharrachd a sgrìobadh. An aon rud ri Gloo!

A dh ’aindeoin gur e pròiseact òg a th’ ann an Knative fhathast, bidh an sgioba aca a ’leigeil a-mach dreachan ùra a h-uile sia seachdainean, agus tha buileachadh feartan adhartach air tòiseachadh, leithid cleachdadh fèin-ghluasadach TLS, sgèileadh fèin-ghluasadach den phannal smachd. Tha deagh chothrom ann, mar thoradh air co-obrachadh eadar grunn chompanaidhean sgòthan, agus mar bhunait air tairgse ùr Cloud Run aig Google, gum faodadh Knative a bhith na phrìomh roghainn airson coimpiutaireachd gun fhrithealaiche agus PaaS air Kubernetes. Lean an naidheachd!

Bho luchd-deasachaidh SouthBridge
Tha beachdan luchd-leughaidh cudromach dhuinn, agus mar sin bidh sinn ag iarraidh ort pĂ irt a ghabhail ann an suirbhidh goirid co-cheangailte ri artaigilean san Ă m ri teachd mu Knative, Kubernetes, coimpiutaireachd gun fhrithealaiche:

Chan fhaod ach luchd-cleachdaidh clĂ raichte pĂ irt a ghabhail san sgrĂšdadh. Soidhnig a-steach, mas e do thoil e.

Am bu chòir dhomh cumail a’ sgrìobhadh artaigilean agus stiùiridhean mu choimpiutaireachd Sgianach agus gun fhrithealaiche?

  • Seadh mas e do thoil e.

  • Chan eil taing.

Bhòt 28 neach-cleachdaidh. Cha do stad 4 neach-cleachdaidh.

Source: www.habr.com

Ceannaich aoigheachd earbsach airson làraich le dìon DDoS, frithealaichean VPS VDS 🔥 Ceannaich aoigheachd làrach-lìn earbsach le dìon DDoS, frithealaichean VPS VDS | ProHoster