GithubHelp home page GithubHelp logo

yuvalk / kcli-upi-helper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from karmab/kcli-plan-openshift4-upi

0.0 2.0 0.0 124 KB

run a disconnected registry vm and publish live isos for baremetal install

Shell 94.60% Python 5.40%

kcli-upi-helper's Introduction

Purpose

This repository provides a plan which deploys an installer vm where:

  • openshift-install and oc are downloaded
  • dnsmasq, haproxy and radvd are set to provide services in a dedicated network, either on ipv4 or ipv6
  • disconnected registry and olm operators are synced
  • openshift-install is leveraged to generate ignition file for all the nodes.
  • rhcos live iso is used along with coreos-installer to generate an auto installer for each node
  • an optional bootstrap vm is precreated to be used along with the live iso
  • if specified, virtual masters and workers are created and started
  • if specified, baremetal masters and workers are rebooted in the iso via racadm

Why

This provides an easy way to deploy Openshift using UPI

Custom isos are used to drive the installation.

Requirements

for kcli

  • kcli installed (for rhel8/cento8/fedora, look here)
  • an openshift pull secret (stored by default in openshift_pull.json), containing secret for registry.redhat.io and for ci if needed

on the provisioning node

  • libvirt daemon
  • two physical bridges:
    • baremetal with a nic from the external network, with direct access to internet.
    • provisioning with a nic from the provisioning network, where ipv6 will be hosted

on dns

in order to be able to access the env other ipv4, two baremetal vips can be provided for api and ingress

Currently, the api-int dns record needs to be resolvable (over ipv4)

Launch

Prepare a valid parameter file with the information needed (start with the sample)

Call the resulting file kcli_parameters.yml to avoid having to specify it in the creation command.

Then you can launch deployment with:

kcli create plan

Parameters

Parameter Default Value
image centos8
playbook False
cluster upi
domain karmalabs.com
openshift_image None
network_type OVNKubernetes
masters 3
workers 0
keys []
machine_cidr 2620:52:0:1302::/64
static_ips False
image_url None
network default
pool default
numcpus 16
memory 32768
disk_size 80
extra_disks []
rhnregister True
networkwait 30
fake_network False
disable_nics []
baremetal_net baremetal
baremetal_installer_ip None
baremetal_installer_mask None
baremetal_installer_gateway None
ipmi_user root
ipmi_password calvin
baremetal_vips []
baremetal_masters []
baremetal_workers []
provisioning_nic ens3
provisioning_net provisioning
pullsecret openshift_pull.json
notifyscript notify.sh
dnsmasq True
haproxy True
virtual_bootstrap True
virtual_bootstrap_numcpus 8
virtual_bootstrap_memory 16384
virtual_bootstrap_mac aa:bb:bb:bb:aa:01
virtual_masters False
virtual_masters_number 3
virtual_masters_numcpus 8
virtual_masters_memory 32768
virtual_masters_mac_prefix aa:aa:aa:aa:aa
virtual_workers False
virtual_workers_number 1
virtual_workers_numcpus 8
virtual_workers_memory 16384
virtual_workers_mac_prefix aa:aa:aa:bb:bb
notify False
deploy True
disconnected True
disconnected_registry_image quay.io/saledort/registry:2
disconnected_user dummy
disconnected_password dummy
disconnected_origin quay.io
disconnected_prefix ocp4
disconnected_url None
ca None
nbde False
ntp False
olm True
ntp_server 0.rhel.pool.ntp.org
openshift_version 4.7
tag 4.7.0
build False
small_iso False
olm_operators ['local-storage-operator', 'performance-addon-operator', 'ptp-operator', 'sriov-network-operator']
extra_images []

kcli-upi-helper's People

Contributors

karmab avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.