Этот проект содержит сценарий BASH, который поможет вам развернуть платформу OpenShift Container 4.x на виртуальном сервере IBM® Power Systems ™ на IBM Cloud (PowerVS). Код Terraform на OCP4-UPI-Powervs используется для процесса развертывания.
Убедитесь, что ваш экземпляр PowerVS предназначен для развертывания кластеров OpenShift. Пожалуйста, проверьте эту ссылку для получения более подробной информации
Вот быстрое демонстрация.
Только 64 -битные операционные системы поддерживаются сценарием.
Скрипт требует предварительной запланированной оболочки bash и диспетчера пакетов.
Каталина (10.15) и выше требуется.
Сценарий использует диспетчер пакетов Homebrew для установки необходимых пакетов.
Требуется RHEL8/CentOS8 и выше или Ubuntu 16.04 и выше.
Сценарий использует диспетчер пакетов по умолчанию ( yum/dnf/apt ) на основе распределения.
Сценарий может работать на Gitbash, подсистеме Windows для терминалов Linux и Cygwin.
При использовании Cygwin, пожалуйста, убедитесь, что установлены пакеты curl и unzip . Вам нужно будет снова запустить настройку Cygwin.
Примечание: PowerShell не поддерживается .
$ 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
Использование изображения контейнера
Чтобы использовать изображения, присутствующие в репозитории Quay.io/powercloud, запустите следующую команду.
docker run -it -e IBMCLOUD_API_KEY="<key>" -v $(pwd):/data quay.io/powercloud/openshift-install-powervs:<valid-tag> create
ИЛИ
podman run -it -e IBMCLOUD_API_KEY="<key>" -v $(pwd):/data quay.io/powercloud/openshift-install-powervs:<valid-tag> create
Теги предоставляют информацию о версии выпуска, версии OCP или поддерживаемой архитектуре.
Если вам нужно построить изображение OpenShift-Install-Powervs, ознакомьтесь с следующей ссылкой «Использование с контейнерами»
Сценарий предполагает, что PowerVs предпосылки для OpenShift уже на месте.
Если вы пропустили, вот ссылка на предпосылки
Для запуска сценария вам нужно следующее:
Экспортируйте ключ IBM Cloud API и пароль подписки RHEL.
$ set +o history
$ export IBMCLOUD_API_KEY='<your API key>'
$ export RHEL_SUBS_PASSWORD='<your RHEL subscription password>'
$ set -o history
Запустите команду create .
$ ./openshift-install-powervs create
Сценарий будет настраивать необходимые инструменты и работать в интерактивном режиме, подсказывающем входы.
Как только вышеупомянутая команда успешно завершится, она распечатает информацию о доступе к кластеру.
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
Перед запуском сценария вы можете переопределить некоторые переменные среды в соответствии с вашим требованием.
По умолчанию установлен версия 4.15.
Если вы хотите установить 4.14, то экспортируйте переменную RELEASE_VER .
$ export RELEASE_VER="4.14"
Вы можете избежать интерактивного режима, имея необходимые входные файлы, доступные в каталоге установки
Требуемые входные файлы
Файл Terraform VARS (имя файла: var.tfvars )
Файлы ключей SSH (имя файла: id_rsa & id_rsa.pub )
Пример файла 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"
Вы также можете передать пользовательский файл переменных Terraform, используя опцию -var-file <filename> сценарию. Вы также можете использовать опцию -var "key=value" для прохождения одной переменной. Если та же переменная дана более одного раза, то приоритет будет слева (низкий) справа (высокий).
Проверьте следующий путь обучения для развертывания и использования OpenShift на PowerVS
Следующие основные команды поддерживаются сценарием.
Ниже приведена простая блок -схема, объясняющая поток каждой команды.

Пожалуйста, обратитесь к DOC, чтобы получить более подробную информацию. PRS наиболее приветствуются !!