Question 2 of 179 from exam AZ-204: Developing Solutions for Microsoft Azure

Question 2 of 179 from exam AZ-204: Developing Solutions for Microsoft Azure

Question

DRAG DROP - You are a developer for a software as a service (SaaS) company that uses an Azure Function to process orders.

The Azure Function currently runs on an Azure Function app that is triggered by an Azure Storage queue.

You are preparing to migrate the Azure Function to Kubernetes using Kubernetes-based Event Driven Autoscaling (KEDA)

You need to configure Kubernetes Custom Resource Definitions (CRD) for the Azure Function.

Which CRDs should you configure? To answer, drag the appropriate CRD types to the correct locations.

Each CRD type may be used once, more than once, or not at all.

You may need to drag the split bar between panes or scroll to view content.

NOTE: Each correct selection is worth one point.

Select and Place:

CRD types

Secret

Deployment

ScaledObject

Answer Area

Setting

Azure Function code

Polling interval

Azure Storage connection string

TriggerAuthentication

CRD type

Ld)

Explanations

Answer Area

CRD types Setting CRD type
Secret
Azure Function code Deployment
Deployment

ScaledObject Polling interval ScaledObject

TriggerAuthentication | Azure Storage connection string Secret

Box 1: Deployment - To deploy Azure Functions to Kubernetes use the func kubernetes deploy command has several attributes that directly control how our app scales, once it is deployed to Kubernetes.

Box 2: ScaledObject - With --polling-interval, we can control the interval used by KEDA to check Azure Service Bus Queue for messages.

Example of ScaledObject with polling interval apiVersion: keda.k8s.io/v1alpha1 kind: ScaledObject metadata: name: transformer-fn namespace: tt labels: deploymentName: transformer-fn spec: scaleTargetRef: deploymentName: transformer-fn pollingInterval: 5 minReplicaCount: 0 maxReplicaCount: 100 Box 3: Secret - Store connection strings in Kubernetes Secrets.

Example: to create the Secret in our demo Namespace: # create the k8s demo namespace kubectl create namespace tt # grab connection string from Azure Service Bus KEDA_SCALER_CONNECTION_STRING=$(az servicebus queue authorization-rule keys list \ -g $RG_NAME \ --namespace-name $SBN_NAME \ --queue-name inbound \ -n keda-scaler \ --query "primaryConnectionString" \ -o tsv) # create the kubernetes secret kubectl create secret generic tt-keda-auth \ --from-literal KedaScaler=$KEDA_SCALER_CONNECTION_STRING \ --namespace tt Reference: https://www.thinktecture.com/en/kubernetes/serverless-workloads-with-keda/