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
helm
komutları 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 apply
oluşturun.kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml
Aş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
echo
komutu kullanarak parolanızın değerini alın.echo $PASSWORD
komutunu 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 service
IP 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 7m
Bu örnekte, oturum açmanız istendiği 8080
http://52.186.64.52:8080
numaralı bağlantı noktasındaki dış IP adresine göz atarak OpenFaaS sistemini test edin. Varsayılan kullanıcıadmin
olup, parolanızecho $PASSWORD
kullanılarak alınabilir.8080 numaralı bağlantı noktasındaki dış IP adresinin URL'sine ayarlayın
$OPENFAAS_URL
ve 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
curl
komutu 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 create
Azure Cosmos DB örneği için yeni bir kaynak grubu oluşturun.az group create --name serverless-backing --location eastus
az cosmosdb create
komutunu kullanarak,MongoDB
tü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 MongoDB
Azure 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-group
kaynak grubunuzun adıyla, bağımsız değişkeni ise--name
Azure 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.json
oluş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 mongodb
Mongoimport 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 document
komutunu kullanarak
faas-cli deploy
işlevi oluşturun. Parametrenin-g
değ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=$COSMOS
Dağı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-query
Aşağıdaki
curl
komutu 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.
Azure Kubernetes Service