Este projeto contém um script bash para ajudá -lo a implantar a plataforma de contêiner OpenShift 4.x no IBM® Power Systems ™ Virtual Server no IBM Cloud (PowerVS). O código TerraForm no OCP4-UPI-POWERVS é usado para o processo de implantação.
Verifique se a sua instância do PowerVS está preparada para implantar clusters OpenShift. Por favor, verifique este link para mais detalhes
Aqui está uma demonstração rápida.
Apenas os sistemas operacionais de 64 bits são suportados pelo script.
O script requer o shell bash e um gerenciador de pacotes pré-configurado.
Catalina (10.15) e acima é necessária.
O script usa o Homebrew Package Manager para instalar os pacotes necessários.
Rhel8/CentOS8 e acima ou Ubuntu 16.04 e acima são necessários.
O script usa o gerenciador de pacotes padrão ( yum/dnf/apt ) com base na distribuição.
O script pode ser executado no subsistema Gitbash, Windows para terminais Linux e Cygwin.
Se estiver usando o Cygwin, verifique se os pacotes curl e unzip estão instalados. Você precisará executar a configuração do Cygwin novamente.
Nota: PowerShell não é suportado .
$ 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
Usando a imagem do contêiner
Para usar as imagens presentes no repositório quay.io/PowerCloud, execute o seguinte comando.
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
As tags fornecem informações sobre a versão de liberação, versão OCP ou arquitetura suportada.
Caso você precise construir a imagem OpenShift-Install-Powervs, confira o seguinte link "Uso com contêineres"
O script assume que os pré -requisitos do Powervs para OpenShift já estão em vigor.
Caso você tenha perdido, aqui está o link para os pré -requisitos
Para executar o script, você precisa do seguinte:
Export the IBM Cloud API Key e RHEL Subscripts Senha.
$ set +o history
$ export IBMCLOUD_API_KEY='<your API key>'
$ export RHEL_SUBS_PASSWORD='<your RHEL subscription password>'
$ set -o history
Execute o comando create .
$ ./openshift-install-powervs create
O script configurará as ferramentas necessárias e será executado no modo interativo solicitando entradas.
Depois que o comando acima concluir com êxito, ele imprimirá as informações de acesso ao 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
Antes de executar o script, você pode substituir algumas variáveis de ambiente conforme sua exigência.
Por padrão, o OpenShift versão 4.15 está instalado.
Se você deseja instalar o 4.14, exporte a variável RELEASE_VER .
$ export RELEASE_VER="4.14"
Você pode evitar o modo interativo, tendo os arquivos de entrada necessários disponíveis no diretório de instalação
PROJETOS DE ENTRADA NECESSÁRIOS
Arquivo Terraform Vars (nome do arquivo: var.tfvars )
Arquivos de chave SSH (nome do arquivo: id_rsa & id_rsa.pub )
Exemplo de arquivo 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"
Você também pode passar em um arquivo de variáveis de terraforma personalizado usando o opção -var-file <filename> para o script. Você também pode usar a opção -var "key=value" para passar uma única variável. Se a mesma variável for dada mais de uma vez, a precedência será da esquerda (baixa) a direita (alta).
Confira o seguinte caminho de aprendizado para implantar e usar o OpenShift no Powervs
Os seguintes comandos principais são suportados pelo script.
Abaixo está um fluxograma simples que explica o fluxo de cada comando.

Consulte o DOC contribuinte para obter mais detalhes. Os PRs são bem -vindos !!