Configurazione IBM Transformation Advisor

Quando si installa Transformation Advisor vengono applicati i valori predefiniti per le impostazioni di configurazione. La persistenza è una configurazione da impostare autonomamente, a seconda delle opzioni di persistenza disponibili nel proprio ambiente.

Per ulteriori dettagli, consultare il documento Configurazione dell'archiviazione. A seconda dell'ambiente e delle preferenze, è possibile personalizzare ulteriormente l'installazione Transformation Advisor installazione. Di seguito sono elencate tutte le opzioni di configurazione disponibili in Transformation Advisor a cui si può accedere nella risorsa personalizzata YAML.

Vedere Installazione su come accedere alla risorsa personalizzata YAML.

Molte di queste opzioni (come indicato) sono destinate alla risoluzione avanzata dei problemi e devono essere utilizzate solo da esperti.

Parametro Descrizione Predefinito
networkPolicy.abilitato Abilita networkPolicy nel cluster. Risoluzione dei problemi avanzata. vero, true
networkPolicy.uscita Abilitare e configurare EgressNetworkpolicy. Disabilitazione automatica quando non si utilizza OpenShift SDN CNI. abilitato, con destinazioni in uscita predefinite consentite.
route.enabled Abilita il percorso per raggiungere il servizio. Risoluzione dei problemi avanzata. vero, true
route.hostname Nome host per l'instradamento. Rilevato e impostato dall'operatore TA
tls.enabled Abilita TLS tra i contenitori. Risoluzione dei problemi avanzata. vero, true
tls.caCert Certificato CA per TLS (vedere Istruzioni per la creazione di un certificato cliente ) impostato da icpa - installer
authentication.disabled.liberty Disabilita l'autenticazione per il server Liberty. Risoluzione dei problemi avanzata. No
authentication.disabled.ui Disabilita autenticazione per UI. Risoluzione dei problemi avanzata. No
authentication.ocp.authIssuerEndpoint Endpoint emittente autenticazione. Rilevato e impostato dall'operatore TA
authentication.ocp.apiEndpoint Endpoint API di autenticazione. Rilevato e impostato dall'operatore TA
authentication.ocp.secretName Nome segreto per l'autenticazione interna. segreto - advisor - trasformazione
authentication.oidc.endpointPort Porta endpoint di autenticazione OIDC Rilevato e impostato dall'operatore TA
authentication.thirdparty.identityRequestEndpoint Endpoint di richiesta di identità di terze parti Non impostato
authentication.thirdparty.identityRequestEndpointPath Percorso dell'endpoint di richiesta di identità di terze parti Non impostato
authentication.thirdparty.identityRequestEndpointScope Ambito della richiesta di identità di terze parti Non impostato
authentication.thirdparty.identityRequestEndpointStatePrefix Prefisso di stato dell'endpoint di richiesta di identità di terze parti Non impostato
authentication.thirdparty.tokenRequestEndpoint Endpoint di richiesta token di terze parti Non impostato
authentication.thirdparty.tokenRequestEndpointPath Percorso dell'endpoint di richiesta del token di terze parti Non impostato
authentication.thirdparty.tokenVerificationEndpoint Endpoint di verifica di terze parti Non impostato
authentication.thirdparty.tokenVerificationEndpointPath Percorso dell'endpoint di verifica di terze parti Non impostato
couchdb.image CouchDB tag immagine Rilevato e impostato dall'operatore TA
couchdb.imagePullSecret Segreto di pull immagine. Utilizzato per accedere al registro intitolato. Il nome deve essere ibm - entitlement - key. Vedere Pianificazione per ulteriori dettagli. Nessuno
couchdb.security.cipherSuites Suite di cifratura che devono essere supportate (separate da spazi) ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES128-GCM-SHA256 TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256
couchdb.security.tlsVersions Elenco delle versioni del protocollo SSL/TLS consentite (separate da spazi) tlsv1.2
couchdb.resources.requests.memory Memoria richieste (le risorse possono essere modificate in base alla disponibilità. I valori predefiniti sono minimi) 1Gi
couchdb.resources.requests.cpu Cpu richieste 500m
couchdb.resources.limits.memory Limita memoria 8Gi
couchdb.resources.limits.cpu Limita cpu 16000m
couchdb.livenessProbe.initialDelaySeconds Secondi di ritardo iniziale dell'analisi dell'attività del contenitore (le analisi potrebbero essere modificate in base alle prestazioni del cluster. Nella maggior parte dei casi, tuttavia, le impostazioni predefinite funzionano. Risoluzione dei problemi avanzata.) 60
couchdb.livenessProbe.timeoutSeconds Secondi di timeout del probe di attività contenitore. Risoluzione dei problemi avanzata. 3
couchdb.livenessProbe.periodSeconds Secondi del periodo di analisi dell'attività del contenitore. Risoluzione dei problemi avanzata. 5
couchdb.livenessProbe.failureThreshold Soglia di errore del probe di attività contenitore. Risoluzione dei problemi avanzata. 6
couchdb.readinessProbe.initialDelaySeconds Secondi di ritardo iniziale della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. 5
couchdb.readinessProbe.timeoutSeconds Secondi di timeout del probe di disponibilità del contenitore. Risoluzione dei problemi avanzata. 3
couchdb.readinessProbe.periodSeconds Secondi del periodo di analisi di disponibilità del contenitore. Risoluzione dei problemi avanzata. 5
couchdb.readinessProbe.failureThreshold Soglia di errore della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. 6
neo4j.image Riferimento immagine NEO4J Rilevato e impostato dall'operatore TA
neo4j.imagePullSecret Segreto di pull immagine. Utilizzato per accedere al registro intitolato. Il nome deve essere ibm - entitlement - key. Vedere Pianificazione per ulteriori dettagli. Nessuno
neo4j.resources.requests.memory Memoria richieste (le risorse possono essere modificate in base alla disponibilità. I valori predefiniti sono minimi) 1Gi
neo4j.resources.requests.cpu Cpu richieste 500m
neo4j.resources.limits.memory Limita memoria 8Gi
neo4j.resources.limits.cpu Limita cpu 16000m
neo4j.livenessProbe.initialDelaySeconds Secondi di ritardo iniziale dell'analisi dell'attività del contenitore (le analisi potrebbero essere modificate in base alle prestazioni del cluster. Nella maggior parte dei casi, tuttavia, le impostazioni predefinite funzionano. Risoluzione dei problemi avanzata.) 60
neo4j.livenessProbe.timeoutSeconds Secondi di timeout del probe di attività contenitore. Risoluzione dei problemi avanzata. 3
neo4j.livenessProbe.periodSeconds Secondi del periodo di analisi dell'attività del contenitore. Risoluzione dei problemi avanzata. 5
neo4j.livenessProbe.failureThreshold Soglia di errore del probe di attività contenitore. Risoluzione dei problemi avanzata. 6
neo4j.readinessProbe.initialDelaySeconds Secondi di ritardo iniziale della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. 5
neo4j.readinessProbe.timeoutSeconds Secondi di timeout del probe di disponibilità del contenitore. Risoluzione dei problemi avanzata. 3
neo4j.readinessProbe.periodSeconds Secondi del periodo di analisi di disponibilità del contenitore. Risoluzione dei problemi avanzata. 5
neo4j.readinessProbe.failureThreshold Soglia di errore della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. 6
persistence.enabled Persistenza abilitata (se disabilitata, tutti i dati andranno persi se il contenitore DB si riavvia). vero, true
persistence.couchdb.accessMode CouchDB modalità di accesso. ReadWriteOnce
persistence.couchdb.size CouchDB dimensioni di stoccaggio. 8Gi
persistence.couchdb.useDynamicProvisioning Utilizzare il provisioning dinamico. Non modificare. vero, true
persistence.couchdb.existingClaim Rivendicazione pv esistente (di solito si usa il PVC esistente per indicare i dati esistenti) ""
persistence.couchdb.storageClassName CouchDB nome della classe di archiviazione (ad esempio "rook-ceph-cephfs-internal") ""
persistence.couchdb.supplementalGroups CouchDB gruppi supplementari (di solito utilizzati per NFS ) []
persistence.neo4j.accessMode Neo4j modalità di accesso. ReadWriteOnce
persistence.neo4j.size Neo4j dimensioni di stoccaggio. 8Gi
persistence.neo4j.useDynamicProvisioning Utilizzare il provisioning dinamico. Non modificare. vero, true
persistence.neo4j.existingClaim Rivendicazione pv esistente (di solito si usa il PVC esistente per indicare i dati esistenti) ""
persistence.neo4j.storageClassName Neo4j nome della classe di archiviazione (ad esempio "rook-ceph-cephfs-internal") ""
persistence.neo4j.supplementalGroups Neo4j gruppi supplementari (di solito utilizzati per NFS ) []
transadv.image Tag immagine server Liberty Transadv. Risoluzione dei problemi avanzata.
transadv.imagePullSecret Segreto di pull immagine. Utilizzato per accedere al registro intitolato. Il nome deve essere ibm - entitlement - key. Vedere Pianificazione per ulteriori dettagli.
transadv.security.cipherSuites Suite di cifratura che devono essere supportate (separate da spazi) TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
transadv.publicUrl URL pubblico del server Transadv Rilevato e impostato da TA
transadv.image.logLevel Livello di registrazione del server Transadv informazioni
transadv.resources.requests.memory Memoria richieste 1Gi
transadv.resources.requests.cpu Cpu richieste 500m
transadv.resources.limits.memory Limita memoria 8Gi
transadv.resources.limits.cpu Limita cpu 16000m
transadv.livenessProbe.initialDelaySeconds Secondi di ritardo iniziale della sonda di attività del contenitore. Risoluzione dei problemi avanzata. 60
transadv.livenessProbe.timeoutSeconds Secondi di timeout del probe di attività contenitore. Risoluzione dei problemi avanzata. 3
transadv.livenessProbe.periodSeconds Secondi del periodo di analisi dell'attività del contenitore. Risoluzione dei problemi avanzata. 5
transadv.livenessProbe.failureThreshold Soglia di errore del probe di attività contenitore. Risoluzione dei problemi avanzata. 6
transadv.readinessProbe.initialDelaySeconds Secondi di ritardo iniziale della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. 60
transadv.readinessProbe.timeoutSeconds Secondi di timeout del probe di disponibilità del contenitore. Risoluzione dei problemi avanzata. 3
transadv.readinessProbe.periodSeconds Secondi del periodo di analisi di disponibilità del contenitore. Risoluzione dei problemi avanzata. 5
transadv.readinessProbe.failureThreshold Soglia di errore della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. 6
transadvui.image Tag immagine UI Transadv. Risoluzione dei problemi avanzata.
transadvui.imagePullSecret Segreto di pull immagine. Utilizzato per accedere al registro intitolato. Il nome deve essere ibm - entitlement - key. Vedere Pianificazione per ulteriori dettagli.
transadvui.image.logLevel Livello di registrazione dell'interfaccia utente Transadv informazioni
transadvui.useSecureCookie Utilizzare un cookie sicuro per l'interfaccia utente Transadv vero, true
transadvui.resources.requests.memory Memoria richieste 1Gi
transadvui.resources.requests.cpu Cpu richieste 500m
transadvui.resources.limits.memory Limita memoria 4Gi
transadvui.resources.limits.cpu Limita cpu 16000m
transadvui.livenessProbe.initialDelaySeconds Secondi di ritardo iniziale della sonda di attività del contenitore. Risoluzione dei problemi avanzata. 60
transadvui.livenessProbe.timeoutSeconds Secondi di timeout del probe di attività contenitore. Risoluzione dei problemi avanzata. 5
transadvui.livenessProbe.periodSeconds Secondi del periodo di analisi dell'attività del contenitore. Risoluzione dei problemi avanzata. 30
transadvui.livenessProbe.failureThreshold Soglia di errore del probe di attività contenitore. Risoluzione dei problemi avanzata. 6
transadvui.readinessProbe.initialDelaySeconds Secondi di ritardo iniziale della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. 5
transadvui.readinessProbe.timeoutSeconds Secondi di timeout del probe di disponibilità del contenitore. Risoluzione dei problemi avanzata. 5
transadvui.readinessProbe.periodSeconds Secondi del periodo di analisi di disponibilità del contenitore. Risoluzione dei problemi avanzata. 30
transadvui.readinessProbe.failureThreshold Soglia di errore della sonda di disponibilità del contenitore. Risoluzione dei problemi avanzata. 6

Configurazione del programma di installazione CASE

Opzioni per l'azione di installazione:

oc ibm-pak launch \
    $CASE_NAME \
    --version $CASE_VERSION \
    --inventory v2InstallProduct \
    --namespace $TA_PROJECT \
    --action install \
    --args "[OPTIONS]"
 
--licenseType <true|false>          : REQUIRED: Must be used and set to a valid license type.
--acceptLicense <true|false>        : REQUIRED: Must be used and set to true to proceed with install.
--installIbmCatalog <true|false>    : OPTIONAL: If set to true, the IBM operator catalog will be installed if it is not already. Default is false.
--secret <secret>                   : OPTIONAL: Specify a secret to use to pull the Tranformation Advisor images from entitle registry.
--registry <registry>               : OPTIONAL: Specified entitled registry, e.g. cp.icr.io.
--user <user>                       : OPTIONAL: Specify user to access the entitled registry.
--pass <password>                   : OPTIONAL: Specify password for user to access entitled registry.
--persistence <true|false>          : OPTIONAL: If persistence is required for Transformation Advisor (Default is true).
--accessMode <accessMode>           : OPTIONAL: storage accessMode. Default is ReadWriteOnce.
--persistenceClaimCouchDB <claim>   : OPTIONAL: Use an existing persistence claim for CouchDB.
--persistenceClaimNeo4j <claim>     : OPTIONAL: Use an existing persistence claim for Neo4j.
--storageClass <storage class>      : OPTIONAL: Recommended way use persistence with Transformation Advisor. Specify a valid storage class to use.
--supplementalGroups [gid,...]      : OPTIONAL: May be used if using file system based storage to ensure database container has read/write permission for the storage.
--hostName <hostname>               : OPTIONAL: hostname to access cluster. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--apiEndpoint <apiEndpoint>         : OPTIONAL: API url for the cluster. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--authIssuerEndpoint <aiEndpoint>   : OPTIONAL: Auth issuer endpoint for the cluster. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--publicUrlServer                   : OPTIONAL: See docs for more information. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--publicUrlUI                       : OPTIONAL: See docs for more information. Transformation Advisor will discover and set this value. It should not need to be changed for most environments.
--customCACert <file path>          : OPTIONAL: Specify file to use as custom CA cert.
--authConfigFile <file path>        : OPTIONAL: Specify file to use to configure third party authentication.
--namespaceScoped <true|false>      : OPTIONAL: If ommitted, defaults to false. This will make the operator to be insalled into openshift-operators namespace and manage all the namespaces, operand will go into namespace specified by --namespace attribute. If set to true, operator and operand are installed into namespace specified by --namespace attribute.
--taHelp                            : OPTIONAL: Display options available
 

Opzioni per l'azione di disinstallazione:

oc ibm-pak launch \
    $CASE_NAME \
    --version $CASE_VERSION \
    --case ibm-transadv \
    --inventory v2InstallProduct \
    --namespace $TA_PROJECT \
    --action uninstall \
    --args "[OPTIONS]"
 
--uninstallIbmCatalog <true|false>    : OPTIONAL: If set to true, the IBM operator catalog will be uninstalled. Default is false.
--uninstallTaCatalog <true|false>     : OPTIONAL: If set to true, the IBM operator catalog will be uninstalled. Default is false.
 

Configurare l'autenticazione di terze parti

Per configurare l'autenticazione di terze parti, seguire le indicazioni qui riportate:

Aggiornare il sito di terze parti OAuthClient o OAuthApp

È necessario configurare il reindirizzamento URL per consentire il reindirizzamento OAuthClient o OAuthApp a Transformation Advisor Percorso dell'interfaccia utente.

L'URL di reindirizzamento è " your-ta-ui-route/auth/callback

Ad esempio, https://ta.apps.ken.cp.fyre.ibm.com/auth/callback, dove https://ta.apps.ken.cp.fyre.ibm.com è la rotta dell'interfaccia utente Transformation Advisor Percorso dell'interfaccia utente.

È possibile ottenere questo percorso dall'interfaccia OCP nella navigazione: 'Networking -> Routes -> ta-ui-route -> Location

Configurazione di MFA

L'integrazione dell'autenticazione a più fattori (MFA) con Red Hat OpenShift Container Platform rafforza la sicurezza richiedendo agli utenti di verificare la propria identità attraverso più metodi, come una password, un codice di accesso unico (OTP) o altri fattori di verifica supportati. Red Hat OpenShift non applica l'MFA in modo nativo. Per ulteriori informazioni, vedere Come integrare l'autenticazione a più fattori per l'autenticazione in OpenShift 4.

ID client e segreto

Prima di Transformation Advisor 3.4.0 è necessario aggiornare l'ID e il segreto del client OAuthClient's o OAuthApp's nella configurazione dell'istanza Transformation Advisor configurazione dell'istanza utilizzando le proprietà authentication.oidc.clientId e authentication.oidc.clientSecret.

Transformation Advisor 3.4.0 o dopo, è necessario fornire l'Id del client e il segreto del client in un transformation-advisor-secret segreto prima dell'installazione Transformation Advisor. Ecco il comando:

oc create secret generic transformation-advisor-secret \
--from-literal=clientId=your-clientId-value \
--from-literal=clientSecret=your-clientSecret-value
 

In alternativa, è possibile aggiornare il segreto dopo l'installazione di Transformation Advisor. Ecco il comando:

oc patch secret transformation-advisor-secret \
-p '{"data":{"'"clientId"'": "'"your-clientId-value"'", "'"clientSecret"'": "'"your-clientSecret-value"'"}}' --type=merge
 

Quindi, potrebbe essere necessario eliminare i pod Server e UI, in modo che i nuovi valori segreti possano essere applicati ai pod.

Nota: transformation-advisor-secret è utilizzato per altre credenziali interne. Queste altre credenziali sono generate automaticamente, se non già presenti nel segreto, al momento della creazione dell'istanza Transformation Advisor viene creata l'istanza.

Aggiornamento del criterio di rete in uscita

Assicurati di aggiungere gli endpoint utilizzati dalla terze parti alla politica di rete Egress. Istruzioni disponibili all'indirizzo: Egress Network Policy (ENP)

Configurazione dell'autenticazione di terze parti - Installazione dell'interfaccia utente

IAM

Transformation Advisor può essere configurato per utilizzare IBM Identity and Access Management (IAM) come fonte di autenticazione.

  1. Eseguire la registrazione di OpenID Connect (OIDC) come da istruzioni qui: https://www.ibm.com/docs/en/cpfs?topic=sign-automated-client-registration-method-3

  2. Seguendo la procedura del punto 1, verrà creato un segreto che contiene clientId e clientSecret. Aggiungere clientId e clientSecret al file Transformation Advisor segreto (come specificato nella proprietà: authentication.ocp.secretName).

  3. Aggiornare i valori Transformation Advisor i valori di configurazione come segue:

      description: "IAM"
      identityRequestEndpoint: "https://cp-console.<OCP domain>:443"
      identityRequestEndpointPath: "/idprovider/v1/auth/authorize"
      identityRequestEndpointScope: "openid+profile+email"
      identityRequestEndpointStatePrefix: ""
      tokenRequestEndpoint: "https://cp-console.<OCP domain>:443"
      tokenRequestEndpointPath: "/idprovider/v1/auth/token"
      tokenVerificationEndpoint: "https://cp-console.<OCP domain>:443"
      tokenVerificationEndpointPath: "/idprovider/v1/auth/userInfo"
 

OAuth Github

Di seguito è riportato un esempio della configurazione richiesta nell'oggetto di configurazione thirdparty per utilizzare OAuth Github:

      description: "github"
      identityRequestEndpoint: "https://github.com"
      identityRequestEndpointPath: "/login/oauth/authorize"
      identityRequestEndpointScope: "openid+offline"
      identityRequestEndpointStatePrefix: ""
      tokenRequestEndpoint: "https://github.com"
      tokenRequestEndpointPath: "/login/oauth/access_token"
      tokenVerificationEndpoint: "https://api.github.com"
      tokenVerificationEndpointPath: "/user"
 

OAuth Box

Di seguito è riportato un esempio della configurazione richiesta nell'oggetto di configurazione thirdparty per utilizzare Box OAuth:

      description: "box"
      identityRequestEndpoint: "https://account.box.com"
      identityRequestEndpointPath: "/api/oauth2/authorize"
      identityRequestEndpointScope: "root_readonly"
      identityRequestEndpointStatePrefix: ""
      tokenRequestEndpoint: "https://api.box.com"
      tokenRequestEndpointPath: "/oauth2/token"
      tokenVerificationEndpoint: "https://api.box.com"
      tokenVerificationEndpointPath: "/2.0/users/me"
 

Configurazione dell'autenticazione di terze parti - CASE install

Specificare un file di configurazione di autenticazione di terze parti usando l'opzione --authConfigFile con l'azione CASE install .

Di seguito è riportato un esempio di file che utilizza GitHub OAuth:

Non modificare il formato del file.

# set to true to disable authentication on UI server
TA_AUTH_UI_DISABLED=false
# set to true to disable authentication on Liberty server
TA_AUTH_LIBERTY_DISABLED=false

# OAuth2 Server client id
TA_AUTH_OIDC_CLIENT_ID=xxx
# OAuth2 Server client secret
TA_AUTH_OIDC_CLIENT_SECRET=xxx

# endpoint to request identity of the OAuth2 Server, no tailing /
TA_AUTH_IDENTITY_REQUEST_ENDPOINT=https://github.com
# path of the endpoint to request identity to OAuth2 Server, with heading /
TA_AUTH_IDENTITY_REQUEST_ENDPOINT_PATH=/login/oauth/authorize
# OAuth2 scope
TA_AUTH_IDENTITY_REQUEST_ENDPOINT_SCOPE=openid+offline
# some OAuth2 state requires minimum length, default to empty
TA_AUTH_CALLBACK_STATE_PREFIX_PADDING=

# endpoint to request token of the OAuth2 Server, no tailing /
TA_AUTH_TOKEN_REQUEST_ENDPOINT=https://github.com
# path of the endpoint to request token of the OAuth2 Server, with heading /
TA_AUTH_TOKEN_REQUEST_ENDPOINT_PATH=/login/oauth/access_token

# endpoint to verify tokens of the OAuth2 Server, no tailing /
TA_AUTH_TOKEN_VERIFICATION_ENDPOINT=https://api.github.com
# path to the endpoint to verify tokens of the OAuth2 Server, with heading /
TA_AUTH_TOKEN_VERIFICATION_ENDPOINT_PATH=/user
 

Abilita BYOK (Bring Your Own Key)

È possibile portare il proprio certificato (denominato cert nel resto della sezione) e la chiave utilizzata per il TLS interno.

Presupponendo:

  1. Il certificato pubblico è public.crte la chiave privata è private.pem.
  2. Transformation Advisor è o deve essere installato nello spazio dei nomi ta .

Ecco un esempio di come ottenere un certificato e una coppia di chiavi, e il tuo certificato e la tua chiave saranno nello stesso formato:

openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 730 -out public.crt -subj "/C=IE/ST=Cork/L=Cork/O=IBM/CN=internal.ta.ibm.com" -addext "subjectAltName=DNS:ta-couchdb.<namespace>.svc,DNS:*.ta-couchdb.<namespace>.svc,DNS:*.ta-couchdb.<namespace>.svc.cluster.local,DNS:ta-couchdb.<namespace>.svc.cluster.local
 

Dopo aver ottenuto la tua coppia di chiavi e certificato, segui la procedura per abilitare il tuo certificato e la tua chiave:

  1. Passare allo spazio dei nomi ta o crearne uno se non è stato installato Transformation Advisor.

       # switch the project
       oc project ta
     

    oppure

       # create ta ns if it's not already there
       oc create ns ta
     
  2. Cancellare la Transformation Advisortransformation-advisor-secret, se esiste.

    oc delete secret transformation-advisor-secret
     
  3. Se si esegue l'installazione tramite l'utilità di installazione CASE , passare il file --customCACert <public.crt> dove <public.crt> è il percorso completo al file public.crt .

    Se l'installazione avviene tramite la IU OpenShift , aggiorna la proprietà caCert nella risorsa personalizzata YAML. Per maggiori dettagli sull'accesso alla risorsa YAML personalizzata dall'interfaccia utente, vedere Installazione.

    Ecco un esempio di caCert nella risorsa personalizzata YAML:

          tls:
            enabled: true
            caCert: |
              -----BEGIN CERTIFICATE-----
              MIIDKjCCAhICCQCjbqTC95dw+jANBgkqhkiG9w0BAQsFADBXMQswCQYDVQQGEwJJ
              RTENMAsGA1UECAwEQ29yazENMAsGA1UEBwwEQ29yazEMMAoGA1UECgwDSUJNMRww
              GgYDVQQDDBNpbnRlcm5hbC50YS5pYm0uY29tMB4XDTIwMDEyMDEzMjkxMVoXDTIy
              MDExOTEzMjkxMVowVzELMAkGA1UEBhMCSUUxDTALBgNVBAgMBENvcmsxDTALBgNV
              BAcMBENvcmsxDDAKBgNVBAoMA0lCTTEcMBoGA1UEAwwTaW50ZXJuYWwudGEuaWJt
              LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMIGfSptUnimmxZ
              IdVK6uLscJQetel+MX7u4viIaBwdd/IGDE7GHDHEYYFmEfv+gYbVT1+EAkdiLtHG
              SutUMPxpbUyv1xCW+9z3nDInHKzZxHMJJwB5j4+oVq+XkdXzZu2hwuoc0aA7Ek3r
              L6FFPIQi9bcmayuOa7HRpH43+86JuJF8tcx1MrDxWzBJraZNuvDVLs574qr/eM2d
              x5N+qkJqwOy94k0eH+x7kAKRp6vBEcVR+I/HHYDZSnC4UNEX8I/NbCS3wMUXysC9
              lcC2vsIKrCRSn9Fu/ixWwlGy6QV1my4H6ZPtvJV56fcS42523KTDbT628Xa9B3/p
              cX0WZWMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEADIyp9A4p46DZ6brEbL0e+wWf
              bnnymf1QZWcz4xrrMW2CcKBmRqFIPFPBpSEbCKlsFaZex5863z7dsa5SU7fHRdHF
              Yk9t8mGu2B+yZF6nW4biPmezaDLPi9VUomxcd+/rxWKhZJIufWXxs22AOhNQHeeK
              PSjP8RPCh1Gny7kC3jUz1Q/wd4QF/OGeu+Xf5jhERpJPfjKMtPMPJPGiPYSqhYQM
              VA6G83nZVlPDtnFJ28AzZU2/YtvCzhU66Ua5PjbSG1w6QsXZt/lE3E9utcJ+MNQi
              3JwrLp4/97cupXsGmPPmkvH50LB8ex/N/ra6QOLGLm0gU218yXu7KezOfZNkTw==
              -----END CERTIFICATE-----
     

    È possibile copiare e incollare manualmente nell'ubicazione. Ricordate che l'indentazione è importante. Ci sono 2 spazi aggiuntivi per ogni linea del cert rispetto alla linea di caCert.

  4. Ricreare il Transformation Advisor segreto.

        # create key.p12
        openssl pkcs12 -export -inkey private.pem -in public.crt -name default -out key.p12 -passout pass:plain-text-password
    
        # base64 encode private.pem and public.crt
        base64 -w 0 ./private.pem > private-base64
        base64 -w 0 ./public.crt > public-base64
        # on Mac
        # base64 ./private.pem > private-base64
        # base64 ./public.crt > public-base64
    
        # create key and initial vector for AES-CBC-256 (P)
        # key length for aes256 is 256 bits around 32 characters
        TA_TEMP_KEY=`LC_CTYPE=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 32 | xargs`
        # key length for aes256 is 128 bits around 16 characters
        TA_TEMP_IV=`LC_CTYPE=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 16 | xargs`
    
        # create transformation-advisor-secret
        oc create secret generic transformation-advisor-secret \
        --from-literal=db_username='plain-text-username' --from-literal=secret='plain-text-password' \
        --from-file=ta_public_key=./public-base64 --from-file=ta_private_key=./private-base64 \
        --from-literal=ta_aes_key=$TA_TEMP_KEY --from-literal=ta_aes_iv=$TA_TEMP_IV \
        --from-file=key.p12=key.p12
     

Ora è possibile procedere con l'installazione.

Nota: transformation-advisor-secret è utilizzato per altre credenziali interne. Queste altre credenziali sono generate automaticamente, se non già presenti nel segreto, al momento della creazione dell'istanza Transformation Advisor viene creata l'istanza.

Creare un segreto di estrazione dell'immagine per estrarre le immagini del registro aventi diritto

Per usufruire del supporto per Transformation Advisor è necessario fornire i permessi di accesso al Registro con titolo, creando un Image Pull Secret e puntando ad esso durante l'installazione. Il nome del segreto deve essere ibm-entitlement-key. Un segreto deve essere creato nello stesso spazio dei nomi in cui è installata l'istanza del prodotto o a livello globale.

Per maggiori dettagli, consultare il documento Accesso alle immagini del registro immagini. Ecco come puntare al segreto dalla Transformation Advisor dalla pagina di configurazione dell'istanza:

couchdb:
  imagePullSecret: ibm-entitlement-key

neo4j:
  imagePullSecret: ibm-entitlement-key
  
transadv:
  imagePullSecret: ibm-entitlement-key

transadvui:
  imagePullSecret: ibm-entitlement-key
 

Fornire le proprie credenziali per accedere al Transformation Advisor ai DB interni di

Transformation Advisor crea credenziali casuali per comunicare con i DB interni ( CouchDB e Neo4j ) alla prima installazione.

Tuttavia, è possibile fornire le proprie credenziali a questo scopo.

Le credenziali sono conservate in un oggetto Kubernetes secret (chiamato transformation-advisor-secret per impostazione predefinita), che può essere creato come segue:

TA_TEMP_KEY=`LC_CTYPE=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 32 | xargs`
TA_TEMP_IV=`LC_CTYPE=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 16 | xargs`

oc -n <YOUR_TA_INSTANCE_NAMESPACE> create secret generic <YOUR_SECRET_NAME> \
  --from-literal=db_username=<YOUR_COUCHDB_USERNAME> \
  --from-literal=secret=<YOUR_COUCHDB_PASSWORD> \
  --from-literal=db_nonadmin_user=<YOUR_COUCHDB_NONADMIN_USERNAME> \
  --from-literal=db_nonadmin_secret=<YOUR_COUCHDB_NONADMIN_PASSWORD> \
  --from-literal=neo4j_username=<YOUR_NEO4J_USERNAME> \
  --from-literal=neo4j_secret=<YOUR_NEO4J_PASSWORD> \
  --from-literal=neo4j_auth=neo4j/<YOUR_NEO4J_PASSWORD>
 

Leggere la sezione Re-create the TA secret di questo documento per vedere come creare i file public-base64 e private-base64 .

È possibile fornire il proprio nome segreto al momento dell'installazione di un'istanza di Transformation Advisor in: .authentication.ocp.secretName

Modifica delle suite di cifratura e delle versioni TLS

Le suite di cifratura vengono impostate automaticamente per Neo4j e per il contenitore dell'interfaccia utente.

Per i contenitori Server e CouchDB, è possibile impostarli manualmente modificando queste variabili al momento dell'installazione: couchdb.security.cipherSuites e transadv.security.cipherSuites.

Consultate i valori predefiniti nella tabella precedente. Aggiungere il proprio come stringa separata da spazi bianchi.

Allo stesso modo, le versioni TLS possono essere impostate manualmente per il contenitore CouchDB. La variabile per questo è 'couchdb.security.tlsVersions. Per i valori predefiniti, vedere la tabella precedente.