Reverse DNS-based Ignition Server for OpenShift
583
Imagine you want to install OpenShift with the Bare Metal UPI Installation method and you have an environment which does NOT allow you to:
...but you CAN:
/ignition.firstboot file modified with:
nameserver=10.128.10.10coreos.inst.ignition_url=http://10.128.10.10:8082/ignition-generator...then Pilot Light is for you!
Pilot Light is a simple Golang application, which when supplied a config.yml file and an install-config.yaml for an OpenShift bare metal install, will generate the needed manifests and Ignition Configs for the cluster and serve them via an HTTP server for Machines that match a hostname pattern as matched from a Reverse DNS query.
$ ./pilot-light [-config file]
install-config.yaml fileAn example install-config.yaml file looks like the following, making sure to change the baseDomain, metadata.name, pullSecret, and sshKey:
apiVersion: v1
baseDomain: example.com
compute:
- hyperthreading: Enabled
name: worker
replicas: 0
controlPlane:
hyperthreading: Enabled
name: master
replicas: 3
metadata:
name: test
networking:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
networkType: OpenShiftSDN
serviceNetwork:
- 172.30.0.0/16
platform:
none: {}
fips: false
pullSecret: '{"auths": ...}'
sshKey: 'ssh-ed25519 AAAA...'
config.yml fileA sample config.yml looks like this:
pilot_light:
version: 0.0.1
asset_directory: ./.generated/
dns_server: 10.128.10.10:53
install_config_path: ./install-config.yaml
masters_schedulable: false
default_ignition_file: bootstrap
server:
host: 0.0.0.0
path: "/generate-manifest"
port: 8082
timeout:
server: 30
read: 15
write: 10
idle: 5
database:
type: local
path: db.sqlite
ignition_sets:
- name: bootstrap
type: bootstrap
hostname_format: bootstrap
- name: control plane
type: master
hostname_format: master
- name: application
type: worker
hostname_format: worker
Running Pilot Light will do the following:
install-config.yaml file to a conf directoryContent type
Image
Digest
Size
6.6 MB
Last updated
over 5 years ago
docker pull kenmoini/pilot-light