knep

command module
v0.0.0-...-d952eb4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2025 License: MIT Imports: 7 Imported by: 0

README

Knada NetworkPolicy Admission Webhook - knep

Knada Network Policy Admission Webhook - knep - er en Validating Admission Webhook som oppretter egress FQDN network policies og standard network policies for Jupyterhub og Airflow workers for å tillate trafikk ut fra poddene til en liste med hoster som brukerne selv angir. I utgangspunktet vil podder ha en default egress network policy som tillater trafikk ut til det som er felles (som f.eks. private.googleapis.com). Denne default network policien rulles ut i team namespacet av replicator når brukeren gjennom Knorten enabler allowlist featuren for teamet sitt. Alt utover det angitt i default network policien må brukerne selv spesifisere for enten notebooken sin eller hver enkelt task i Airflow DAGene sine som beskrevet i KNADA docs.

Admission Webhook callbacken vil se etter podder som har labels component: singleuser-server (for notebook podder) og dag_id (for Airflow pods), og lage FQDN og vanlige network policies spesifikt for podden som tillater trafikk ut til hostene angitt i allowlist annotasjonen til pod ressursen før podden blir tillat å starte. Etter at podden terminerer (enten med suksess eller feil) vil kontrolleren fjerne de pod spesifikke network policiene.

graph TB;
    user(user)
    user--"enable allowlist"-->knorten[knorten]
    subgraph "cluster: knada-gke"
        direction LR
        subgraph "namespace: knada-system"
            knorten[knorten]--"enabled label for team namespace"-->replicator[replicator]
            knep[knep]
        end
        subgraph " "
            apiserver[apiserver]--"call webhook"-->knep
        end
        subgraph "namespace: team-a"
            apiserver--"deploy"-->task[notebook/airflow worker]
            service[airflow/jupyter]--"create pod request"-->apiserver
            defaultnetpol[default netpol]
            knep[knep]--"deploy"-->tasknetpol[pod specific netpol]
            knep--"allowed"-->apiserver
            replicator--"deploy"-->defaultnetpol[default netpol]
        end
    end

Den resulterende egress network policien for en Jupyterhub eller Airflow worker pod blir da en kombinasjon av default policien og de task spesifikke policiene.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
api
k8s

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL