All Projects → disposab1e → okd-lab

disposab1e / okd-lab

Licence: Apache-2.0 license
Controlled Environment for OKD4 experiments

Programming Languages

Jinja
831 projects
HCL
1544 projects
shell
77523 projects

Projects that are alternatives of or similar to okd-lab

nebulous
The Kubefirst Open Source Platform
Stars: ✭ 122 (+408.33%)
Mutual labels:  gitlab, gitops, argocd
gitops-build-lib
Jenkins pipeline shared library for automating deployments via GitOps
Stars: ✭ 23 (-4.17%)
Mutual labels:  argo, gitops, argocd
gitops-playground
Reproducible infrastructure to showcase GitOps workflows and evaluate different GitOps Operators on Kubernetes
Stars: ✭ 77 (+220.83%)
Mutual labels:  argo, gitops, argocd
Tks
Enable enthusiasts and administrators alike to easily provision highly available and production-ready Kubernetes clusters on Proxmox VE.
Stars: ✭ 319 (+1229.17%)
Mutual labels:  gitlab, kvm
Packer Build
Packer Automated VM Image and Vagrant Box Builds
Stars: ✭ 199 (+729.17%)
Mutual labels:  packer, kvm
pipelines-as-code
Pipelines as Code
Stars: ✭ 37 (+54.17%)
Mutual labels:  gitlab, tekton
Jx
Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Cloud Native pipelines from Tekton
Stars: ✭ 4,041 (+16737.5%)
Mutual labels:  gitops, tekton
kubash
Kubash - the K8$ shell for your kube clusters
Stars: ✭ 20 (-16.67%)
Mutual labels:  packer, kvm
packer-centos
Create CentOS images for different hypervisors with Packer
Stars: ✭ 18 (-25%)
Mutual labels:  packer, kvm
qubinode-installer
An easy to set up OpenShift development kit powered by Red Hat Ansible.
Stars: ✭ 83 (+245.83%)
Mutual labels:  kvm, okd-4
gitops-k8s
Declarative pull-based GitOps repository representing the state of a Kubernetes cluster
Stars: ✭ 82 (+241.67%)
Mutual labels:  argo, gitops
k8s-knative-gitlab-harbor
Build container images with Knative + Gitlab + Harbor inside Kops cluster running on AWS
Stars: ✭ 23 (-4.17%)
Mutual labels:  gitlab, tekton
packer-kvm
Create VM templates with Packer for usage with Libvirt/KVM virtualization : CentOS 7, CentOS 8, CentOS 8 Stream, Alma Linux, Rocky Linux, Bionic (Ubuntu 1804), Focal (Ubuntu 2004), Debian 11 (stable), Kali Linux, Fedora 33 and Fedora 34.
Stars: ✭ 99 (+312.5%)
Mutual labels:  packer, kvm
Argo Cd
Declarative continuous deployment for Kubernetes.
Stars: ✭ 7,887 (+32762.5%)
Mutual labels:  argo, gitops
gitlab-setup
A Packer / Terraform / Ansible configuration to install Gitlab and Gitlab-CI
Stars: ✭ 53 (+120.83%)
Mutual labels:  gitlab, packer
cncf-platform-stack
🐳 📦 🚀 ⚡ Recursos da série de vídeos sobre stack da CNCF
Stars: ✭ 59 (+145.83%)
Mutual labels:  argo, argocd
argocd-operator-helm
[DEPRECATED] Argo CD Operator (Helm) installs Argo CD in OpenShift and Kubernetes.
Stars: ✭ 18 (-25%)
Mutual labels:  gitops, okd-4
gitopscli
GitOps CLI - a command line interface (CLI) to perform operations on git repositories with yaml files
Stars: ✭ 25 (+4.17%)
Mutual labels:  gitops, argocd
aws-eks-accelerator-for-terraform
Configure and deploy complete EKS clusters.
Stars: ✭ 1,220 (+4983.33%)
Mutual labels:  gitops, argocd
deploy-vm
Libvirt wrapper to spawn VMs using cloud images
Stars: ✭ 56 (+133.33%)
Mutual labels:  coreos, kvm

CentOS Terraform Packer Ansible

OKD Fedore CoreOS

GitLab Artifactory Project Quay

OKD-LAB: Controlled Environment for OKD4 experiments

You plan a dedicated machine to install and experiment with the Community Distribution of Kubernetes, maybe even on an rented root server in the wild wild world?

You want to manage your OKD cluster and applications the GitOps way?

It is probably worth the time to read a little further....

Naturally when we do some experiments we can destroy our cluster and bring it in a state we can't fix or recover. From this point of view we should try to keep complex things simple and repeatable. This is what this lab wants to address to.

You can expect a fully virtualized small IT center with everything you need to install a User Provisioned Infrastructure (UPI) of OKD4 based on KVM.

Additionally you get mostly all you need for a development environment including git, artifact management, private container registry, centralized user registry..... everything pre-configured and tightly integrated.


OKD-LAB: Overview

OKD-LAB Overview


Prerequisites

  • Dedicated root server (recommended)
  • Internet access*
  • Git client
  • SSH / VNC client
  • Visual Studio Code (optional but highly recommended!)

This project is being developed on a Hetzner machine with the following specs:

  • AMD Ryzen 9 3900 12-Core
  • 128 GB DDR4 ECC
  • 2 x 1,92 TB NVMe SSD

You can do it with less but than you have to tweak some settings and/or strip off some optional services.

*Please Note! NO proxy support in this version! Following soon.


Installation

95% of the installation process is copy&paste. No deep Linux or OKD4/Kubernetes skills needed!*

*The missing 5% is a guided CentOS 8.4 Linux installation and using a Firefox to create some tokens.


What's in the box?

Watch a animated gif at dropbox and open pandorra's box.

Operatiing system and virtualization:

Automation and provisioning:

Bastion (KVM):

Load Balancer (KVM):

OKD4 (KVMs):

  • Bootstrap
  • 3x Master
  • 3x Worker

Rook Argo CD Argo WorkflowsCD Argo Events Argo Rollouts Tekton Pipelines Tekton Triggers Tekton Dashboard Kyverno Shipwright Sealed Secrets

What do you get from the OKD / Kubernetes world?

Terraform/Ansible managed:

  • 3x Master and 3x Worker
  • Chrony time services configured on all master and worker nodes
  • Trusted private Project Quay container registry
  • Trusted custom Certificate Authority and SSL certificates for Web console, Router, API, LDAP, Project Quay, Podman etc.
  • LDAP(s) authorization provider with:
    • Administrators: admin, lab in the cluster-admin role
    • Team Members: awesome-admin, awesome-developer
  • Enabled Image Pruner and disabled Samples Operator

Argo CD (GitOps) managed:


Security

Especially with servers available in the wild wild world some kind of security makes sense!

For this reason:

  • A Firewall is running on this lab and only SSH (port 53) is allowed on the external interface.
  • Only SSH PubkeyAuthentication is allowed.
  • Only necessary services are enabled.
  • Except SSH all network services are bound to localhost.
  • Virtual network is not directly reachable from the wild world.
  • Visual Studio Code and VNC is only available via SSH tunnel.

If you go the Hetzner path additional security is possible and recommended.


A few words

This guide is not about installing and maintaining Linux at the highest possible levels. It's not about being the best of class automation expert and it's a controlled environment with intentionally 99% static settings. But if you know what you do, you can change and expand everything with ease and apply it to your needs. Have fun!

Thanks to all in the Open Source Community and especially to @cgruver for inspiration and help!


License

OKD-LAB is released under the Apache 2.0 license. See the LICENSE file for details. Some components may be licensed differently - consult individual vendors and repositories for more.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].