SlideShare a Scribd company logo
OCP4 UPI on KVM
BTBS Jay
Agenda
- Architecture
- Pre-Requirements
- DNS
- Network
- Load Balancer
- matchbox
- Deploy
- OCP VMs
- Post jobs
- Set registry storage to emptyDir
- Flow
- manual
- jkit
- OCP 4 commands
Fedora 28
KVM
LB
Master-
0
Master-1
Master-
2
worker-1
worker-
0
DNS
NetworkManager
api
api-int
.apps
bootstrap
master-0
..
master-n
worker-0
..
worker-n
lb
etcd-0
srv-host
Architecture Network Ranges:
192.168.222.1/24
Cluster Name: upi
Domain Name: example.com
Master: 1
Worker: 1
Docker
matchbox
HTTPD
ignition
kernel
initramfs
rhcos-
bios.raw.gz
Pre-requirements(using
NetworkManager)
DNS
NetworkManager
api
api-int
.apps
bootstra
p
master-
0
..
master-n
worker-
0
..
worker-n
lb
etcd-0
srv-host
vi /etc/NetworkManager/dnsmasq.d/libvirt-upi.conf
address=/api.upi.example.com/192.168.222.2
address=/api-int.upi.example.com/192.168.222.2
address=/.apps.upi.example.com/192.168.222.2
address=/bootstrap.upi.example.com/192.168.222.253
address=/master-0.upi.example.com/192.168.222.10
address=/worker-0.upi.example.com/192.168.222.20
address=/lb.upi.example.com/192.168.222.2
address=/matchbox.example.com/192.168.0.184 # hypersvior ip
srv-host=_etcd-server-ssl._tcp.upi.example.com,etcd-0.upi.example.com,2380,0,10
address=/etcd-0.upi.example.com/192.168.222.10
vi /etc/NetworkManager/NetworkManager.conf
dns = dnsmasq
DNS Test
api.upi.example.com
api-init.upi.example.com
bootstrap.upi.example.com
master-0.upi.example.com
worker-0.upi.example.com
etcd-0.upi.example.com
matchbox.example.com
lb.upi.example.com
test.apps.upi.example.com
Pre-requirements(using Terraforms)
terraform_provider_libvirt.libvirt_network
#network_name= $cluster_name
#network_cidr="192.168.222.0/24"
#network_domain="example.com"
bootp configuration (to point matchbox) ⇐ xlst
resource "libvirt_network" "ocp_network" {
name = "${var.cluster_name}"
mode = "${var.network_mode}"
domain = "${var.cluster_name}.${var.network_domain}"
addresses = ["${var.network_address}"]
bridge = "${var.network_bridge}"
dns = {
enabled = true
local_only = false
}
provisioner "local-exec" {
command = <<EOF
ansible-playbook -i ./ansible/inventory
./ansible/tasks/matchbox_config.yml -e
@ansible/defaults/main.yml
EOF
}
provisioner "local-exec" {
command = <<EOF
ansible-playbook -i ./ansible/inventory
./ansible/tasks/ocp_module.yml -e @ansible/defaults/main.yml
EOF
}
xml {
xslt = "${file("bootp.xsl")}"
}
depends_on = [ "module.matchbox" ]
}
Pre-requirements(using Terraforms) - LB
listen ingress-http
bind *:80
mode tcp
option tcplog
option tcp-check
server worker-0 worker-0.upi.example.com:80
check
listen ingress-https
bind *:443
mode tcp
option tcplog
option tcp-check
server worker-0 worker-0.upi.example.com:443
check
listen api
bind *:6443
mode tcp
option tcplog
option tcp-check
server bootstrap
bootstrap.upi.example.com:6443 check
server master-0 master-
0.upi.example.com:6443 check
listen machine-config-server
bind *:22623
mode tcp
option tcplog
option tcp-check
server bootstrap
- VM
- Cloud init
- user-data
- meta-data
- iso(centos)
- Haproxy
Pre-requirements(using Terraforms/docker) - Matchbox
Docker
matchbox
ignition
kernel
initramfs
matchbox server container
- /etc/matchbox/server.{crt,key}
- /etc/matchbox/ca.crt
- ~/.matchbox/client.{crt,key}
- /etc/matchbox/ca.crt
Create by
terraform_provider_matchbox
- /var/lib/match/profiles
- /var/lib/match/groups
- /var/lib/match/ignition
- /var/lib/match/assets
KVM
Master-0
Master-1
Master-2
worker-1
worker-0
Docker
matchbox
ignition
kernel
initramfs
iPXE
Download
- ignition
- kernel
- initramfs
HTTPD
rhcos-
bios.raw.gz
Pre-requirements(using Terraforms) -
OCP VM
Flows
There are many ansible and terraform in places.
However, it is just tools so you can configure everything
manually.
To use this scripts, you can do 2 ways: manual, jkit commands.
Full Flows - Init(Initialize)
1. Update config file
2. Create config files (prep/ansible/tasks/generate_config_files.yml)
a. ansible inventory
b. terraform.tfvars
c. connection.tf
d. bootp.xsl
3. Cloud-init (prep/ansible/tasks/cloud_init.yml)
a. user-data
b. meta-data
Full Flows - Prep(1)
1. Install packages (prep/ansible/tasks/install_packages.yml)
a. docker
b. httpd
2. DNS (prep/ansible/tasks/dns_config.yml)
3. OCP4 VM Config(prep/ansible/tasks/ocp_vm_config.yml)
a. Create install-config.yaml
b. Generate ignition files
c. Config HTTPD server
4. Deploy Load Balancer
a. terraform init/get/apply
Full Flows - Prep(2)
1. Deploy Load Balancer(terraform init/get/apply)
a. Create network
i. Matchbox Server (prep/ansible/tasks/matchbox_config.yml)
1. Generate certs
2. Deploy matchbox container
3. Create matchbox module for matchbox configuration
ii. Config MatchBox
1. groups
2. profiles
3. ignition
iii. OCP module for creating OCP VMs
b. Config HAproxy
Full Flows - OCP
1. Deploy OCP4(terraform init/get/apply)
2. Wait for bootstrap-complete
3. Patch imageregistry storage to emptyDir
4. Remove bootstrap from HAproxy backend pool
5. Wait for install-complete
Jkit commands
(usage) jkit %CMD% %options%
1. init
2. prep -t {apply(default), dtr}
3. ocp -t {apply(default), dtr}
4. oneshot
5. post
6. update -t {inventory(default), ocp, ocp_module}
7. clean
OpenShift 4 Commands
To check bootstrap is completed
- openshift-install --dir ${INSTALL_DIR} wait-for bootstrap-complete
To check OCP installation is completed
- openshift-install --dir ${INSTALL_DIR} wait-for install-complete
DEMO
Demo Script
https://github.com/Jooho/jhouse_openshift/blob/master/demos/OCP4/Libvirt/UPI/demo.md

More Related Content

PDF
Quay 3.3 installation
PDF
CoreOS + Kubernetes @ All Things Open 2015
PDF
CoreOS: Control Your Fleet
PDF
What Have Syscalls Done for you Lately?
PPTX
[오픈소스컨설팅] Linux Network Troubleshooting
PPTX
Query logging with proxysql
PDF
Building Docker images with Puppet
PDF
Weird things we've seen with OpenStack Neutron
Quay 3.3 installation
CoreOS + Kubernetes @ All Things Open 2015
CoreOS: Control Your Fleet
What Have Syscalls Done for you Lately?
[오픈소스컨설팅] Linux Network Troubleshooting
Query logging with proxysql
Building Docker images with Puppet
Weird things we've seen with OpenStack Neutron

What's hot (20)

PDF
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
PDF
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
PDF
Small, Simple, and Secure: Alpine Linux under the Microscope
PDF
The SaltStack Pub Crawl - Fosscomm 2016
PDF
TOROS: Python Framework for Recommender System
PDF
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
PDF
Elasticsearch (R)Evolution — You Know, for Search… by Philipp Krenn at Big Da...
PDF
Automating Mendix application deployments with Nix
PDF
Multinode kubernetes-cluster
PDF
OpenNebula and SaltStack - OpenNebulaConf 2013
PDF
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
PDF
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
PDF
The Magic of Hot Streaming Replication, Bruce Momjian
PDF
Declare your infrastructure: InfraKit, LinuxKit and Moby
ODP
Continuous Security
PDF
Wordpress y Docker, de desarrollo a produccion
PDF
Docker and friends at Linux Days 2014 in Prague
PDF
CoreOS intro
PDF
OSv at Cassandra Summit
PDF
Real-time Infrastructure Management with SaltStack - OpenWest 2013
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
Small, Simple, and Secure: Alpine Linux under the Microscope
The SaltStack Pub Crawl - Fosscomm 2016
TOROS: Python Framework for Recommender System
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
Elasticsearch (R)Evolution — You Know, for Search… by Philipp Krenn at Big Da...
Automating Mendix application deployments with Nix
Multinode kubernetes-cluster
OpenNebula and SaltStack - OpenNebulaConf 2013
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
[OpenInfra Days Korea 2018] Day 2 - E6 - OpenInfra monitoring with Prometheus
The Magic of Hot Streaming Replication, Bruce Momjian
Declare your infrastructure: InfraKit, LinuxKit and Moby
Continuous Security
Wordpress y Docker, de desarrollo a produccion
Docker and friends at Linux Days 2014 in Prague
CoreOS intro
OSv at Cassandra Summit
Real-time Infrastructure Management with SaltStack - OpenWest 2013
Ad

Similar to OpenShift4 Installation by UPI on kvm (20)

PPTX
An Ensemble Core with Docker - Solving a Real Pain in the PaaS
PDF
Open shift deployment review getting ready for day 2 operations
PPTX
Open shift enterprise 3.1 paas on kubernetes
PDF
V sphere vds_poc_primer
PPTX
DevOps best practices with OpenShift
PDF
Compute 101 - OpenStack Summit Vancouver 2015
PDF
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
PDF
How to ride a whale
PDF
Production Ready Docker Stack for Alfresco Deployments
PDF
CoreOSによるDockerコンテナのクラスタリング
PDF
CNCF Meetup - OpenShift Overview
PDF
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
PPTX
OpenShift Enterprise 3.1 vs kubernetes
PPTX
DevOps Best Practices with Openshift - DevOpsFusion 2020
PDF
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
PDF
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
PDF
Sanger OpenStack presentation March 2017
ODP
FTTH Factory — an illustration of the "Everything as Code" paradigm
PDF
OpenShift 4 installation
PDF
#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta
An Ensemble Core with Docker - Solving a Real Pain in the PaaS
Open shift deployment review getting ready for day 2 operations
Open shift enterprise 3.1 paas on kubernetes
V sphere vds_poc_primer
DevOps best practices with OpenShift
Compute 101 - OpenStack Summit Vancouver 2015
OpenShift Meetup 8th july 2019 at ConSol - OpenShift v4
How to ride a whale
Production Ready Docker Stack for Alfresco Deployments
CoreOSによるDockerコンテナのクラスタリング
CNCF Meetup - OpenShift Overview
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
OpenShift Enterprise 3.1 vs kubernetes
DevOps Best Practices with Openshift - DevOpsFusion 2020
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
Meetup 23 - 01 - The things I wish I would have known before doing OpenStack ...
Sanger OpenStack presentation March 2017
FTTH Factory — an illustration of the "Everything as Code" paradigm
OpenShift 4 installation
#VirtualDesignMaster 3 Challenge 4 - Harshvardhan Gupta
Ad

More from Jooho Lee (7)

PDF
Hello istio
PPTX
Docker, Atomic Host and Kubernetes.
PDF
OpenSCAP Overview(security scanning for docker image and container)
PDF
OpenSCAP Overview(security scanning for docker image and container)
PPTX
Tcp summary
ODP
Practical byteman sample 20131128
PPTX
Consistent hashing
Hello istio
Docker, Atomic Host and Kubernetes.
OpenSCAP Overview(security scanning for docker image and container)
OpenSCAP Overview(security scanning for docker image and container)
Tcp summary
Practical byteman sample 20131128
Consistent hashing

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
AI in Product Development-omnex systems
PPTX
history of c programming in notes for students .pptx
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
System and Network Administration Chapter 2
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
medical staffing services at VALiNTRY
PPTX
Odoo POS Development Services by CandidRoot Solutions
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Understanding Forklifts - TECH EHS Solution
AI in Product Development-omnex systems
history of c programming in notes for students .pptx
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
2025 Textile ERP Trends: SAP, Odoo & Oracle
System and Network Administration Chapter 2
Softaken Excel to vCard Converter Software.pdf
Online Work Permit System for Fast Permit Processing
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
medical staffing services at VALiNTRY
Odoo POS Development Services by CandidRoot Solutions

OpenShift4 Installation by UPI on kvm