2. “Airship is a collection of loosely coupled, but
interoperable, open source tools that
declaratively automate cloud provisioning.”
Airship Overview
• Orchestration: Batteries included
• Singular Deployment Method
• Predictable Upgrades
• Repeatable Multi-site Deployments
• Resiliency
Motivations
3. Airship Projects
Pegleg Document Aggregation
Shipyard Front door to Airship; orchestrates activities
Drydock Declarative bare-metal provisioning
Promenade Declarative HA Kubernetes installer
Deckhand Document management and layering
Armada Declarative management of complex Helm deployments
Divingbell Declarative bare-metal configuration management
Treasuremap Reference YAML manifests and CICD
5
4. Airship Control Plane Node(s)
Pegleg
PromenadeDrydock
Shipyard
Armada
Deckhand
PostgreSQL
Barbican Kubernetes
Node
(1..N)
Git Repo
(e.g. Treasuremap)
Step 1:
Prepare for Deployment
Pegleg fetches YAML documents from Git
Pegleg feeds them to Shipyard, which forwards them to Deckhand for storage
Deckhand saves secrets to Barbican, other data to PostgreSQL
Airship components validate the YAML documents
1
2
3
4
1
2
3
4
Next, the Shipyard `deploy_site` (or `update_site`) API is invoked
Kubernetes
Node
(1..N)
Nodes
(1..N)
Off-site On-site
5. Airship Control Plane Node(s)
Pegleg
MaaS
PromenadeDrydock
Shipyard
Armada
Deckhand
Shipyard invokes Drydock to perform bare metal provisioning
Drydock drives MaaS, which provisions the node(s)
Drydock retrieves a boot action Kubernetes join script from Promenade
The provisioned node joins the Kubernetes cluster upon reboot
1
Step 2:
Infrastructure Provisioning
Kubernetes
Node
(1..N)
Kubernetes
Node
(1..N)
Nodes
(1..N)
Kubernetes
Nodes
2
4
3
1
2
3
4
Next, the workload software is deployed/updated
Off-site On-site
6. Airship Control Plane Nodes
Pegleg
PromenadeDrydock
Shipyard
Armada
Deckhand
Tiller
Shipyard invokes Armada to perform software install/update
Armada feeds rendered helm charts to Tiller
Tiller installs/updates charts via the Kubernetes API
Step 3:
Workload Deployment
1
2
3
1
2
3
Off-site On-site
Kubernetes
Node
(1..N)
Kubernetes
Node
(1..N)
Kubernetes
Cluster
Nodes
(1..N)
Kubernetes
API Server
Kubelet
Kubelet
7. •Leverage Kubernetes Cluster API
•Containerized Network Function (CNF) support
•Leverage cloud-native workflow management
•Helm v3 and Armada Operator
•Cloud Harbor
•Service Layers
•Edge use cases
•Multus integration
•Multi-tenancy
•MetalKube / Ironic integration
•KubeADM integration
Strategic Focus – Post 1.0 Technical Roadmap
8. Get Involved
• Airship Wiki
• airship-discuss@lists.openstack.org
• Freenode IRC: #airshipit
• IRC team meetings are Tuesdays @ 18:00 CEST 1h
• Design meeting 1 are Tuesdays @ 15:00 CEST 1.5h
• Design meeting 2 are Thursdays @ 17:00 CEST 1.5h
• OpenStack Foundation Touchpoint Call bi-weekly
Get Ramped Up
• Airship architectural overview video
• Treasuremap site authoring guide
• Treasuremap sample site documents
• Airship developer getting started guide