Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Bemærk
Apache Airflow-jobbet drives af Apache Airflow.
En Kubernetes-hemmelighed er et objekt, der er designet til sikkert at gemme følsomme oplysninger, f.eks. adgangskoder, tokens eller nøgler. Når du bruger hemmeligheder, undgår du at integrere fortrolige data direkte i programkoden.
Denne vejledning fører dig gennem tilføjelse af en Kubernetes-hemmelighed i et Apache Airflow-miljø, der hostes på Microsoft Fabric, for at hente objektbeholderbilleder fra private registre. I dette eksempel bruger vi Azure Container Registry til at oprette et brugerdefineret billede, som derefter hentes i en Airflow DAG.
Forudsætninger
- Azure Container Registry: Konfigurer en Azure Container Registry med det brugerdefinerede billede, du vil bruge i den styrede acycliske graf (DAG). Du kan få flere oplysninger om push- og pull-objektbeholderbilleder under Billede af push- og pull-objektbeholder – Azure Container Registry.
Tilføj en Kubernetes-hemmelighed.
- Gå til
Environment configurationsiden ved at klikke påConfigure Airflow. - Klik på
Newknappen UnderKubernetes secretssektion.
- Udfyld de felter, der vises i dialogboksen:
- Navn: Navnet på Kubernetes-hemmeligheden.
- Navneområde: Det navneområde, der skal køres i Kubernetes. Som standard: Udfyld feltet som
adf. - Secret type: Vælg typen af hemmeligheden mellem værdierne:
Private registry credentialogBasic auth credential. - URL-adresse til registreringsdatabaseserveren: URL-adressen til registreringsdatabasen for din private objektbeholder,
\registry_name\>.azurecr.iof.eks. . - Brugernavn: Brugernavn i registreringsdatabasen for din private objektbeholder.
- Adgangskode: Adgangskode for at få adgang til registreringsdatabasen for den private objektbeholder.
- Når alle felterne er udfyldt, skal du klikke på knappen
Createfor at færdiggøre oprettelsen af Kubernetes-hemmeligheden.
En eksempel-DAG, der bruger gemt Kubernetes-hemmelighed til at hente et brugerdefineret billede fra ACR.
from datetime import datetime, timedelta
from airflow import DAG
from airflow.providers.cncf.kubernetes.operators.pod import KubernetesPodOperator
from kubernetes.client import models as kubernetes
default_args = {
"retries": 1,
"retry_delay": timedelta(minutes=3),
}
dag = DAG(
dag_id="pull_custom_image_from_acr",
start_date=datetime(2022, 5, 14),
schedule_interval="@daily",
catchup=False,
default_args=default_args,
)
acr_kubernetes = KubernetesPodOperator(
task_id="task-one",
namespace="adf",
image="<docker_image_you_wish_to_launch>",
image_pull_secrets=[kubernetes.V1LocalObjectReference("<stored_kubernetes_password")],
cmds=["echo", "10"],
labels={"foo": "bar"},
name="private-image-pod",
in_cluster=True,
dag=dag,
)