Како да извршите оптоварувања без сервер со Knative на Kubernetes
Авторот ја избра програмата Пишувај за донации.
Вовед
Парадигмата без сервер им помага на корисниците да распоредуваат апликации без да се грижат за основната инфраструктура. Со доаѓањето на Serverless 2.0, многу платформи и алатки сега ви дозволуваат да распоредите апликации без сервер на Kubernetes.
Openshift исто така користи Knative за корисниците да ги распоредат своите оптоварувања без сервер на врвот на Kubernetes.
Knative има две главни компоненти: Сервирање. Eventing управува со настани што предизвикуваат оптоварување без сервер. Сервирањето е збир на компоненти за распоредување и управување со оптоварувања без сервери. Knative Serving им овозможува на програмерите да распоредуваат и управуваат со апликации без сервер на врвот на Kubernetes. Со Knative Serving, програмерите можат брзо и лесно да распоредуваат нови услуги, да ги размеруваат нагоре и надолу и да ги поврзат со други услуги и извори на настани. Оваа одлика им овозможува на програмерите да градат и распоредуваат модерни апликации на облак кои се флексибилни, скалабилни и лесни за одржување.
Во ова упатство, ќе го користите Knative Serving за да распоредите апликација Node.js како оптоварување без сервер на кластерот DigitalOcean Kubernetes. Ќе користите doctl
(CLI DigitalOcean) и kn
(Knative CLI) за да го креирате кластерот Kubernetes и да ја распоредите апликацијата.
Предуслови
За да го завршите ова упатство, ќе ви треба следново:
- Сметка на DigitalOcean што ќе ја користите за да започнете кластер на Kubernetes со најмалку 4 GB RAM и 2 јадра на процесорот. Ако немате, Kubernetes Quickstart.
- За да го следите ова упатство од далечински сервер, можете да поставите сервер Ubuntu 22.04 со корисник кој не е root и заштитен ѕид, следејќи го нашиот брз старт на капки.
- Клиентот на командната линија DigitalOcean, Како да се користи doctl за повеќе информации за користење на
doctl
. - Документи за инсталација на Kubernetes.
- Докер е инсталиран на вашата машина, кој можете да го поставите следејќи ги чекорите 1 и 2 од нашето упатство за Како да го инсталирате и користите Docker.
- Примерок од апликацијата Node.js поставена со следење на упатството Како да се изгради апликација Node.js со Docker за креирање на апликацијата и туркање на нејзината слика од контејнер во Docker Hub.
- Сметка во Docker Hub за складирање на сликите на Docker што ќе ги создадете за време на ова упатство.
Чекор 1 - Лансирање на кластерот DigitalOcean Kubernetes
Бидејќи Knative е платформа базирана на Kubernetes, ќе ја користите со кластерот Kubernetes на DigitalOcean. Постојат повеќе начини за лансирање на кластерот Kubernetes на DigitalOcean. Можете да го користите интерфејсот DigitalOcean Cloud, DigitalOcean CLI или провајдерот Terraform.
Во ова упатство, ќе го користите doctl
, клиентот на командната линија DigitalOcean, за да го стартувате кластерот Kubernetes. Ако сè уште не сте го инсталирале doctl
, следете ги чекорите во официјалниот водич за инсталација.
За ефикасно користење на Knative во ова упатство, ќе ви треба кластер Kubernetes со најмалку 4 GB RAM и 2 јадра на процесорот достапни. Можете да стартувате кластер со име knative-tutorial
со овие спецификации со извршување на командата doctl
со следните знаменца:
--size
ја одредува големината на оддалечениот сервер.--count
го одредува бројот на јазли што ќе се креираат како дел од кластерот.
За да го креирате кластерот DigitalOcean Kubernetes, извршете ја следнава команда:
- doctl kubernetes cluster create knative-tutorial --size s-2vcpu-4gb --count 3
Во оваа команда, креирате кластер со име knative-tutorial
со size
поставена на 4 GB RAM и 2 јадра на процесорот и со број
од 3
јазли.
Забелешка: Можете исто така да го користите знамето --region
за да одредите во кој регион ќе се наоѓа серверот, иако таа опција не се користи во ова упатство. Ако користите оддалечен сервер, како што е Droplet, можеби ќе сакате да го имате вашиот кластер во истиот регион како и серверот. Ако користите DigitalOcean Control Panel to Regional Availability Matrix.
Оваа команда ќе потрае неколку минути за да се заврши. Откако ќе заврши, ќе добиете порака слична на следната:
OutputNotice: Cluster is provisioning, waiting for cluster to be running
...........................................................
Notice: Cluster created, fetching credentials
Notice: Adding cluster credentials to kubeconfig file found in "/home/sammy/.kube/config"
Notice: Setting current-context to do-nyc1-knative-tutorial
ID Name Region Version Auto Upgrade Status Node Pools
d2d1f9bc-114b-45e7-b109-104137f9ab62 knative-tutorial nyc1 1.24.4-do.0 false running knative-tutorial-default-pool
Кластерот сега е подготвен за употреба.
Сега можете да потврдите дали kubectl
е поставен во вашиот систем и може да стигне до кластерот DigitalOcean Kubernetes со следнава команда:
- kubectl cluster-info
Треба да добиете сличен излез:
OutputKubernetes control plane is running at https://69de217e-0284-4e18-a6d7-5606915a4e88.k8s.onlinux-console.net
CoreDNS is running at https://69de217e-0284-4e18-a6d7-5606915a4e88.k8s.onlinux-console.net/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Бидејќи излезот ги наведува URL-адресите на контролната рамнина
и услугата CoreDNS
(означена во излезниот блок), знаете дека kubectl
е правилно конфигуриран во вашиот систем и може да стигне до кластерот.
Како дел од процесот на создавање кластер, doctl
автоматски го конфигурира контекстот kubectl
за да го користи новиот кластер. Можете да го потврдите ова со извршување на следнава команда:
- kubectl config current-context
Оваа команда ќе го врати името на тековниот контекст.
Треба да го добиете следниот излез:
Outputdo-nyc1-knative-tutorial
Излезот покажува дека тековниот контекст е do-nyc1-knative-tutorial
, што е името на кластерот што го создадовте со регионот во кој се наоѓа (nyc1
).
Можете исто така да потврдите дека кластерот работи и јазлите се подготвени да прифатат оптоварувања со оваа команда:
- kubectl get nodes
Командата kubectl get nodes
ги наведува сите јазли во кластерот заедно со нивниот статус и други информации.
Треба да го добиете следниот излез:
OutputNAME STATUS ROLES AGE VERSION
do-nyc1-knative-tutorial-159783000-0v9k5 Ready <none> 2m52s v1.24.4
do-nyc1-knative-tutorial-159783000-1h4qj Ready <none> 2m52s v1.24.4
do-nyc1-knative-tutorial-159783000-1q9qf Ready <none> 2m52s v1.24.4
Излезот вели дека кластерот има три јазли подготвени да прифатат оптоварувања.
Во овој чекор, лансиравте кластер Kubernetes на DigitalOcean. Сега можете да го инсталирате Knative за да го распоредите вашето оптоварување без сервер на Kubernetes.
Чекор 2 - Инсталирање на Knative Serving
Во овој чекор, ќе инсталирате Knative Serving на вашиот Kubernetes кластер. Knative Serving е одговорен за распоредување и управување со вашите оптоварувања без сервери.
За да инсталирате Knative Serving, ќе ви требаат основни компоненти на Knative и сопствени ресурси. Извршете ги овие команди за да ги инсталирате основните компоненти:
- kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.8.0/serving-crds.yaml
- kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.8.0/serving-core.yaml
Командата kubectl применува
ги инсталира основните компоненти на Knative и сопствените ресурси на вашиот кластер. Знамето -f
одредува датотека што содржи промени во конфигурацијата. Во овој случај, промените во конфигурацијата се во датотеките YAML што ги преземате од складиштето Knative.
Овие команди ќе бидат потребни неколку минути за да се завршат. Ќе го добиете следниот излез (излезот подолу е скратен за краткост):
Outputcustomresourcedefinition.apiextensions.k8s.io/certificates.networking.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/clusteringresses.networking.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/configurations.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/images.caching.internal.knative.dev created
customresourcedefinition.apiextensions.k8s.io/ingresses.networking.internal.knative.dev created
...
Овој излез покажува дека основните компоненти на Knative и сопствените ресурси се на вашиот кластер. Сите компоненти се во именскиот простор knative-serving
.
Откако ќе завршат со преземањето, можете да потврдите дека Knative Serving е инсталиран:
- kubectl get pods --namespace knative-serving
Командата kubectl get pods
ќе добие листа на сите подлоги лансирани во кластерот во именскиот простор knative-serving
. Оваа команда ги идентификува подлогите во вашиот кластер, нивниот моментален статус, бројот на контејнери во подлогата и имињата на контејнерите во одреден именски простор.
Треба да добиете сличен излез:
OutputNAME READY STATUS RESTARTS AGE
activator-5f6b4bf5c8-kfxrv 1/1 Running 0 4m37s
autoscaler-bc7d6c9c9-v5jqt 1/1 Running 0 4m34s
controller-687d88ff56-9g4gz 1/1 Running 0 4m32s
domain-mapping-69cc86d8d5-kr57g 1/1 Running 0 4m29s
domainmapping-webhook-65dfdd9b96-nzs9c 1/1 Running 0 4m27s
net-kourier-controller-55c99987b4-hkfpl 1/1 Running 0 3m49s
webhook-587cdd8dd7-qbb9b 1/1 Running 0 4m22s
Излезот ги прикажува сите подлоги што работат во именскиот простор knative-serving
. Мешунките се одговорни за различните компоненти на Knative Serving.
Knative бара мрежен слој за насочување на дојдовниот сообраќај до вашите услуги. Мрежниот слој во Knative овозможува распоредување и комуникација на микросервиси во дистрибуирана средина. Knative Serving го поддржува Куриер како мрежен слој.
Во ова упатство, ќе го користите Куриер како мрежен слој бидејќи беспрекорно се интегрира со Knative. Куриер ги користи истите API и стандарди како и остатокот од екосистемот Knative, што го прави добра опција за програмерите и организациите кои веќе го користат Knative кои сакаат да имаат корист од неговите моќни мрежни способности.
Инсталирајте го Куриер со оваа команда:
- kubectl apply -f https://github.com/knative/net-kourier/releases/download/knative-v1.8.0/kourier.yaml
Треба да го добиете следниот излез:
Outputnamespace/kourier-system configured
configmap/kourier-bootstrap configured
configmap/config-kourier configured
serviceaccount/net-kourier configured
clusterrole.rbac.authorization.k8s.io/net-kourier configured
clusterrolebinding.rbac.authorization.k8s.io/net-kourier configured
deployment.apps/net-kourier-controller configured
service/net-kourier-controller configured
deployment.apps/3scale-kourier-gateway configured
service/kourier configured
service/kourier-internal configured
Излезот ги наведува сите ресурси, како што се Простори со имиња
и ConfigMaps
, создадени како дел од процесот на инсталација на Куриер во кластерот Кубернетес.
За да го конфигурирате Knative да користи Куриер како мрежен слој, ќе ја уредите config-network
ConfigMap.
За ова, треба да ја користите командата kubectl patch
за да ги ажурирате полињата на објектот во кластерот Kubernetes. Ќе мора да вклучите и некои знаменца со оваа команда:
--namespace
одредува каде можете да го најдете објектот што сакате да го закрпите.--type
одредува која закрпа да се изведува при примена на конфигурации со командатаpatch
. Достапните типови сеjson
,спој
истратешки
.--patch
ги одредува податоците за закрпи директно на командната линија наместо во датотека.
Извршете ја оваа команда со поврзаните знаменца:
- kubectl patch configmap/config-network \
- --namespace knative-serving \
- --type merge \
- --patch '{"data":{"ingress-class":"kourier.ingress.networking.knative.dev"}}'
Командата kubectl patch
го закрпи configmap/config-network
со namespace
поставен на knative-serving
и type
е поставено на спој
.
Типот на закрпа merge
овозможува повеќе насочени ажурирања, додека типовите на закрпи json
или strategic
овозможуваат посеопфатни ажурирања. Типот на закрпа merge
одредува поединечни полиња за ажурирање без да ја вклучи целата конфигурација на ресурсите во командата за закрпи, што е случај за другите типови. Податоците што се закрпат се идентификуваат со знамето patch
.
Треба да го добиете следниот излез:
Outputconfigmap/config-network patched
Излезот од оваа команда гарантира дека Куриер е правилно поставен во кластерот.
Конечно, преземете ја надворешната IP адреса на балансерот за оптоварување на Куриер со следнава команда:
- kubectl get svc kourier --namespace kourier-system
Командата kubectl get svc
враќа информации за услугите што работат во кластерот Kubernetes во споменатиот именски простор (во овој случај, courier-system
). Оваа команда ќе ги наведе сите услуги во кластерот со нивните поврзани IP адреси и броеви на порти.
Треба да го добиете следниот излез:
OutputNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kourier LoadBalancer 10.245.186.153 138.197.231.61 80:31245/TCP,443:30762/TCP 2m33s
Излезот на командата го вклучува името на услугата, видот на услугата (како што се ClusterIP
, NodePort
и така натаму), IP адресата на кластерот и бројот на портата, и надворешната IP адреса и бројот на портата. Броевите наведени овде се примери, така што вашиот излез ќе прикажува различни броеви.
Може да потрае неколку минути за да се обезбеди балансерот на товарот. Може да видите празна вредност или <pending>
за полето EXTERNAL-IP
. Ако е така, почекајте неколку минути и повторно извршете ја командата.
Забелешка: Пред да продолжите во ова упатство, ќе треба да го обезбедите балансерот на оптоварување. Откако ќе се пополни полето EXTERNAL-IP
за LoadBalancer
, можете да продолжите. Во спротивно, може да имате проблеми при поставувањето на услугата DNS.
Можете исто така да конфигурирате DNS за името на вашиот домен да укажува на надворешната IP адреса на балансерот на оптоварување. Knative обезбедува задача на Kubernetes наречена default-domain
која автоматски ќе го конфигурира Knative Serving да користи sslip.io
како стандардна наставка за DNS.
sslip.io
е динамична услуга DNS (Систем со име на домен) која им овозможува на корисниците пристап до нивните уреди користејќи приспособено име на домен наместо IP адреса. Користењето на sslip.io
го подобрува пристапот на корисниците до нивните уреди од далечина без потреба од запомнување на сложени IP адреси.
За да го конфигурирате стандардниот DNS суфикс, ќе треба да ја извршите следнава команда:
- kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.8.0/serving-default-domain.yaml
Ќе го добиете следниот излез:
Outputjob.batch/default-domain configured
service/default-domain-service configured
Ресурсите потребни за извршување на услугата Magic DNS се успешно конфигурирани.
Забелешка: Можете исто така да додадете домен ако сакате, иако тоа е надвор од опсегот на овој напис. Треба да поставите провајдер на DNS (како Cloud DNS или Route53) и да креирате запис A за влезната порта Knative што е мапирана на IP адресата на вашиот Knative кластер. Потоа ќе ја ажурирате конфигурацијата на влезната порта Knative за да ја користите зоната DNS и записот A што сте го создале. Можете да ја тестирате конфигурацијата на DNS со пристап до доменот за сервирање Knative и да се осигурате дека се решава на влезната порта.
Сега успешно го инсталиравте Knative Serving на вашиот кластер Kubernetes. Сега можете да го распоредите обемот на работа без сервер со Knative Serving на вашиот кластер Kubernetes.
Чекор 3 - Распоредување на оптоварување без сервер
Во овој чекор, ќе распоредите оптоварување без сервер на врвот на Knative, кој моментално работи во вашиот кластер Kubernetes. Ќе ја користите апликацијата Node.js што сте ја создале како дел од предусловите.
Пред да продолжите, ќе создадете нов именски простор
за да го распоредите обемот на работа без сервер. Можете да го направите ова со извршување на следнава команда:
- kubectl create namespace serverless-workload
Оваа команда ќе создаде нов именски простор наречен работно оптоварување без сервер
.
Треба да го добиете следниот излез:
Outputnamespace/serverless-workload configured
Излезот осигурува дека именскиот простор е успешно креиран.
Knative Serving користи приспособен ресурс наречен Service
за распоредување и управување со оптоварувањата без сервери. Ресурсот Service
е дефиниран од Knative Serving API.
Откако ќе го креирате или измените ресурсот Услуга
, Knative Serving автоматски ќе создаде нова Ревизија
. Ревизија
е снимка од моментот на вашиот обем на работа.
Секогаш кога ќе се креира нова Ревизија
, сообраќајот ќе се пренасочува кон новата Ревизија
по Рута
. Knative Serving автоматски создава Рут
за секоја услуга. Можете да пристапите до вашиот обем на работа користејќи го името на доменот од Route
.
За да распоредите оптоварување без сервер на Knative, мора да креирате ресурс Service
. Можете да го постигнете ова на два различни начини:
- Користејќи го
kn
, официјалната алатка Knative CLI. - Користење на алатката за командна линија
kubectl
за примена на YAML-датотеки во вашиот кластер Kubernetes.
Во потсекциите што следат, ќе го користите секој од овие методи.
Опција 1 - Користење на Knative CLI
Knative CLI, kn
, е интерфејс на командната линија што ви овозможува да комуницирате со Knative.
Прво, инсталирајте го kn
со преземање на најновата верзија на бинарната верзија на Knative CLI:
- wget https://github.com/knative/client/releases/download/knative-v1.8.1/kn-linux-amd64
Командата wget
ќе ја врати алатката.
Потоа, преместете го бинарното во папка наречена kn
:
- mv kn-linux-amd64 kn
Следно, направете го извршно со следнава команда:
- chmod +x kn
Конечно, преместете ја извршната бинарна датотека во директориумот на вашиот PATH
:
- cp kn /usr/local/bin/
Потврдете дека kn
е инсталиран:
- kn version
Треба да добиете сличен излез:
OutputVersion: v1.8.1
Build Date: 2022-10-20 16:09:37
Git Revision: 1db36698
Supported APIs:
* Serving
- serving.knative.dev/v1 (knative-serving v1.8.0)
* Eventing
- sources.knative.dev/v1 (knative-eventing v1.8.0)
- eventing.knative.dev/v1 (knative-eventing v1.8.0)
Излезот од оваа команда вели дека е инсталиран kn
.
За да ја распоредите апликацијата Node.js користејќи kn
, ќе ја користите командата kn услуга создавање
. Ќе вклучите некои знаменца со оваа команда:
--image
ја одредува сликата на контејнерот што сакате да го распоредите.--port
ја одредува портата што ја слуша вашата апликација.--name
го одредува името наУслугата
што сакате да ја креирате.--namespace
го одредува именскиот простор на кој сакате да го распоредите обемот на работа.
За да ја распоредите вашата апликација Node.js, извршете ја следнава команда и ажурирајте го означениот дел со вашето корисничко име DockerHub:
- kn service create node-service \
- --image your_dockerhub_username/nodejs-image-demo \
- --port 8080 \
- --namespace serverless-workload
Командата kn услуга
ја создава услугата Knative со име node-service
со port
поставена на 8080
и namespace
е поставено на работно оптоварување без сервер
. Знамето слика
ја означува локацијата на контејнерот за апликација поставена во Dockerhub.
Треба да го добиете следниот излез:
OutputCreating service 'node-service' in namespace 'serverless-workload':
0.236s Configuration "node-service" is waiting for a Revision to become ready.
2.230s ...
2.311s Ingress has not yet been reconciled.
2.456s Waiting for load balancer to be ready
2.575s Ready to serve.
Service 'node-service' created to latest revision 'node-service-00001' is available at URL:
http://node-service.serverless-workload.138.197.231.61.sslip.io
Овој излез го обезбедува статусот на креирањето Knative Service
. Откако ќе се создаде Услугата
, ќе ја најдете URL-то на Рут
поврзана со Услугата
.
Извршете ја следнава команда за да потврдите дека ресурсот Услуга
е создаден:
- kn service list --namespace serverless-workload
Командата kn листа на услуги
ги наведува сите услуги што моментално се распоредени со Knative Serving во одреден именски простор во кластерот Kubernetes. Оваа команда ви овозможува да пристапите до детали за секоја услуга, вклучувајќи го нејзиното име, статус и URL.
Треба да добиете сличен излез:
OutputNAME URL LATEST AGE CONDITIONS READY REASON
node-service http://node-service.serverless-workload.138.197.231.61.sslip.io node-service-00001 88s 3 OK / 3 True
Од овој излез, можете да потврдите дека е создадена нова Knative Service
со командата kn услуга
што сте ја извршиле претходно. Ја наоѓате и URL-адресата за Патот
и Возраст
и Статус
на услугата.
Во овој дел, го инсталиравте Knative CLI и го користевте за распоредување на оптоварување без сервер за вашата апликација Node.js.
Опција 2 - Создавање сервисен ресурс користејќи YAML датотеки
Можете исто така да распоредите ресурс Service
со создавање на датотека YAML што го дефинира ресурсот. Овој метод е корисен за да се обезбеди контрола на верзијата на вашите оптоварувања.
Прво, ќе креирате поддиректориум во директориумот што ја содржи вашата Dockerfile
. Овој туторијал го користи името knative
за поддиректориумот. Направете ја папката:
- mkdir knative
Следно, ќе креирате датотека YAML наречена service.yaml
во директориумот knative
:
- nano knative/service.yaml
Во новосоздадената датотека service.yaml
, додајте ги следните редови за да дефинирате Service
што ќе ја распореди вашата апликација Node.js:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: node-yaml-service
namespace: serverless-workload
spec:
template:
metadata:
name: node-yaml-service-v1
spec:
containers:
- image: docker.io/your_dockerhub_username/nodejs-image-demo
ports:
- containerPort: 8080
Датотеката YAML на Knative Service ги специфицира следните информации:
име
во првиот делметаподатоци
го одредуваиме
на ресурсотУслуга
.namespace
го одредуваимениот простор
на кој сакате да го распоредите обемот на работа.име
во првиот делspec
го одредуваиме
наРевизија
.слика
во вториот делspec
ја одредувасликата
на контејнерот што сакате да го распоредите.containerPort
ја одредувапортата
што ја слуша вашата апликација.
Погрижете се да го ажурирате означениот текст со информациите што сте ги избрале за вашата апликација и систем, како и со вашето корисничко име на DockerHub.
Зачувајте ја и затворете ја датотеката.
Сега можете да го распоредите ресурсот Услуга
со извршување на следнава команда:
- kubectl apply -f knative/service.yaml
Треба да го добиете следниот излез:
Outputservice.serving.knative.dev/node-yaml-service created
Излезот покажува дека ресурсот Услуга
е успешно креиран.
Извршете ја следнава команда за да потврдите дека ресурсот Услуга
е создаден:
- kn service list --namespace serverless-workload
Командата kn листа на услуги
ги наведува сите услуги што моментално се распоредени со Knative Serving во одреден именски простор. Оваа команда ви овозможува да пристапите до детали за секоја услуга.
Треба да го добиете следниот излез:
OutputNAME URL LATEST AGE CONDITIONS READY REASON
node-service http://node-service.serverless-workload.174.138.127.211.sslip.io node-service-00001 9d 3 OK / 3 True
node-yaml-service http://node-yaml-service.serverless-workload.174.138.127.211.sslip.io node-yaml-service-v1 9d 3 OK / 3 True
Може да потврдите дека е создадена нова Knative Service
врз основа на датотеката YAML на Knative Service што сте ја извршиле претходно. Ја создадовте node-yaml-service
во овој дел. Може да ја најдете и URL-то на Knative Route
.
Ја користевте датотеката YAML во овој дел за да создадете оптоварување без сервер за вашата апликација Node.js.
Во овој чекор, го креиравте ресурсот Knative Service
користејќи ја алатката kn
CLI и датотеката YAML. Следно, ќе пристапите до обемот на работа на апликацијата што сте го распоредиле со Knative.
Чекор 4 - Пристап до обемот на работа на апликацијата
Сега, откако го распоредивте обемот на работа без сервер, можете да му пристапите со URL-то од Knative Route
создаден како дел од обемот на работа без сервер. Knative Route дефинира како дојдовниот HTTP сообраќај треба да се насочува кон одредена услуга или апликација.
За да ја добиете листата на сите Knative рути, извршете ја следнава команда:
- kn route list --namespace serverless-workload
Командата kn листа на маршрути
ги наведува сите Knative правци на одреден именски простор во кластерот Kubernetes.
Треба да добиете сличен излез:
OutputNAME URL READY
node-service http://node-service.serverless-workload.138.197.231.61.sslip.io True
node-yaml-service http://node-yaml-service.serverless-workload.138.197.231.61.sslip.io True
Ќе ги користите URL-адресите генерирани за Knative Routes за да потврдите дека сè работи како што се очекуваше.
Отворете која било од URL-адресите во вашиот прелистувач. Кога ќе пристапите на страницата во вашиот прелистувач, целната страница од вашата апликација Node ќе се вчита:
Успешно распоредивте обем на работа без сервер користејќи Knative на вашиот кластер Kubernetes.
Заклучок
Во ова упатство, распоредивте обем на работа без сервер користејќи Knative. Создадовте ресурс Knative Service
користејќи ја алатката kn
CLI и преку датотеките YAML. Овој ресурс распореди апликација Node.js на вашиот кластер Kubernetes, до кој пристапивте користејќи ја URL-адресата Route
.
За повеќе за карактеристиките што ги нуди Knative, како документацијата Knative.
За да продолжите со изградбата со DigitalOcean Kubernetes (DOKS), погледнете ги нашите водичи за поддршка на Kubernetes.