OpenStack Magnum (Kubernetes)¶
This section contains a series of macros for projects that need to spin up kubernetes clusters using JJB.
Job Setup¶
The two macros lf-kubernetes-create & lf-kubernetes-delete are companion macros and used together when constructing a job template that needs a kubernetes cluster.
Example Usage:
- job-template:
name: k8s-test
#####################
# Default variables #
#####################
base-image: Fedora Atomic 29 [2019-08-20]
boot-volume-size: 10
cluster-settle-time: 1m
docker-volume-size: 10
fixed-network: ecompci
fixed-subnet: ecompci-subnet1
keypair: jenkins
kubernetes-version: v1.16.0
master-count: 1
master-flavor: v2-standard-1
node-count: 2
node-flavor: v2-highcpu-8
openstack-cloud: vex
#####################
# Job configuration #
#####################
builders:
- lf-infra-pre-build
- lf-kubernetes-create:
openstack-cloud: "{openstack-cloud}"
base-image: "{base-image}"
boot-volume-size: "{boot-volume-size}"
cluster-settle-time: "{cluster-settle-time}"
docker-volume-size: "{docker-volume-size}"
fixed-network: "{fixed-network}"
fixed-subnet: "{fixed-subnet}"
keypair: "{keypair}"
kubernetes-version: "{kubernetes-version}"
master-count: "{master-count}"
master-flavor: "{master-flavor}"
node-count: "{node-count}"
node-flavor: "{node-flavor}"
publishers:
- lf-kubernetes-delete
Macros¶
lf-kubernetes-create¶
Creates an OpenStack Kubernetes cluster as configured by the job. Name pattern
of stack is $SILO-$JOB_NAME-$BUILD_NUMBER
.
Requires lf-infra-pre-build
macro to run first to install the
openstack
and lftools
packages.
Requires a Config File Provider configuration for clouds.yaml named
clouds-yaml
.
Required Parameters: | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
lf-kubernetes-delete¶
Deletes the stack associated with this job. Name pattern of stack is
$SILO-$JOB_NAME-$BUILD_NUMBER
.
Requires lf-infra-pre-build
macro to run first to install the
openstack
and lftools
packages.
Requires a Config File Provider configuration for clouds.yaml named
clouds-yaml
.