Ce projet contient un script bash pour vous aider à déployer OpenShift Container Platform 4.x sur IBM® Power Systems ™ Virtual Server sur IBM Cloud (PowerVS). Le code Terraform sur OCP4-UpI-PowerVS est utilisé pour le processus de déploiement.
Assurez-vous que votre instance PowerVS est préparée pour le déploiement de clusters OpenShift. Veuillez vérifier ce lien pour plus de détails
Voici une démo rapide.
Seuls les systèmes d'exploitation 64 bits sont pris en charge par le script.
Le script nécessite bash Shell et un gestionnaire de packages préconfiguré.
Catalina (10.15) et au-dessus est requise.
Le script utilise Homebrew Package Manager pour installer les packages requis.
RHEL8 / CentOS8 et supérieur ou Ubuntu 16.04 et supérieur est nécessaire.
Le script utilise le gestionnaire de package par défaut ( yum/dnf/apt ) en fonction de la distribution.
Le script peut fonctionner sur le sous-système Gitbash, Windows pour les terminaux Linux et Cygwin.
Si vous utilisez CyGwin, veuillez vous assurer que les packages curl et unzip sont installés. Vous devrez à nouveau exécuter la configuration Cygwin.
Remarque: PowerShell n'est pas pris en charge .
$ mkdir ocp-install-dir && cd ocp-install-dir
$ curl -sL https://raw.githubusercontent.com/ocp-power-automation/openshift-install-power/main/openshift-install-powervs -o ./openshift-install-powervs
$ chmod +x ./openshift-install-powervs
$ ./openshift-install-powervs
Automation for deploying OpenShift 4.X on PowerVS
Usage:
openshift-install-powervs [command] [<args> [<value>]]
Available commands:
setup Install all the required packages/binaries in current directory
variables Interactive way to populate the variables file
create Create an OpenShift cluster
destroy Destroy an OpenShift cluster
output Display the cluster information. Runs terraform output [NAME]
access-info Display the access information of installed OpenShift cluster
help Display this information
Where <args>:
-var Terraform variable to be passed to the create/destroy command
-var-file Terraform variable file name in current directory. (By default using var.tfvars)
-flavor Cluster compute template to use eg: small, medium, large
-force-destroy Not ask for confirmation during destroy command
-ignore-os-checks Ignore operating system related checks
-ignore-warnings Warning messages will not be displayed. Should be specified first, before any other args.
-verbose Enable verbose for terraform console messages
-all-images List all the images available during variables prompt
-trace Enable tracing of all executed commands
-version, -v Display the script version
Environment Variables:
IBMCLOUD_API_KEY IBM Cloud API key
RELEASE_VER OpenShift release version (Default: 4.15)
ARTIFACTS_VERSION Tag or Branch name of ocp4-upi-powervs repository (Default: main)
RHEL_SUBS_PASSWORD RHEL subscription password if not provided in variables
NO_OF_RETRY Number of retries/attempts to run repeatable actions such as create (Default: 5)
Submit issues at: https://github.com/ocp-power-automation/openshift-install-power/issues
En utilisant l'image de conteneur
Pour utiliser les images présentes dans le référentiel Quay.io/PowerCloud, exécutez la commande suivante.
docker run -it -e IBMCLOUD_API_KEY="<key>" -v $(pwd):/data quay.io/powercloud/openshift-install-powervs:<valid-tag> create
OU
podman run -it -e IBMCLOUD_API_KEY="<key>" -v $(pwd):/data quay.io/powercloud/openshift-install-powervs:<valid-tag> create
Les balises fournissent des informations sur la version de version, la version OCP ou l'architecture prise en charge.
Dans le cas où vous devez créer l'image OpenShift-Install-Powervs, consultez le lien suivant "Utilisation avec conteneurs"
Le script suppose que les prérequis PowerVS pour OpenShift sont déjà en place.
Au cas où vous auriez manqué, voici le lien vers les conditions préalables
Pour exécuter le script, vous avez besoin de ce qui suit:
Exportez la clé API Cloud IBM et le mot de passe d'abonnement RHEL.
$ set +o history
$ export IBMCLOUD_API_KEY='<your API key>'
$ export RHEL_SUBS_PASSWORD='<your RHEL subscription password>'
$ set -o history
Exécutez la commande create .
$ ./openshift-install-powervs create
Le script configurera les outils requis et s'exécutera en mode interactif, invitant les entrées.
Une fois la commande ci-dessus terminée avec succès, elle imprimera les informations d'accès au cluster.
Login to bastion: 'ssh -i automation/data/id_rsa [email protected]' and start using the 'oc' command.
To access the cluster on local system when using 'oc' run: 'export KUBECONFIG=/root/ocp-install-dir/automation/kubeconfig'
Access the OpenShift web-console here: https://console-openshift-console.apps.test-ocp-6f2c.ibm.com
Login to the console with user: "kubeadmin", and password: "MHvmI-z5nY8-CBFKF-hmCDJ"
Add the line on local system 'hosts' file:
145.48.43.53 api.test-ocp-6f2c.ibm.com console-openshift-console.apps.test-ocp-6f2c.ibm.com integrated-oauth-server-openshift-authentication.apps.test-ocp-6f2c.ibm.com oauth-openshift.apps.test-ocp-6f2c.ibm.com prometheus-k8s-openshift-monitoring.apps.test-ocp-6f2c.ibm.com grafana-openshift-monitoring.apps.test-ocp-6f2c.ibm.com example.apps.test-ocp-6f2c.ibm.com
Avant d'exécuter le script, vous pouvez choisir de remplacer certaines variables d'environnement selon vos besoins.
Par défaut, OpenShift La version 4.15 est installée.
Si vous souhaitez installer 4.14, exportez la variable RELEASE_VER .
$ export RELEASE_VER="4.14"
Vous pouvez éviter le mode interactif en ayant les fichiers d'entrée requis disponibles dans le répertoire d'installation
Fichiers d'entrée requis
Fichier Terraform Vars (nom de fichier: var.tfvars )
Fichiers clés SSH (nom de fichier: id_rsa & id_rsa.pub )
Exemple de fichier var.tfvars
ibmcloud_region = "syd"
ibmcloud_zone = "syd04"
service_instance_id = "123456abc-xzz-2223434343"
rhel_image_name = "rhel-83"
rhcos_image_name = "rhcos-415"
network_name = "ocp-net"
openshift_install_tarball = "https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/stable-4.15/openshift-install-linux.tar.gz"
openshift_client_tarball = "https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/stable-4.15/openshift-client-linux.tar.gz"
cluster_id_prefix = "test-ocp"
cluster_domain = "xip.io"
storage_type = "nfs"
volume_size = "300"
bastion = {memory = "16", processors = "1", "count" = 1}
bootstrap = {memory = "32", processors = "0.5", "count" = 1}
master = {memory = "32", processors = "0.5", "count" = 3}
worker = {memory = "32", processors = "0.5", "count" = 2}
rhel_subscription_username = "[email protected]"
rhel_subscription_password = "mysubscriptionPassword"
Vous pouvez également transmettre un fichier de variables TerraForm personnalisé à l'aide de l'option -var-file <filename> dans le script. Vous pouvez également utiliser l'option -var "key=value" pour passer une seule variable. Si la même variable est donnée plus d'une fois, la priorité sera de gauche (bas) à droite (élevée).
Consultez le chemin d'apprentissage suivant pour le déploiement et l'utilisation d'OpenShift sur PowerVS
Les commandes de base suivantes sont prises en charge par le script.
Vous trouverez ci-dessous un simple graphique à flux expliquant le flux de chaque commande.

Veuillez consulter le DOC contribuant pour plus de détails. Les PR sont les bienvenus !!