06ffeec6b1
Sloop type/site is a minimalistic approach to Airship with reduced requirements towards hardware and external dependencies while keeping all the functional features. Major differences compared to reference site airship-seaworthy - Two bare-metal server setup with 1 control, and 1 compute. Most components are scaled to a single replica and doesn't carry any HA as there is only a single control plane host. - No requirements for DNS/certificates. HTTP and internal cluster DNS is used. - Ceph set to use the single (root) disk. This generally provides minimalistic no-touch ceph deployment. No replication of ceph data (single copy). - Simplified networking (no bonding). Two network interfaces are used by default (flat PXE, and DATA network with VLANs for OAM, Calico, Storage, and OpenStack Overlay) - Generic hostnames used (airsloop-control-1, airsloop-compute-1) that simplifies generation of k8s certificates - Usage of standard Ubuntu 16.04 GA kernel (as oppose to HWE) Change-Id: I4944fcae7d29ed8799d810c93efb0120b6b3a105
33 lines
1.2 KiB
YAML
33 lines
1.2 KiB
YAML
---
|
|
# This file defines a boot action which is responsible for fetching the node's
|
|
# promjoin script from the promenade API. This is the script responsible for
|
|
# installing kubernetes on the node and joining the kubernetes cluster.
|
|
# #GLOBAL-CANDIDATE#
|
|
schema: 'drydock/BootAction/v1'
|
|
metadata:
|
|
schema: 'metadata/Document/v1'
|
|
name: promjoin
|
|
storagePolicy: 'cleartext'
|
|
layeringDefinition:
|
|
abstract: false
|
|
layer: site
|
|
labels:
|
|
application: 'drydock'
|
|
data:
|
|
signaling: false
|
|
# TODO(alanmeadows) move what is global about this document
|
|
assets:
|
|
- path: /opt/promjoin.sh
|
|
type: file
|
|
permissions: '555'
|
|
# The ip= parameter must match the MaaS network name of the network used
|
|
# to contact kubernetes. With a standard, reference Airship deployment where
|
|
# L2 networks are shared between all racks, the network name (i.e. calico)
|
|
# should be correct.
|
|
location: promenade+http://promenade-api.ucp.svc.cluster.local/api/v1.0/join-scripts?design_ref={{ action.design_ref | urlencode }}&hostname={{ node.hostname }}&ip={{ node.network.calico.ip }}{% for k, v in node.labels.items() %}&labels.dynamic={{ k }}={{ v }}{% endfor %}
|
|
location_pipeline:
|
|
- template
|
|
data_pipeline:
|
|
- utf8_decode
|
|
...
|