Како да извршите оптоварувања без сервер со 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, извршете ја следнава команда:

  1. 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.

Оваа команда ќе потрае неколку минути за да се заврши. Откако ќе заврши, ќе добиете порака слична на следната:

Output
Notice: 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 со следнава команда:

  1. kubectl cluster-info

Треба да добиете сличен излез:

Output
Kubernetes 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 за да го користи новиот кластер. Можете да го потврдите ова со извршување на следнава команда:

  1. kubectl config current-context

Оваа команда ќе го врати името на тековниот контекст.

Треба да го добиете следниот излез:

Output
do-nyc1-knative-tutorial

Излезот покажува дека тековниот контекст е do-nyc1-knative-tutorial, што е името на кластерот што го создадовте со регионот во кој се наоѓа (nyc1).

Можете исто така да потврдите дека кластерот работи и јазлите се подготвени да прифатат оптоварувања со оваа команда:

  1. kubectl get nodes

Командата kubectl get nodes ги наведува сите јазли во кластерот заедно со нивниот статус и други информации.

Треба да го добиете следниот излез:

Output
NAME 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 и сопствени ресурси. Извршете ги овие команди за да ги инсталирате основните компоненти:

  1. kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.8.0/serving-crds.yaml
  2. kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.8.0/serving-core.yaml

Командата kubectl применува ги инсталира основните компоненти на Knative и сопствените ресурси на вашиот кластер. Знамето -f одредува датотека што содржи промени во конфигурацијата. Во овој случај, промените во конфигурацијата се во датотеките YAML што ги преземате од складиштето Knative.

Овие команди ќе бидат потребни неколку минути за да се завршат. Ќе го добиете следниот излез (излезот подолу е скратен за краткост):

Output
customresourcedefinition.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 е инсталиран:

  1. kubectl get pods --namespace knative-serving

Командата kubectl get pods ќе добие листа на сите подлоги лансирани во кластерот во именскиот простор knative-serving. Оваа команда ги идентификува подлогите во вашиот кластер, нивниот моментален статус, бројот на контејнери во подлогата и имињата на контејнерите во одреден именски простор.

Треба да добиете сличен излез:

Output
NAME 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 кои сакаат да имаат корист од неговите моќни мрежни способности.

Инсталирајте го Куриер со оваа команда:

  1. kubectl apply -f https://github.com/knative/net-kourier/releases/download/knative-v1.8.0/kourier.yaml

Треба да го добиете следниот излез:

Output
namespace/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 ги одредува податоците за закрпи директно на командната линија наместо во датотека.

Извршете ја оваа команда со поврзаните знаменца:

  1. kubectl patch configmap/config-network \
  2. --namespace knative-serving \
  3. --type merge \
  4. --patch '{"data":{"ingress-class":"kourier.ingress.networking.knative.dev"}}'

Командата kubectl patch го закрпи configmap/config-network со namespace поставен на knative-serving и type е поставено на спој.

Типот на закрпа merge овозможува повеќе насочени ажурирања, додека типовите на закрпи json или strategic овозможуваат посеопфатни ажурирања. Типот на закрпа merge одредува поединечни полиња за ажурирање без да ја вклучи целата конфигурација на ресурсите во командата за закрпи, што е случај за другите типови. Податоците што се закрпат се идентификуваат со знамето patch.

Треба да го добиете следниот излез:

Output
configmap/config-network patched

Излезот од оваа команда гарантира дека Куриер е правилно поставен во кластерот.

Конечно, преземете ја надворешната IP адреса на балансерот за оптоварување на Куриер со следнава команда:

  1. kubectl get svc kourier --namespace kourier-system

Командата kubectl get svc враќа информации за услугите што работат во кластерот Kubernetes во споменатиот именски простор (во овој случај, courier-system). Оваа команда ќе ги наведе сите услуги во кластерот со нивните поврзани IP адреси и броеви на порти.

Треба да го добиете следниот излез:

Output
NAME 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 суфикс, ќе треба да ја извршите следнава команда:

  1. kubectl apply -f https://github.com/knative/serving/releases/download/knative-v1.8.0/serving-default-domain.yaml

Ќе го добиете следниот излез:

Output
job.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 што сте ја создале како дел од предусловите.

Пред да продолжите, ќе создадете нов именски простор за да го распоредите обемот на работа без сервер. Можете да го направите ова со извршување на следнава команда:

  1. kubectl create namespace serverless-workload

Оваа команда ќе создаде нов именски простор наречен работно оптоварување без сервер.

Треба да го добиете следниот излез:

Output
namespace/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:

  1. wget https://github.com/knative/client/releases/download/knative-v1.8.1/kn-linux-amd64

Командата wget ќе ја врати алатката.

Потоа, преместете го бинарното во папка наречена kn:

  1. mv kn-linux-amd64 kn

Следно, направете го извршно со следнава команда:

  1. chmod +x kn

Конечно, преместете ја извршната бинарна датотека во директориумот на вашиот PATH:

  1. cp kn /usr/local/bin/

Потврдете дека kn е инсталиран:

  1. kn version

Треба да добиете сличен излез:

Output
Version: 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:

  1. kn service create node-service \
  2. --image your_dockerhub_username/nodejs-image-demo \
  3. --port 8080 \
  4. --namespace serverless-workload

Командата kn услуга ја создава услугата Knative со име node-service со port поставена на 8080 и namespace е поставено на работно оптоварување без сервер. Знамето слика ја означува локацијата на контејнерот за апликација поставена во Dockerhub.

Треба да го добиете следниот излез:

Output
Creating 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-то на Рут поврзана со Услугата.

Извршете ја следнава команда за да потврдите дека ресурсот Услуга е создаден:

  1. kn service list --namespace serverless-workload

Командата kn листа на услуги ги наведува сите услуги што моментално се распоредени со Knative Serving во одреден именски простор во кластерот Kubernetes. Оваа команда ви овозможува да пристапите до детали за секоја услуга, вклучувајќи го нејзиното име, статус и URL.

Треба да добиете сличен излез:

Output
NAME 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 за поддиректориумот. Направете ја папката:

  1. mkdir knative

Следно, ќе креирате датотека YAML наречена service.yaml во директориумот knative:

  1. 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.

Зачувајте ја и затворете ја датотеката.

Сега можете да го распоредите ресурсот Услуга со извршување на следнава команда:

  1. kubectl apply -f knative/service.yaml

Треба да го добиете следниот излез:

Output
service.serving.knative.dev/node-yaml-service created

Излезот покажува дека ресурсот Услуга е успешно креиран.

Извршете ја следнава команда за да потврдите дека ресурсот Услуга е создаден:

  1. kn service list --namespace serverless-workload

Командата kn листа на услуги ги наведува сите услуги што моментално се распоредени со Knative Serving во одреден именски простор. Оваа команда ви овозможува да пристапите до детали за секоја услуга.

Треба да го добиете следниот излез:

Output
NAME 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 рути, извршете ја следнава команда:

  1. kn route list --namespace serverless-workload

Командата kn листа на маршрути ги наведува сите Knative правци на одреден именски простор во кластерот Kubernetes.

Треба да добиете сличен излез:

Output
NAME 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.