Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
WebAssembly bileşenleri, uygulama derlemenin ve dağıtmanın yeni bir yoludur. Bunlar, programlama dilleri için taşınabilir bir derleme hedefi olacak şekilde tasarlanmıştır ve çeşitli ortamlarda çalıştırılabilir. WebAssembly bileşenleri tasarımı gereği izoledir ve işlevlerini tanımlı arabirimler aracılığıyla kullanıma sunar. Bileşenler kapsayıcılardan farklıdır ve bunlar çok daha küçük ve başlatılması daha hızlı olan tek ikili dosyalardır. Modelin tam açıklamasını ve belirtimdeki bileşeni bulun.
wasmCloud , WebAssembly bileşenlerinin geliştirilmesini, dağıtımını ve düzenlemesini hızlı bir şekilde izlemek için tasarlanmış bir Cloud Native Computing Foundation (CNCF) projesidir. Bu belgede wasmCloud'un Azure Kubernetes Service (AKS) kümesinde nasıl dağıtılacağına ilişkin yönergeler ayrıntılı olarak açıklanmaktadır.
Başlamadan önce
- Kubernetes kavramlarına dair temel bir anlayışa sahip olunması gerektiği varsayılmaktadır. Daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) için Kubernetes temel kavramları.
- Etkin bir Azure aboneliğine ihtiyacınız vardır. Hesabınız yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- AKS kümesine ihtiyacınız var. Mevcut bir kümeniz yoksa Azure CLI, Azure PowerShell veya Azure portalını kullanarak bir küme oluşturabilirsiniz.
- WasmCloud CLI (wash) sürüm 0.39.0 veya üstü bir sürümü kurmanız gerekir. Yükleme seçenekleri için bkz. wasmcloud-cli.
Önkoşullar
- WasmCloud'un AKS kümesine dağıtılması için Azure portalını kullanamazsınız.
WasmCloud'u kullanıma alma
WasmCloud'u AKS kümesine dağıtmak için tek bir Helm grafiğini kümenize yüklemeniz gerekir. Bu, aşağıdaki hizmetleri tek bir ad alanına yükler:
- NATS: NATS, wasmCloud'daki bileşenler arasındaki tüm iletişimin omurgasını sağlar.
- wadm: wasmCloud Uygulama Yöneticisi, diğer adıyla wadm, wasmCloud üzerinde çalışan uygulamaları yönetmek için düzenleyicidir.
- wasmCloud Operatörü: wasmCloud Operatörü, wasmCloud konaklarının yaşam döngüsünü yöneten bir Kubernetes operatörüdür.
wasmCloud'un ayrılmış bir Kubernetes ad alanına dağıtılması önerilir.
wasmCloud için
kubectlkullanarak bir ad alanı oluşturun:kubectl create namespace wasmcloudhelm upgradekomutunu kullanarak NATS ve wadm'yi wasmCloud ad alanına yükleyin.# 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-updateBu komutun çıktısı aşağıdakine benzer olmalıdır:
NAME: wasmcloud-platform LAST DEPLOYED: Thu Nov 7 14:58:54 2024 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES:Tüm podların
kubectlkullanmaya başlamasını bekleyin.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-operatorCRD ve
kubectlkullanarak bir wasmCloud barındırıcısı başlatın.cat << EOF | kubectl apply -f - apiVersion: k8s.wasmcloud.dev/v1alpha1 kind: WasmCloudHostConfig metadata: name: wasmcloud-host spec: lattice: default version: "1.4.1" EOFwasmCloud ana bilgisayarının çalıştığını doğrulayın:
kubectl get pod -l app.kubernetes.io/instance=wasmcloud-hostÇıktınız aşağıdakine benzer görünmelidir:
NAME READY STATUS RESTARTS AGE wasmcloud-host-f9d67b8cf-lvsq6 2/2 Running 0 84skullanarak
washwasmCloud konağına bağlanabildiğinizi doğrulayın:Ayrı bir kabukta çalışan NATS podlarından birine port yönlendirmek için aşağıdaki komutu çalıştırın:
kubectl port-forward nats-0 4222Bu komut, 4222 numaralı bağlantı noktasındaki tüm trafiği yerel olarak kümenizde çalışan NATS poduna iletir. WasmCloud'a
washkullanarak bağlanmak için bu bağlantı noktasını iletmeniz gerekir.Orijinal kabuğunuzda
washile aşağıdaki komutu çalıştırarak wasmCloud ana bilgisayarınızın çalıştığını doğrulayın.wash get hostsÇıktınız aşağıdakine benzer görünmelidir:
Host ID Friendly name Uptime (seconds) ND2G4FRXLBCV3YL52OD4NRSS66Z5YOR3JOSL3Q7T5I6ZJM4EII3Y73CZ frosty-resonance-6227 312
WasmCloud uygulaması dağıtma
Artık AKS kümenizde wasmCloud çalıştırıldığına göre, bir wasmCloud uygulaması dağıtabilirsiniz. wasmCloud uygulaması, wasmCloud Application Manager (wadm) tarafından yönetilen bir WebAssembly bileşenleri koleksiyonudur.
WasmCloud uygulama bildirim dosyası oluşturun. Bu dosya, uygulamanızı oluşturan bileşenleri açıklar. Aşağıdaki yaml dosyasını olarak
hello-world.yamlkaydedin.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:8080washkullanarak wasmCloud uygulamasını dağıtın.wash app deploy hello-world.yamlÇıktınız aşağıdakine benzer görünmelidir:
Deployed application "hello-world", version "01JC44TVDBC2V6MJ1NJTKNNX1J"Uygulamanın
washkullanarak çalıştığını doğrulayın.wash app status hello-worldÇıktınız aşağıdakine benzer görünmelidir:
Name Kind Status http_component SpreadScaler Deployed httpserver -(wasi:http)-> http_component LinkScaler Deployed httpserver SpreadScaler DeployedGerekirse tüm bileşenler
Deployedduruma gelene kadar bu komutu yineleyin.curlvekubectl port-forwardile http bileşenini çağırın.Ayrı bir kabukta aşağıdaki komutu çalıştırarak uygulamaya port yönlendirmek için
hello-worldsağlayınkubectl port-forward port-forward deployment/wasmcloud-host 8080Bu komut, 8080 numaralı bağlantı noktasındaki tüm trafiği yerel olarak kümenizde çalışan wasmCloud konağına iletir. WasmCloud'a
curlkullanarak bağlanmak için bu bağlantı noktasını iletmeniz gerekir.Özgün kabuğunuzda http bileşenini çağırmak için aşağıdaki komutu çalıştırın:
curl http://localhost:8080Çıktınız aşağıdakine benzer görünmelidir:
Hello from Rust!Yüklü kaynakları temizleyin
Oluşturduğunuz kaynakları temizlemek için aşağıdaki komutları çalıştırın:
kubectl delete namespace wasmcloudBu komut, WASMCloud bileşenlerini AKS kümenizden kaldırır.
Sonraki Adımlar
Farklı wasmCloud özelliklerini kullanarak ve uygulamanızı ölçeklendirerek sıfırdan bir WebAssembly bileşeni oluşturma konusunda size yol gösteren wasmCloud Hızlı Başlangıç Kılavuzu'nu izleyerek öğrenmeye devam edebilirsiniz.