Megosztás a következőn keresztül:


Kubernetes-titkos kód hozzáadása az Apache Airflow-feladatban

Feljegyzés

Az Apache Airflow-feladatot az Apache Airflow működteti.

A Kubernetes-titkos kódok olyan objektumok, amelyek bizalmas információk, például jelszavak, jogkivonatok vagy kulcsok biztonságos tárolására szolgálnak. A titkos kódok használatával elkerülheti a bizalmas adatok beágyazását közvetlenül az alkalmazás kódjába.

Ez az útmutató végigvezeti egy Kubernetes-titkos kód hozzáadásán a Microsoft Fabricen üzemeltetett Apache Airflow-környezetben a tárolólemezképek magánregisztrációs adatbázisokból való lekéréséhez. Ebben a példában az Azure Container Registry használatával hozunk létre egy egyéni rendszerképet, amelyet aztán egy Airflow DAG-on belül húzunk le.

Előfeltételek

Adjon hozzá egy Kubernetes-titkos kulcsot.

  1. A lapra Environment configuration kattintással lépjen a lapra Configure Airflow.
  2. A szakasz alatt Kubernetes secrets kattintson a New gombra. Képernyőkép az új Kubernetes-titkos kód hozzáadásához megjelenő gombról.
  3. Töltse ki a párbeszédpanelen megjelenő mezőket:
    • Név: A Kubernetes-titkos kód neve.
    • Névtér: A Kubernetesben futtatandó névtér. Alapértelmezés szerint: Töltse ki a mezőt adf.
    • Titkos kód típusa: Válassza ki a titkos kód típusát az értékek között: Private registry credential és Basic auth credential.
    • Beállításjegyzék-kiszolgáló URL-címe: a privát tárolóregisztrációs adatbázis URL-címe, \registry_name\>.azurecr.iopéldául.
    • Felhasználónév: A privát tárolóregisztrációs adatbázis felhasználóneve.
    • Jelszó: Jelszó a privát tárolóregisztrációs adatbázis eléréséhez. Képernyőkép az új Kubernetes-titkos kód hozzáadását bemutató űrlapról.
  4. Az összes mező kitöltése után kattintson a gombra a Create Kubernetes-titkos kód létrehozásának véglegesítéséhez.

Minta DAG, amely tárolt Kubernetes-titkos kóddal kér le egy egyéni rendszerképet az ACR-ből.

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,
)

Rövid útmutató: Apache Airflow-feladat létrehozása