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.
OpenFaaS , sunucusuz işlevler oluşturmak için kapsayıcıları kullanan bir çerçevedir. Açık kaynak bir proje olarak topluluk içinde büyük ölçekli bir benimseme kazanmıştır. Bu belgede, Azure Kubernetes Service (AKS) kümesine OpenFaas yükleme ve kullanma işlemleri 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.
- OpenFaaS CLI'yi yüklemeniz gerekir. Yükleme seçenekleri için OpenFaaS CLI belgelerine bakın.
OpenFaaS helm grafik deposunu ekle
Aşağıdaki
helmkomutları kullanarak OpenFaaS helm chart deposunu ekleyin ve en son sürüme güncelleyin.helm repo add openfaas https://openfaas.github.io/faas-netes/ helm repo update
OpenFaaS'i dağıtma
İyi bir uygulama olarak, OpenFaaS ve OpenFaaS işlevleri kendi Kubernetes ad alanında depolanmalıdır.
komutunu kullanarak OpenFaaS sistemi ve işlevleri için bir ad alanı
kubectl applyoluşturun.kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.ymlAşağıdaki komutları kullanarak OpenFaaS KULLANıCı Arabirimi Portalı ve REST API için bir parola oluşturun. Helm grafiği, bulut yük dengeleyici aracılığıyla İnternet'e açılan OpenFaaS Ağ Geçidi üzerinde temel kimlik doğrulamayı etkinleştirmek için bu parolayı kullanır.
# generate a random password PASSWORD=$(head -c 12 /dev/urandom | shasum| cut -d' ' -f1) kubectl -n openfaas create secret generic basic-auth \ --from-literal=basic-auth-user=admin \ --from-literal=basic-auth-password="$PASSWORD"Önemli
Kimlik doğrulaması için kullanıcı adı ve parola kullanmak güvenli olmayan bir desendir. OpenFaaS kurumsal lisansınız varsa, bunun yerine OpenFaaS için Kimlik ve Erişim Yönetimi (IAM) kullanmanızı öneririz.
Aşağıdaki
echokomutu kullanarak parolanızın değerini alın.echo $PASSWORDkomutunu kullanarak AKS kümenize OpenFaaS dağıtın
helm upgrade.helm upgrade openfaas --install openfaas/openfaas \ --namespace openfaas \ --set basic_auth=true \ --set functionNamespace=openfaas-fn \ --set serviceType=LoadBalancerÇıkışınız aşağıdaki daraltılmış örnek çıkışa benzer olmalıdır:
NAME: openfaas LAST DEPLOYED: Tue Aug 29 08:26:11 2023 NAMESPACE: openfaas STATUS: deployed ... NOTES: To verify that openfaas has started, run: kubectl --namespace=openfaas get deployments -l "release=openfaas, app=openfaas" ...OpenFaaS ağ geçidine erişmek için bir genel IP adresi oluşturulur. komutunu kullanarak
kubectl get serviceIP adresini alın.kubectl get service -l component=gateway --namespace openfaasÇıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE gateway ClusterIP 10.0.156.194 <none> 8080/TCP 7m gateway-external LoadBalancer 10.0.28.18 52.186.64.52 8080:30800/TCP 7mBu örnekte, oturum açmanız istendiği 8080
http://52.186.64.52:8080numaralı bağlantı noktasındaki dış IP adresine göz atarak OpenFaaS sistemini test edin. Varsayılan kullanıcıadminolup, parolanızecho $PASSWORDkullanılarak alınabilir.
8080 numaralı bağlantı noktasındaki dış IP adresinin URL'sine ayarlayın
$OPENFAAS_URLve aşağıdaki komutları kullanarak Azure CLI ile oturum açın.export OPENFAAS_URL=http://52.186.64.52:8080 echo -n $PASSWORD | ./faas-cli login -g $OPENFAAS_URL -u admin --password-stdin
İlk işlevi oluşturma
OpenFaaS URL'nizi kullanarak OpenFaaS sistemine gidin.
OpenFaas portalını kullanarak Yeni İşlev Dağıt'ı seçerek bir işlev oluşturun ve Figlet'i arayın.
Figlet işlevini seçin ve ardından Yükle'yi seçin.
Aşağıdaki
curlkomutu kullanarak işlevini çağırın. Aşağıdaki örnekteki IP adresini OpenFaaS ağ geçidi adresinizle değiştirdiğinizden emin olun.curl -X POST http://52.186.64.52:8080/function/figlet -d "Hello Azure"Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
_ _ _ _ _ | | | | ___| | | ___ / \ _____ _ _ __ ___ | |_| |/ _ \ | |/ _ \ / _ \ |_ / | | | '__/ _ \ | _ | __/ | | (_) | / ___ \ / /| |_| | | | __/ |_| |_|\___|_|_|\___/ /_/ \_\/___|\__,_|_| \___|
İkinci işlev oluşturma
Azure Cosmos DB örneğinizi yapılandırma
komutunu kullanarak
az group createAzure Cosmos DB örneği için yeni bir kaynak grubu oluşturun.az group create --name serverless-backing --location eastusMongoDBkomutunu kullanarak,az cosmosdb createtüründe bir Azure Cosmos DB örneği dağıtın.openfaas-cosmos'yu kendi benzersiz örnek adınızla değiştirin.az cosmosdb create --resource-group serverless-backing --name openfaas-cosmos --kind MongoDBAzure Cosmos DB veritabanı bağlantı dizesini alın ve komutunu kullanarak bir değişkende depolayın
az cosmosdb keys list. Bağımsız değişkeninin değerini--resource-groupkaynak grubunuzun adıyla, bağımsız değişkeni ise--nameAzure Cosmos DB örneğinizin adıyla değiştirdiğinizden emin olun.COSMOS=$(az cosmosdb keys list \ --type connection-strings \ --resource-group serverless-backing \ --name openfaas-cosmos \ --output tsv)Adlı bir dosya
plans.jsonoluşturup aşağıdaki json dosyasında kopyalayarak Azure Cosmos DB'yi test verileriyle doldurun.{ "name" : "two_person", "friendlyName" : "Two Person Plan", "portionSize" : "1-2 Person", "mealsPerWeek" : "3 Unique meals per week", "price" : 72, "description" : "Our basic plan, delivering 3 meals per week, which will feed 1-2 people.", "__v" : 0 }
İşlevi oluşturma
MongoDB araçlarını yükleyin. Aşağıdaki örnek komut brew kullanarak bu araçları yükler. Daha fazla yükleme seçeneği için MongoDB belgelerine bakın.
brew install mongodbMongoimport aracını kullanarak Azure Cosmos DB örneğini verilerle yükleyin.
mongoimport --uri=$COSMOS -c plans < plans.jsonÇıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
2018-02-19T14:42:14.313+0000 connected to: localhost 2018-02-19T14:42:14.918+0000 imported 1 documentkomutunu kullanarak
faas-cli deployişlevi oluşturun. Parametrenin-gdeğerini OpenFaaS ağ geçidi adresinizle güncellediğinizden emin olun.faas-cli deploy -g http://52.186.64.52:8080 --image=shanepeckham/openfaascosmos --name=cosmos-query --env=NODE_ENV=$COSMOSDağıtıldıktan sonra çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
Deployed. 202 Accepted. URL: http://52.186.64.52:8080/function/cosmos-queryAşağıdaki
curlkomutu kullanarak işlevi test edin. IP adresini OpenFaaS ağ geçidi adresiyle güncelleştirdiğinizden emin olun.curl -s http://52.186.64.52:8080/function/cosmos-queryÇıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
[{"ID":"","Name":"two_person","FriendlyName":"","PortionSize":"","MealsPerWeek":"","Price":72,"Description":"Our basic plan, delivering 3 meals per week, which will feed 1-2 people."}]Uyarı
İşlevi OpenFaaS kullanıcı arabiriminde de test edebilirsiniz:
Sonraki Adımlar
Kendi GitHub botunuzu oluşturma, gizli dizileri kullanma, ölçümleri görüntüleme ve otomatik ölçeklendirme gibi konuları kapsayan bir dizi uygulamalı laboratuvar içeren OpenFaaS atölyesiyle öğrenmeye devam edin.