Creazione di un archivio dati Elasticsearch su Linux on Power ( ppc64le )
Installare l'operatore Elasticsearch e configurare l'archivio dati.
Prima di iniziare
Assicurarsi di aver preparato l'host online e offline per estrarre le immagini dal repository esterno. Assicurati inoltre di aver aggiunto il repository Helm .
Per ulteriori informazioni, consultare la sezione "Preparazione all'installazione degli operatori dell'archivio dati ".
Elasticsearch versioni degli operatori e tag delle immagini
Le seguenti immagini sono necessarie per le versioni dell'operatore o del grafico Helm in evidenza.
| Piattaforma | Versioni operatore | Versione grafico Helm | Immagine con tag |
|---|---|---|---|
| Linux® on Power® (ppc64le) | 3.4.1 | 3.4.1 | artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch: 3.4.1_v0.34.0 artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch: 8.19.13_v0.35.0 |
Installazione di " Elasticsearch " online
Completare questi passi per installare l'archivio dati Elasticsearch .
Crea lo spazio dei nomi
instana-elastic.kubectl create namespace instana-elasticCrea l'account
elasticsearchdi servizio.kubectl create serviceaccount elasticsearch -n instana-elasticCrea i segreti di estrazione delle immagini per lo spazio dei nomi
instana-elastic. Aggiornare il valore<download_key>con la propria chiave di download.kubectl create secret docker-registry instana-registry --namespace instana-elastic \ --docker-username=_ \ --docker-password=<download_key> \ --docker-server=artifact-public.instana.ioInstallare l'operatore Elasticsearch .
helm install elastic-operator instana/eck-operator -n instana-elastic --version=3.4.1 --set image.repository=artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch --set image.tag=3.4.1_v0.34.0 --set imagePullSecrets[0].name="instana-registry"Crea un file ` YAML `, ad esempio
elastic.yaml, con la configurazione ` Elasticsearch `.apiVersion: elasticsearch.k8s.elastic.co/v1 kind: Elasticsearch metadata: name: instana spec: image: artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.13_v0.35.0 version: 8.19.13 nodeSets: - name: default count: 3 podTemplate: spec: serviceAccountName: elasticsearch imagePullSecrets: - name: instana-registry config: node.roles: ["master", "data", "ingest"] node.store.allow_mmap: false xpack.ml.enabled: false volumeClaimTemplates: - metadata: name: elasticsearch-data # Do not change this name unless you set up a volume mount for the data path. spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi http: tls: selfSignedCertificate: disabled: trueCompleta la procedura in Distribuzione e verifica di Elasticsearch (online e offline).
Installazione offline di Elasticsearch
Se non hai ancora eseguito il pull delle immagini Elasticsearch dal registro esterno quando hai preparato per l'installazione, puoi eseguirne il pull ora. Immetti questi comandi sul tuo host bastion. Quindi, copia le immagini sul tuo host Instana che si trova nel tuo ambiente isolato.
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch:3.4.1_v0.34.0
docker pull artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.13_v0.35.0
Esegui i seguenti passaggi sul tuo host Instana.
Contrassegnare le immagini con una nuova tag nel registro delle immagini interno.
docker tag artifact-public.instana.io/self-hosted-images/3rd-party/operator/elasticsearch:3.4.1_v0.34.0 <internal-image-registry>/ppc64le-oss/eck-operator-ppc64le:3.4.1_v0.34.0 docker tag artifact-public.instana.io/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.13_v0.35.0 <internal-image-registry>/ppc64le-oss/elasticsearch-ppc64le:8.19.13_v0.35.0Esegui il push delle immagini nel tuo registro immagini interno sul tuo host bastion.
docker push <internal-image-registry>/self-hosted-images/3rd-party/operator/elasticsearch:3.4.1_v0.34.0 docker push <internal-image-registry>/ppc64le-oss/elasticsearch-ppc64le:8.19.13_v0.35.0Crea lo spazio dei nomi
instana-elasticper le istanze Elasticsearch .kubectl create namespace instana-elasticCrea l'account
elasticsearchdi servizio.kubectl create serviceaccount elasticsearch -n instana-elasticOpzionale: Creare un segreto di estrazione dell'immagine se il registro delle immagini interno richiede l'autenticazione.
kubectl create secret docker-registry <secret_name> --namespace instana-elastic \ --docker-username=<registry_username> \ --docker-password=<registry_password> \ --docker-server=<internal-image-registry>:<internal-image-registry-port> \ --docker-email=<registry_email>Installare l'operatore Elasticsearch . Se si è creata un'immagine pull secret nel passaggio precedente, aggiungere
--set imagePullSecrets[0].name="<internal-image-registry-pull-secret>"al comando seguente.helm install elastic-operator eck-operator-3.4.1.tgz -n instana-elastic --create-namespace --version=3.4.1 --set image.repository=<internal-image-registry>/self-hosted-images/3rd-party/operator/elasticsearch --set image.tag=3.4.1_v0.34.0Crea un file ` YAML `, ad esempio
elasticsearch.yaml, con la configurazione ` Elasticsearch `.apiVersion: elasticsearch.k8s.elastic.co/v1 kind: Elasticsearch metadata: name: instana spec: image: <internal-image-registry>/self-hosted-images/3rd-party/datastore/elasticsearch:8.19.13_v0.35.0 version: 7.17.14 nodeSets: - name: default count: 3 podTemplate: spec: serviceAccountName: elasticsearch config: node.master: true node.data: true node.ingest: true node.store.allow_mmap: false xpack.ml.enabled: false volumeClaimTemplates: - metadata: name: elasticsearch-data # Do not change this name unless you set up a volume mount for the data path. spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi http: tls: selfSignedCertificate: disabled: trueCompleta la procedura in Distribuzione e verifica di Elasticsearch (online e offline).
Implementazione e verifica di Elasticsearch (online e offline)
Per distribuire l'istanza Elasticsearch e creare l'archivio dati, completare la seguente procedura:
Distribuire Elasticsearch. Per impostazione predefinita, un utente con il nome
elasticviene creato con una password generata casualmente.kubectl apply -f elastic.yaml -n instana-elastic kubectl wait elasticsearch/instana --for=condition=ReconciliationComplete --timeout=300s -n instana-elasticRichiamare la parola d'ordine.
kubectl get secret instana-es-elastic-user -n instana-elastic -o go-template='{{.data.elastic | base64decode}}' && echoMemorizzare la password richiamata in
config.yamlcome mostrato nella seguente parte di codice. Sostituire < RETRIEVED_FROM_SECRET> con la password ricevuta nel passo precedente.datastoreConfigs: ... elasticsearchConfig: adminUser: elastic adminPassword: <RETRIEVED_FROM_SECRET> user: elastic password: <RETRIEVED_FROM_SECRET> ...Verificare la distribuzione dell'operatore Elasticsearch .
kubectl get all -n instana-elasticSe l'operatore Elasticsearch viene distribuito correttamente, l'output del comando mostra lo stato dell'operatore come
Runningcome mostrato nel seguente esempio:NAME READY STATUS RESTARTS AGE pod/elastic-operator-0 1/1 Running 1 (10m ago) 10m pod/instana-es-default-0 1/1 Running 0 6m44s pod/instana-es-default-1 1/1 Running 0 6m44s pod/instana-es-default-2 1/1 Running 0 6m44s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/elastic-operator-webhook ClusterIP 192.168.1.41 <none> 443/TCP 10m service/instana-es-default ClusterIP None <none> 9200/TCP 6m46s service/instana-es-http ClusterIP 192.168.1.111 <none> 9200/TCP 6m48s service/instana-es-internal-http ClusterIP 192.168.1.196 <none> 9200/TCP 6m48s service/instana-es-transport ClusterIP None <none> 9300/TCP 6m48s NAME READY AGE statefulset.apps/elastic-operator 1/1 10m statefulset.apps/instana-es-default 3/3 6m48s