Dieses Projekt enthält ein Bash -Skript, mit dem Sie OpenShift -Containerplattform 4.x auf IBM® Power Systems ™ Virtual Server auf IBM Cloud (PowerVs) bereitstellen können. Der Terraformcode bei OCP4-Upi-Powervs wird für den Bereitstellungsprozess verwendet.
Stellen Sie sicher, dass Ihre PowerVS -Instanz für die Bereitstellung von OpenShift -Clustern vorbereitet ist. Bitte überprüfen Sie diesen Link für weitere Details
Hier ist eine schnelle Demo.
Nur 64 -Bit -Betriebssysteme werden vom Skript unterstützt.
Das Skript erfordert bash -Shell und einen vorkonfigurierten Paketmanager.
Catalina (10.15) und darüber ist erforderlich.
Das Skript verwendet Homebrew Package Manager, um die erforderlichen Pakete zu installieren.
RHEL8/CentOS8 und höher oder ubuntu 16.04 und höher ist erforderlich.
Das Skript verwendet basierend auf der Verteilung den Standardpaket -Manager ( yum/dnf/apt ).
Das Skript kann auf Gitbash, Windows -Subsystem für Linux- und Cygwin -Terminals ausgeführt werden.
Wenn Sie Cygwin verwenden, stellen Sie bitte sicher, dass curl und unzip -Pakete installiert sind. Sie müssen das Cygwin -Setup erneut ausführen.
Hinweis: PowerShell ist nicht unterstützt .
$ 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
Verwenden des Containerbildes
Um die im Quay.io/PowerCloud -Repository vorhandenen Bilder zu verwenden, führen Sie den folgenden Befehl aus.
docker run -it -e IBMCLOUD_API_KEY="<key>" -v $(pwd):/data quay.io/powercloud/openshift-install-powervs:<valid-tag> create
ODER
podman run -it -e IBMCLOUD_API_KEY="<key>" -v $(pwd):/data quay.io/powercloud/openshift-install-powervs:<valid-tag> create
Tags geben Informationen zur Version der Release -Version, der OCP -Version oder der unterstützten Architektur an.
Wenn Sie das Bild von OpenShift-Installation-Installation erstellen müssen, lesen Sie die folgende "Verwendung mit Containern"
Das Skript setzt voraus, dass die Voraussetzungen für OpenShift bereits vorhanden sind.
Für den Fall, dass Sie es verpasst haben, ist hier der Link zu den Voraussetzungen
Für das Ausführen des Skripts benötigen Sie Folgendes:
Exportieren Sie den IBM Cloud API -Schlüssel und das RHEL -Abonnementkennwort.
$ set +o history
$ export IBMCLOUD_API_KEY='<your API key>'
$ export RHEL_SUBS_PASSWORD='<your RHEL subscription password>'
$ set -o history
Führen Sie den Befehl create .
$ ./openshift-install-powervs create
Das Skript setzt die erforderlichen Tools ein und wird im interaktiven Modus ausgeführt, um Eingänge zu fordern.
Sobald der obige Befehl erfolgreich abgeschlossen ist, wird die Cluster -Zugriffsinformationen gedruckt.
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
Bevor Sie das Skript ausführen, können Sie einige Umgebungsvariablen gemäß Ihren Anforderungen überschreiben.
Standardmäßig ist OpenShift -Version 4.15 installiert.
Wenn Sie 4.14 installieren möchten, exportieren Sie den variablen RELEASE_VER .
$ export RELEASE_VER="4.14"
Sie können den interaktiven Modus vermeiden, indem Sie die erforderlichen Eingabedateien im Installationsverzeichnis verfügbar haben
Erforderliche Eingabedateien
Terraform VARS -Datei (Dateiname: var.tfvars )
SSH -Schlüsseldateien (Dateiname: id_rsa & id_rsa.pub )
Beispiel var.tfvars Datei
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"
Sie können auch eine benutzerdefinierte Terraform -Variablendatei über die Option -var-file <filename> an das Skript übergeben. Sie können auch die Option -var "key=value" verwenden, um eine einzelne Variable zu übergeben. Wenn die gleiche Variable mehr als einmal angegeben ist, ist Vorrang von links (niedrig) nach rechts (hoch).
Schauen Sie sich den folgenden Lernpfad für die Bereitstellung und Verwendung von OpenShift auf PowerVs an
Die folgenden Kernbefehle werden vom Skript unterstützt.
Im Folgenden finden Sie ein einfaches Flussdiagramm, in dem der Fluss jedes Befehls erläutert wird.

Weitere Informationen finden Sie im beitragenden Doc. PRs sind sehr willkommen !!