An example of creating a deployment using the k8s model architecture can be found here: https://github.com/kubernetes-client/python/blob/master/examples/deployment_examples.py
def create_deployment_object(): # Configureate Pod template container container = client.V1Container( name="nginx", image="nginx:1.7.9", ports=[client.V1ContainerPort(container_port=80)]) # Create and configurate a spec section template = client.V1PodTemplateSpec( metadata=client.V1ObjectMeta(labels={"app": "nginx"}), spec=client.V1PodSpec(containers=[container])) # Create the specification of deployment spec = client.ExtensionsV1beta1DeploymentSpec( replicas=3, template=template) # Instantiate the deployment object deployment = client.ExtensionsV1beta1Deployment( api_version="extensions/v1beta1", kind="Deployment", metadata=client.V1ObjectMeta(name=DEPLOYMENT_NAME), spec=spec) return deployment This would involve a more k8s knowledge from the user, but would have the massive benefit that we would not have to maintain new features as the k8s API updates (Would simply update version). A user would have to supply is a deployment object and possibly a "success criteria" (i.e. an endpoint to test). Conversely, we could make the API a bit easier by only requiring a spec and an optional metadata, after which we would handle a lot of the boilerplate. On Tue, Jul 3, 2018 at 9:20 AM Daniel Imberman <daniel.imber...@gmail.com> wrote: > Hi all, > > Enclosed is a proposal for a kubernetes deployment management operator. I > think this would be a good addition to current k8s offerings s.t. users can > actually launch persistent applications from airflow DAGs. > > * What?* > Add an operator that monitors a k8s deployment, declaring the task > complete on proper deployment/accessibility of endpoint > > * Why?* > Not all tasks are single pods, sometimes you would want to run one task > that launches a service, and then a second task that smoke tests/stress > tests/ > gives state to an application deployment. This would give airflow extra > functionality as a CI/CD tool in the k8s ecosystem. > > * Fix:* > Create a modification (or extension) of the k8sPodOperator that can > handle entire deployments (possibly using the k8s model API to ensure > full flexibility of users). > > Thank you. >