From c58f1baf25640196edfbfb549fc69ad9d37bb312 Mon Sep 17 00:00:00 2001 From: karolinku Date: Dec 22 2023 12:37:20 +0000 Subject: New documetation about install_yamls deployment How to deploy CRC environment and install_yamls on Antelope --- diff --git a/docs/rdo_on_okd/CRC_PoC_Antelope.md b/docs/rdo_on_okd/CRC_PoC_Antelope.md new file mode 100644 index 0000000..f800ef1 --- /dev/null +++ b/docs/rdo_on_okd/CRC_PoC_Antelope.md @@ -0,0 +1,136 @@ +# Deployment of OpenStack Antelope K8S with operators - proof of concept environment + +**Antelope** is currently the default release for install_yamls deployment. + +## Requirements + +This guide is designed to deploy on a single server infrastructure (vm or baremetal). +Minimal resource requirements are: + +* 32 GB RAM +* 16 vcpu +* 80 GB disk space +* nested virtualization enabled + +The deployment is being performed on **Centos 9 Stream**. + +## Getting started with the CRC + +All installation details can be found on [CRC web page](https://crc.dev/crc/getting_started/getting_started/installing/). + + * Download latest [CRC tarball](https://developers.redhat.com/content-gateway/file/pub/openshift-v4/clients/crc/2.30.0/crc-linux-amd64.tar.xz) + * Unpack tarball, create bin dir and move content there + +``` +tar xvf crc-linux-amd64.tar.xz +mkdir -p ~/.local/bin +cp crc-linux-*-amd64/crc ~/.local/bin +``` +Set necessary config options: + +``` +crc config set preset okd +crc config set consent-telemetry no +crc config view +crc setup +crc start -m 23000 -c 8 -d 50 +``` + +You can review the current configuration with ```crc config view```. +Execution of ```crc start``` may take some time. After successful setup of a cluster, the connection can be tested with following commands: + +``` +eval $(crc oc-env) +oc login -u kubeadmin -p https://api.crc.testing:6443 +oc get pods -A +``` +The password should be visible on stdout after cluster setup. It can be also found with executing ```crc console --credentials```. +At this point **CRC is up and running**. Moving into install_yamls preparations. First, some additional packages are needed: + +## Install install_yamls and its requirements +``` +sudo dnf install -y git wget jq make tmux golang +``` +Install kubectl - for consistency of versions and compatibility, it is recommended to install kubectl and oc from [https://github.com/okd-project/okd/releases](https://github.com/okd-project/okd/releases) - client tools for OpenShift. Set suitable version and proceed: + +``` +curl -L https://github.com/okd-project/okd/releases/download//openshift-install-linux-.tar.gz | tar -zx -C ~/.local/bin/ +``` + +Install kustomize (required by install_yamls) by downloading tarball with desired version from [https://github.com/kubernetes-sigs/kustomize/releases/](https://github.com/kubernetes-sigs/kustomize/releases/). +Untar and move to bin directory. +``` +tar xzvf kustomize__linux_amd64.tar.gz +mv kustomize ~/.local/bin/ +``` + +Install yq (CLI yaml, json and xml processor): +``` +wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64.tar.gz +mkdir yq +tar xzvf yq_linux_amd64.tar.gz -C yq +cp yq/yq_linux_amd64 ~/.local/bin/yq +``` +Clone install_yamls: +``` +git clone https://github.com/openstack-k8s-operators/install_yamls.git +cd install_yamls +``` + +Start executing operators. First, adding required interface: +``` +cd devsetup +make crc_attach_default_interface +cd .. +``` +Configure persistent volumes: +``` +make crc_storage +``` + +## Deploy the OpenStack + +Create required secret/CM, used by the services as input: +``` +export GOPROXY="https://proxy.golang.org,direct" +make input +``` +Deploy the OpenStack control plane operators: +``` +make openstack OKD=true +``` +This step will need some time to finish all operators creation. You can follow it by executing: +``` +oc get pods -n openstack-operators -w +``` + +Deploy the OpenStack **control plane**: +``` +make openstack_deploy OKD=true +``` +See created resources by using: +``` +oc get deployments -n openstack +oc get statefulset -n openstack +oc get csv -n openstack +oc get pods -n openstack -w +``` +This step also will take some time after command finish. + +Deploy external **data plane**: +``` +cd devsetup +EDPM_TOTAL_NODES=1 make edpm_compute +cd .. +DATAPLANE_TOTAL_NODES=1 make edpm_wait_deploy +``` +From this point, the infrastructure should be ready to use. It can be accessed by: +``` +oc rsh openstackclient +``` + +For testing purposes new instance can by spawned using *edpm_deploy_instance* operator: +``` +cd devsetup +make edpm_deploy_instance +``` diff --git a/docs/rdo_on_okd/container_images_with_tcib.md b/docs/rdo_on_okd/container_images_with_tcib.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/docs/rdo_on_okd/container_images_with_tcib.md diff --git a/docs/rdo_on_okd/introduction.md b/docs/rdo_on_okd/introduction.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/docs/rdo_on_okd/introduction.md diff --git a/mkdocs.yml b/mkdocs.yml index 917693e..c20d8a9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -12,6 +12,10 @@ nav: - Meetings: communication/meetings.md - Quarterly reports: communication/reports.md + - RDO on OKD with Operators: + - Introduction to OpenStack operators: rdo_on_okd/introduction.md + - Create container images with tcib: rdo_on_okd/container_images_with_tcib.md + - Deploy an Antelope PoC environment: rdo_on_okd/CRC_PoC_Antelope.md theme: name: material nav_style: dark