Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Apache Airflow Job est alimenté par Apache Airflow.
Un secret Kubernetes est un objet conçu pour stocker de manière sécurisée des informations sensibles comme des mots de passe, des jetons ou des clés. Les secrets vous évitent d’avoir à incorporer des données confidentielles directement dans le code de votre application.
Ce guide vous explique pas à pas comment ajouter un secret Kubernetes dans un environnement Apache Airflow hébergé sur Microsoft Fabric pour extraire des images conteneur de registres privés. Dans cet exemple, nous allons utiliser Azure Container Registry pour créer une image personnalisée qui sera ensuite extraite dans un DAG Airflow.
Prérequis
- Azure Container Registry : configurez un Azure Container Registry avec l’image personnalisée que vous souhaitez utiliser dans le graphe orienté acyclique (DAG). Pour plus d’informations sur l’envoi et le tirage d’images conteneur, consultez Envoyer (push) et tirer (pull) une image conteneur – Azure Container Registry.
Ajouter un secret Kubernetes.
- Accédez à la page
Environment configuration
en cliquant surConfigure Airflow
. - Sous la section
Kubernetes secrets
, cliquez sur le boutonNew
. - Remplissez les champs qui s’affichent dans la boîte de dialogue :
- Nom : nom du secret Kubernetes.
- Espace de noms : l’espace de noms à exécuter dans Kubernetes. Par défaut : remplissez le champ en tant que
adf
. - Type de secret : choisissez le type de secret entre les valeurs :
Private registry credential
etBasic auth credential
. - URL du serveur de registre : URL de votre registre de conteneurs privé, par exemple,
\registry_name\>.azurecr.io
. - Nom d’utilisateur : nom d’utilisateur de votre registre de conteneurs privé.
- Mot de passe: le mot de passe permettant d’accéder au registre de conteneurs privés.
- Une fois que tous les champs sont remplis, cliquez sur le bouton
Create
pour finaliser la création du secret Kubernetes.
Exemple de DAG utilisant un secret Kubernetes stocké pour extraire une image personnalisée d’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,
)