Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A WebAssembly-összetevők új módszert jelentenek az alkalmazások létrehozására és üzembe helyezésére. Úgy tervezték, hogy a programozási nyelvek hordozható fordítási célpontja legyen, és különböző környezetekben is futtatható. A WebAssembly-összetevők kialakításuk szerint tesztkörnyezetbe vannak adva, és meghatározott felületeken teszik elérhetővé a működésüket. Az összetevők abban különböznek a tárolóktól, hogy a bináris fájlok sokkal kisebbek és gyorsabban indulnak el. Keresse meg a modell teljes leírását és a specifikációban szereplő összetevőt.
A wasmCloud a Cloud Native Computing Foundation (CNCF) projekt, amelynek célja a WebAssembly-összetevők fejlesztésének, üzembe helyezésének és vezénylésének gyors nyomon követése. Ez a dokumentum részletesen ismerteti a wasmCloud Azure Kubernetes Service-fürtön való üzembe helyezésének utasításait.
Mielőtt hozzákezdene
- Ez a cikk a Kubernetes-fogalmak alapszintű megértését feltételezi. További információkért tekintse meg az Azure Kubernetes Service (AKS) Kubernetes alapfogalmait.
- Aktív Azure-előfizetésre van szüksége. Ha még nincs előfizetése, hozzon létre egy ingyenes fiókot, mielőtt hozzákezd.
- Szüksége van egy AKS-fürtre. Ha nem rendelkezik meglévő fürttel, létrehozhat egyet az Azure CLI, az Azure PowerShell vagy az Azure Portal használatával.
- Telepítenie kell a wasmCloud CLI-t (mosás) a 0.39.0-s vagy újabb verzióban. A telepítési lehetőségekről a wasmcloud-cli című témakörben olvashat.
Előfeltételek
- Az Azure Portallal nem helyezheti üzembe a wasmCloudot egy AKS-fürtön.
A wasmCloud üzembe helyezése
A wasmCloud AKS-fürtön való üzembe helyezéséhez telepítenie kell az all-in-one Helm chartot a fürtbe. Ez a következő szolgáltatásokat telepíti egyetlen névtérbe:
- NATS: A NATS biztosítja a gerincet a wasmCloud összetevői közötti összes kommunikációhoz.
- wadm: a wasmCloud Application Manager, más néven wadm a wasmCloud tetején futó alkalmazások felügyeletének vezénylője.
- a wasmCloud operátor: a wasmCloud operátor egy Kubernetes-operátor, amely a wasmCloud-gazdagépek életciklusát kezeli.
Javasoljuk, hogy helyezze üzembe a wasmCloudot egy dedikált Kubernetes-névtérben.
A következő használatával hozzon létre egy névteret a wasmCloudhoz:
kubectlkubectl create namespace wasmcloudTelepítse a NATS-t és a wadm-ot a wasmCloud névtérbe a
helm upgradekövetkező paranccsal:# By default, the chart installs NATS, Wadm, and wasmCloud Operator subcharts helm upgrade --install \ wasmcloud-platform \ --values https://raw.githubusercontent.com/wasmCloud/wasmcloud/main/charts/wasmcloud-platform/values.yaml \ oci://ghcr.io/wasmcloud/charts/wasmcloud-platform:0.1.2 \ --dependency-updateA parancs kimenetének a következőhöz hasonlóan kell kinéznie:
NAME: wasmcloud-platform LAST DEPLOYED: Thu Nov 7 14:58:54 2024 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES:Várja meg, amíg az összes pod elkezdi használni a
kubectl.kubectl rollout status deploy,sts -l app.kubernetes.io/name=nats kubectl wait --for=condition=available --timeout=600s deploy -l app.kubernetes.io/name=wadm kubectl wait --for=condition=available --timeout=600s deploy -l app.kubernetes.io/name=wasmcloud-operatorEgy CRD és
kubectlhasználatával wasmCloud-hoszt indítása:cat << EOF | kubectl apply -f - apiVersion: k8s.wasmcloud.dev/v1alpha1 kind: WasmCloudHostConfig metadata: name: wasmcloud-host spec: lattice: default version: "1.4.1" EOFEllenőrizze, hogy fut-e a wasmCloud-gazdagép:
kubectl get pod -l app.kubernetes.io/instance=wasmcloud-hostA kimenetnek a következőhöz hasonlóan kell kinéznie:
NAME READY STATUS RESTARTS AGE wasmcloud-host-f9d67b8cf-lvsq6 2/2 Running 0 84sEllenőrizze, hogy tud-e csatlakozni a wasmCloud-gazdagéphez a következő használatával
wash:Egy külön shellben futtassa a következő parancsot egy futó NATS-podhoz való porttovábbításhoz.
kubectl port-forward nats-0 4222Ez a parancs a 4222-s porton lévő összes forgalmat helyileg továbbítja a fürtben futó NATS-podra. A wasmCloudhoz
washsegítségével való csatlakozáshoz muszáj továbbítania a portot.Az Ön eredeti termináljában futtassa a következő parancsot
wash, hogy ellenőrizze, fut-e a wasmCloud-gazdagép:wash get hostsA kimenetnek a következőhöz hasonlóan kell kinéznie:
Host ID Friendly name Uptime (seconds) ND2G4FRXLBCV3YL52OD4NRSS66Z5YOR3JOSL3Q7T5I6ZJM4EII3Y73CZ frosty-resonance-6227 312
WasmCloud-alkalmazás üzembe helyezése
Most, hogy a wasmCloud fut az AKS-fürtön, üzembe helyezhet egy wasmCloud-alkalmazást. A wasmCloud-alkalmazások a WasmCloud Application Manager (wadm) által vezényelt WebAssembly-összetevők gyűjteményei.
WasmCloud-alkalmazásjegyzékfájl létrehozása. Ez a fájl az alkalmazást alkotó összetevőket ismerteti. Mentse a következő yaml-fájlt, mint
hello-world.yaml.apiVersion: core.oam.dev/v1beta1 kind: Application metadata: name: hello-world annotations: description: 'HTTP hello world demo in Rust, using the WebAssembly Component Model and WebAssembly Interfaces Types (WIT)' spec: components: - name: http-component type: component properties: image: ghcr.io/wasmcloud/components/http-hello-world-rust:0.1.0 traits: # Govern the spread/scheduling of the component - type: spreadscaler properties: instances: 1 # Add a capability provider that enables HTTP access - name: httpserver type: capability properties: image: ghcr.io/wasmcloud/http-server:0.23.2 traits: # Establish a unidirectional link from this http server provider (the "source") # to the `http-component` component (the "target") so the component can handle incoming HTTP requests, # # The source (this provider) is configured such that the HTTP server listens on 0.0.0.0:8080 - type: link properties: target: http-component namespace: wasi package: http interfaces: [incoming-handler] source_config: - name: default-http properties: address: 0.0.0.0:8080A wasmCloud-alkalmazás üzembe helyezése a(z)
washhasználatával.wash app deploy hello-world.yamlA kimenetnek a következőhöz hasonlóan kell kinéznie:
Deployed application "hello-world", version "01JC44TVDBC2V6MJ1NJTKNNX1J"Ellenőrizze, hogy az alkalmazás fut-e a következővel
wash:wash app status hello-worldA kimenetnek a következőhöz hasonlóan kell kinéznie:
Name Kind Status http_component SpreadScaler Deployed httpserver -(wasi:http)-> http_component LinkScaler Deployed httpserver SpreadScaler DeployedSzükség esetén ismételje meg ezt a parancsot, amíg az összes összetevő állapota
Deployedmeg nem jelenik.A http-összetevő meghívása a következővel
curl:kubectl port-forwardEgy külön parancssorban futtassa a következő parancsot porttovábbításra az
hello-worldalkalmazáshozkubectl port-forward port-forward deployment/wasmcloud-host 8080Ez a parancs a 8080-s porton lévő összes forgalmat helyileg továbbítja a fürtön futó wasmCloud-gazdagépre. A wasmCloudhoz
curlsegítségével való csatlakozáshoz muszáj továbbítania a portot.Az eredeti rendszerhéjban futtassa a következő parancsot a http komponens meghívásához:
curl http://localhost:8080A kimenetnek a következőhöz hasonlóan kell kinéznie:
Hello from Rust!A telepített erőforrások törlése
A létrehozott erőforrások törléséhez futtassa a következő parancsokat:
kubectl delete namespace wasmcloudEz a parancs eltávolítja az wasmCloud-összetevőket az AKS-fürtből.
Következő lépések
A wasmCloud gyorsútmutatót követve továbbra is elsajátíthatja a WebAssembly-összetevők alapoktól való létrehozását, a különböző WasmCloud-képességek használatát és az alkalmazás skálázását.