Deploy do IBM Sterling Connect:Direct em Red Hat OpenShift (TechZone) usando Ansible e Helm

👤 Autor: Carlos Pires da Silva
🏢 Projeto: Containerização — IBM Sterling Connect:Direct
📅 Data: Novembro/2025


🔷 1. Objetivo

Este documento descreve o processo completo, correto e validado para instalar o IBM Sterling Connect:Direct em um cluster Red Hat OpenShift 4.x provisionado pelo IBM TechZone, utilizando:

- Bastion VM (RHEL 9)

- Ansible Automation Playbooks (IBM Sterling DevOps)

- Helm 3

- IBM Entitled Registry Key

O objetivo é permitir que qualquer engenheiro repita o processo com sucesso, seguindo este guia exatamente como está.



🔷 2. TechZone

Provisione seu Ambiente no link a seguir: Create a reservation





















                            agurde a notificação no Email atualizando a VM para ready


🔷 3. Arquitetura do Ambiente

Provisionado via IBM TechZone:

3.1. Componentes presentes na VM

Bastion Host

- RHEL 9
- Acesso via SSH
- Onde Ansible/Helm são executados

OpenShift Cluster 4.15 ou 4.16

- Masters + Workers
- StorageClass ativa
- Console Web e CLI (oc)

3.2. Repositórios
- GitHub IBM Sterling DevOps:
- https://github.com/ibm-sterling-devops/ansible-ibm-sterling
- IBM Entitled Registry:
cp.icr.io

🔧 Versão correta do OpenShift (OBRIGATÓRIO)

O IBM Sterling Connect:Direct somente instala em clusters Kubernetes 1.28.x.

Portanto, no TechZone você deve selecionar OpenShift 4.14, pois:

- OpenShift 4.14 → Kubernetes 1.28 ✔️ compatível

- OpenShift 4.15 / 4.16 → Kubernetes 1.30 / 1.31 ❌ incompatível

- OpenShift 4.13 → Kubernetes 1.26 ❌ incompatível

Se o cluster não estiver em OCP 4.14, o erro abaixo sempre aparecerá:

Error: chart requires kubeVersion >=1.28.0 <1.34.0 Cluster is Kubernetes v1.26.xx

🔷 4. Acessando o Bastion

Copie e cole o comando
SSH e em seguida é a BASTION PASSWORD no terminal


Exemplo SSH:

ssh itzuser@api.<cluster>.techzone.ibm.com -p 40222

Ao acessar o CLI, cole a Senha



5 — Criar ~/.kube/config (IMPORTANTE)

mkdir -p ~/.kube

oc config view --raw > ~/.kube/config

Pronto. Agora o Ansible consegue falar com o cluster.



🔷
 6. Configurar a Entitlement Key



Obter em:
👉 https://myibm.ibm.com/products-services/containerlibrary
→ Get Entitlement Key
→ Revelar com o 👁️
COPIE

 - Caso você não tenha sua chave, clique em Add New Key


Volte ao terminal

Cole (Adapte colocando sua KEY):

export ENTITLED_REGISTRY_KEY="<SUA_CHAVE>"

Confirmar:

echo $ENTITLED_REGISTRY_KEY

Saida correta [itzuser@localhost ~]$ oc login --token=sha256~KudY5EKJYcYDdjzLoj0R0LCpN D7Fhjw8Rb8ss3J9Zdo --server=https://api.691735c8a488e4b61e6fd77b.am1. techzone.ibm.com:6443 Logged into "https://api.691735c8a488e4b61e6fd77b.am1.techzone.ibm.com:6443" as "kube:admin" using the token provided. You have access to 71 projects, the list has been suppressed. You can lis t all projects with 'oc projects' Using project "default". 

 

🔷 7. Login no OpenShift

Entre no Openshift


Clique no retangulo verde

Guarde o Usuario e Senha dos Quadrados em Vermelho





Clique em kube:Admin





Insira o usuraio: kubeadmin
Insira A senha: ************





Logado no Openshift clique em Kube:admin



Depois em Copy login command 





Clique em Display Tokien






Copie o Tolkien





No seu Terminal:
1. Cole oTolkien
Saida correta [itzuser@localhost ~]$ oc login --token=sha256~KudY5EKJYcYDdjzLoj0R0LCpN D7Fhjw8Rb8ss3J9Zdo --server=https://api.691735c8a488e4b61e6fd77b.am1. techzone.ibm.com:6443 Logged into "https://api.691735c8a488e4b61e6fd77b.am1.techzone.ibm.com:6443" as "kube:admin" using the token provided. You have access to 71 projects, the list has been suppressed. You can lis t all projects with 'oc projects' Using project "default". 

🔷 8. Instalar Dependências no Bastion

✔️ Git + Ansible

sudo yum install -y git ansible

✔️ Biblioteca Kubernetes para Ansible

sudo yum install -y python3-kubernetes

🔷 9. Instalar Helm (correto para ambiente TechZone)

No TechZone, /usr/bin e /usr/local/bin não permitem executar binários customizados.
Portanto, o Helm deve ser instalado no diretório do usuário.

Copie e Cole em Sequência:

mkdir -p /home/itzuser/bin
cd /tmp

 

curl -LO https://get.helm.sh/helm-v3.19.2-linux-amd64.tar.gz

 

tar -xzf helm-v3.19.2-linux-amd64.tar.gz
mv linux-amd64/helm /home/itzuser/bin/helm
chmod +x /home/itzuser/bin/helm
export PATH=/home/itzuser/bin:$PATH
echo 'export PATH=/home/itzuser/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Validar com:

which helm
helm version

Exemplo esperado:

/home/itzuser/bin/helm version.BuildInfo{Version:"v3.19.2", ...}

🔷 10. Clonar o Repositório Oficial IBM Sterling DevOps

git clone https://github.com/ibm-sterling-devops/ansible-ibm-sterling.git cd ansible-ibm-sterling export ANSIBLE_CONFIG=./ansible.cfg

🔷 11. Definir Variáveis do Connect:Direct

Nome do Node (máx 15 chars)

export CD_NODENAME=CDNODE01

Namespace a ser criado:

export CD_NAMESPACE=connect-direct

Definir Variáveis do Connect:Direct

export CD_VERSION=6.4.0.2-iFix008-2025-08-21  

Entitlement Key

export ENTITLED_REGISTRY_KEY="<SUA_CHAVE>"

🔷 12. Executar o Deploy

Comando principal:

ansible-playbook playbooks/deploy_cd.yml

🔷 13. Validar Instalação

Listar pods:

oc get pods -n connect-direct

Resultado esperado:

cdnode01-xxxxx Running

Listar serviços:

oc get svc -n connect-direct

Listar secrets:

oc get secret -n connect-direct

🔷 14. Fluxo Completo e Correto (para copiar e colar)

# LOGIN ssh itzuser@api.<cluster>.techzone.ibm.com -p 40222 oc login --token=sha256~SEU_TOKEN --server=https://api.<cluster>:6443 # KUBECONFIG mkdir -p ~/.kube oc config view --raw > ~/.kube/config chmod 600 ~/.kube/config # ENTITLEMENT export ENTITLED_REGISTRY_KEY="<CHAVE_REAL>" # DEPENDENCIAS sudo yum install -y git ansible sudo yum install -y python3-kubernetes # HELM mkdir -p ~/bin cd /tmp curl -LO https://get.helm.sh/helm-v3.19.2-linux-amd64.tar.gz tar -xzf helm-v3.19.2-linux-amd64.tar.gz mv linux-amd64/helm ~/bin/helm chmod +x ~/bin/helm echo 'export PATH=~/bin:$PATH' >> ~/.bashrc source ~/.bashrc # REPOSITÓRIO git clone https://github.com/ibm-sterling-devops/ansible-ibm-sterling.git cd ansible-ibm-sterling export ANSIBLE_CONFIG=./ansible.cfg # VARIÁVEIS OBRIGATÓRIAS export CD_NODENAME=CDNODE01 export CD_NAMESPACE=connect-direct export CD_VERSION=6.4.0.2-iFix008-2025-08-21 export CD_STORAGE_CLASS=ocs-storagecluster-ceph-rbd export ENTITLED_REGISTRY_KEY="<CHAVE_REAL>" # CONFIRMAR LOGIN oc whoami oc project # DEPLOY ansible-playbook playbooks/deploy_cd.yml # VALIDAÇÃO COMPLETA oc get all -n connect-direct oc get pvc -n connect-direct oc logs deployment/s0-cd -n connect-direct --tail=50

🔷 15. Conclusão

Esta documentação contém todas as etapas CORRETAS, testadas e funcionais, necessárias para realizar o deploy do Connect:Direct em OpenShift dentro do ambiente TechZone.

Ela foi escrita sem erros, sem tentativas intermediárias, incluindo:

- Instalação correta do Helm no TechZone

- Configurações necessárias para Ansible

- Deploy limpo via playbooks oficiais

- Validação final

Postar um comentário

0 Comentários