
Yn ddiamau, Kubernetes yw'r platfform mwyaf amlwg ar gyfer defnyddio cynwysyddion. Mae'n darparu'r gallu i reoli bron popeth gan ddefnyddio ei API a rheolyddion personol sy'n ymestyn ei API gydag adnoddau personol.
Fodd bynnag, mae'n rhaid i'r defnyddiwr wneud penderfyniadau manwl o hyd ynghylch sut i ddefnyddio, ffurfweddu, rheoli a graddio cymwysiadau. Mae graddio cymwysiadau, diogelwch a llif traffig i gyd yn cael eu gadael i'r defnyddiwr. Mae hyn yn gwahaniaethu Kubernetes oddi wrth atebion Platfform-fel-Gwasanaeth (PaaS) traddodiadol, fel Cloud Foundry a Heroku.
Mae'r llwyfannau'n cynnwys rhyngwyneb defnyddiwr symlach ac maent wedi'u hanelu at ddatblygwyr cymwysiadau, sydd fel arfer yn ffurfweddu cymwysiadau unigol. Rheolir llwybro, defnyddio a metrigau'n dryloyw gan y system PaaS sylfaenol.
Mae'r llif gwaith o'r ffynhonnell i'r danfoniad yn cael ei drin gan y PaaS trwy greu delwedd cynhwysydd personol, ei defnyddio, a ffurfweddu llwybr newydd ac is-barth DNS ar gyfer traffig sy'n dod i mewn. Mae hyn i gyd yn cael ei sbarduno gan orchymyn. git push.
Dim ond y blociau adeiladu sylfaenol ar gyfer llwyfannau o'r fath y mae Kubernetes yn eu darparu (yn fwriadol), gan adael i'r gymuned wneud y gwaith eu hunain. :
Mae Kubernetes yn blatfform ar gyfer adeiladu llwyfannau. Dyma'r lle gorau i ddechrau, ond nid y lle gorau i orffen.
O ganlyniad, rydym yn gweld nifer o adeiladau Kubernetes a gwasanaethau cynnal yn ceisio creu Kubernetes PaaS, fel OpenShift a Rancher. Yng nghanol y farchnad Kube-PaaS sy'n tyfu, mae Knative, a grëwyd ym mis Gorffennaf 2018 gan Google a Pivotal, yn dod i mewn i'r farchnad.
Mae Knative yn gydweithrediad rhwng Google a Pivotal, gyda chyfraniadau bach gan gwmnïau eraill fel IBM, RedHat, a Solo.im. Mae'n cynnig nodweddion tebyg i PaaS ar gyfer Kubernetes gyda chefnogaeth o'r radd flaenaf ar gyfer cymwysiadau di-weinydd. Yn wahanol i adeiladwaith Kubernetes, mae Knative yn cael ei osod fel ychwanegiad ar unrhyw glwstwr Kubernetes cydnaws ac yn cael ei ffurfweddu trwy adnoddau personol.
Beth yw Knative?
Disgrifir Knative fel "platfform sy'n seiliedig ar Kubernetes ar gyfer cyflwyno a rheoli llwythi gwaith gan ddefnyddio cyfrifiadura di-weinydd modern." Mae Knative, sy'n galw ei hun yn blatfform o'r fath, yn graddio cynwysyddion yn rhagweithiol ac yn awtomatig yn gymesur â cheisiadau HTTP cydamserol. Yn y pen draw, caiff gwasanaethau nas defnyddir eu graddio i lawr i sero, gan ddarparu graddio ar alw mewn modd di-weinydd.
Mae Knative yn cynnwys set o reolwyr sy'n gosod mewn unrhyw glwstwr Kubernetes ac yn darparu'r galluoedd canlynol:
- adeiladu cymwysiadau cynwysyddion o god ffynhonnell (a ddarperir gan y gydran adeiladu),
- darparu mynediad i draffig sy'n dod i mewn i gymwysiadau (a ddarperir gan y gydran Gwasanaethu),
- cyflwyno a graddio cymwysiadau'n awtomatig ar alw (a ddarperir gan y gydran hefyd) Gwasanaethu),
- nodi ffynonellau digwyddiadau sy'n sbarduno lansio cymwysiadau (a ddarperir gan y gydran Digwyddiadau).
Y gydran allweddol yw Serving, sy'n darparu darpariaeth, graddio awtomatig, a rheoli traffig ar gyfer cymwysiadau a reolir. Ar ôl gosod Knative, cedwir mynediad llawn i'r API Kubernetes, gan ganiatáu i ddefnyddwyr reoli cymwysiadau. cyffredin dull, ac mae hefyd yn gwasanaethu i ddadfygio gwasanaethau Knative, gan weithio gyda'r un elfennau API cyntefig y mae'r gwasanaethau hyn yn eu defnyddio (modiwlau, gwasanaethau, ac ati).
Mae gweini hefyd yn awtomeiddio llwybro traffig glas-wyrdd, gan sicrhau bod traffig yn cael ei rannu rhwng fersiynau newydd a hen o'r rhaglen pan fydd defnyddiwr yn cyflwyno fersiwn wedi'i diweddaru o'r rhaglen.
Mae Knative ei hun yn dibynnu ar osod rheolydd mewnlif cydnaws. Ar adeg ysgrifennu, mae'r canlynol yn cael eu cefnogi: и Bydd yn ffurfweddu mewnlifiad hygyrch i gyfeirio traffig i gymwysiadau a reolir gan Knative.
Gall Rhwyll Gwasanaeth Istio fod yn ddibyniaeth fawr i ddefnyddwyr Knative sydd am roi cynnig arni heb osod yr awyren reoli Istio, gan mai dim ond ar y porth y mae Knative yn dibynnu.
Am y rheswm hwn, mae'r rhan fwyaf o ddefnyddwyr yn well ganddynt Gloo fel porth i Knative, sy'n darparu set nodweddion debyg i Istio (at ddiben defnyddio Knative yn unig), tra hefyd yn defnyddio llawer llai o adnoddau a chael gorbenion gweithredol is.
Gadewch i ni brofi Knative ar waith ar faes prawf. Byddaf yn defnyddio clwstwr newydd ei osod yn rhedeg ar GKE:
kubectl get namespace
NAME STATUS AGE
default Active 21h
kube-public Active 21h
kube-system Active 21hGadewch i ni osod Knative a Gloo. Gallwch wneud hyn mewn unrhyw drefn:
# ставим 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
# ...Rydym yn gwirio bod pob Pod yn y statws “Rhedeg”:
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 44sMae Gloo yn barod ar gyfer llwybro, gadewch i ni greu gwasanaeth Knative sy'n graddio'n awtomatig (gadewch i ni ei alw'n kservice) a llwybro traffig iddo.
Mae gwasanaethau Knative yn darparu ffordd symlach o gyflwyno cymwysiadau i Kubernetes na'r model Deployment+Service+Ingress traddodiadol. Gadewch i ni weithio gyda'r enghraifft ganlynol:
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 userCopïais hwn i ffeil, yna fe'i cymhwysais i'm clwstwr Kubernetes fel hyn:
kubectl apply -f ksvc.yaml -n defaultGallwn weld yr adnoddau a grëwyd gan Knative yn y clwstwr ar ôl cyflwyno ein 'helloworld-go' gwasanaeth k:
kubectl get pod -n default
NAME READY STATUS RESTARTS AGE
helloworld-go-fjp75-deployment-678b965ccb-sfpn8 2/2 Running 0 68sMae pod gyda'n delwedd 'helloworld-go' yn cael ei gychwyn pan fydd kservice yn cael ei ddefnyddio. Os nad oes traffig, bydd nifer y podiau yn cael ei leihau i sero. I'r gwrthwyneb, os yw nifer y ceisiadau cydamserol yn fwy na throthwy ffurfweddadwy, bydd nifer y podiau yn cynyddu.
kubectl get ingresses.networking.internal.knative.dev -n default
NAME READY REASON
helloworld-go TrueMae Knative yn ffurfweddu ei fewnlifiad gan ddefnyddio adnodd 'mewnlifiad' arbennig yn API mewnol Knative. Mae Gloo yn defnyddio'r API hwn fel ei ffurfweddiad i ddarparu nodweddion penodol i PaaS, gan gynnwys model defnyddio glas-wyrdd, gorfodi TLS awtomatig, terfynau amser, a nodweddion llwybro uwch eraill.
Ar ôl peth amser, gwelwn fod ein podiau wedi diflannu (gan nad oedd traffig yn dod i mewn):
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 9m46sYn olaf, byddwn yn ceisio cyrraedd atynt. Mae cael yr URL ar gyfer Knative Proxy yn hawdd ac yn syml gan ddefnyddio glooctl:
glooctl proxy url --name knative-external-proxy
http://35.190.151.188:80Heb ei osod glooctl Gallwch edrych ar y cyfeiriad a'r porthladd yn y gwasanaeth 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 77mGadewch i ni redeg rhywfaint o ddata gan ddefnyddio cURL:
curl -H "Host: helloworld-go.default.example.com" http://35.190.151.188
Hello Knative user!Mae Knative yn darparu PaaS bron i ddatblygwyr ar ben Kubernetes parod, gan ddefnyddio porth API Gloo perfformiad uchel, llawn nodweddion. Dim ond crafu wyneb galluoedd addasadwy helaeth Knative a nodweddion ychwanegol y mae'r erthygl hon yn ei wneud. Mae'r un peth yn wir am Gloo!
Er bod Knative yn brosiect ifanc o hyd, mae ei dîm yn rhyddhau fersiynau newydd bob chwe wythnos ac wedi dechrau gweithredu nodweddion uwch, fel darparu TLS awtomatig a graddio panel rheoli awtomatig. Mae tebygolrwydd uchel, diolch i gydweithrediad nifer o gwmnïau cwmwl ac fel sylfaen cynnig Cloud Run newydd Google, y gallai Knative ddod yn brif opsiwn ar gyfer cyfrifiadura di-weinydd a PaaS ar Kubernetes. Daliwch ati i wylio!
Gan Olygyddion SouthBridge
Rydym yn gwerthfawrogi mewnbwn eich darllenwyr, felly rydym yn gofyn i chi gymryd arolwg byr am erthyglau sydd ar ddod ar Knative, Kubernetes, a chyfrifiadura di-weinydd:
Dim ond defnyddwyr cofrestredig all gymryd rhan yn yr arolwg. os gwelwch yn dda.
Cyfieithu/ysgrifennu mwy o erthyglau a chanllawiau am gyfrifiadura Knative a di-weinydd?
Ie, os gwelwch yn dda.
Diolch, ond dim angen.
Pleidleisiodd 28 o ddefnyddwyr. Ymataliodd 4 o ddefnyddwyr.
Ffynhonnell: hab.com
