Installation de l'édition personnalisée à l'aide d'un script

Le shce.sh script vous aide à installer l'édition personnalisée auto-hébergée ( Kubernetes ou Red Hat OpenShift Container Platform ). Cet outil s'appuie sur les graphiques et les valeurs d' Helm et permet des installations personnalisées adaptées à vos besoins. Le script n'est pris en charge que sur les architectures x86_64 et ARM64.

Prérequis

Vérifiez que les conditions pré-requises suivantes sont remplies:

  • Helm est installé pour déployer les graphiques d' Helm. Pour installer Helm :

    curl -fsSL https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
     
  • Une classe de stockage par défaut est définie sur le cluster. Sans classe de stockage, l'installation des magasins de données échouera. Instana nécessite un stockage RWX ( ReadWriteMany ) ou RWO ( ReadWriteOnce ) pour les intervalles bruts et les données de surveillance. Pour vérifier la classe de stockage par défaut :

    kubectl get storageclass -o=jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubernetes\.io/is-default-class=="true")].metadata.name}'
     

    Si aucune classe de stockage par défaut n'est définie, exécutez :

    kubectl patch storageclass <storageclass_name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
     
  • Version de Kubernetes

    Kubectl 1.25 ou une version ultérieure est installé.

    Pour installer la dernière version stable :

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    chmod +x kubectl
    sudo mv kubectl /usr/local/bin/
     

    Vérifiez votre installation d' kubectl :

    kubectl version --client=true
     

    Kubernetes La version doit être supérieure à 1.25. Vérifiez la version du serveur :

    kubectl version
     
  • Pour déployer Custom Edition sur Red Hat OpenShift Container Platform (OCP), l'interface CLI d' OpenShift (oc) et OCP 4.13 ou une version ultérieure sont requis.

    Pour vérifier la version d' Red Hat OpenShift Container Platform :

    oc version
     
  • yq est disponible pour analyser les fichiers YAML.

    Pour installer yq sur Mac (Homebrew) :

    brew install yq
     

    Pour installer yq sur Ubuntu ou Debian :

    sudo snap install yq
     

    Pour vérifier la yq version :

    yq --version
     

Procédure

  1. Clonez le référentiel Git qui contient les fichiers nécessaires à l'installation de l'édition personnalisée :

    git clone https://github.com/instana/self-hosted-custom-edition-setup.git
     
  2. Accédez au répertoire suivant dans le référentiel Git que vous avez cloné :

    cd ./self-hosted-custom-edition-setup/deploy
     
  3. Créer un fichier d'environnement de configuration :

    vim config.env
     

    Un exemple de résultat est présenté dans l'exemple suivant :

    DOWNLOAD_KEY=<download_key>
    AGENT_KEY=<agent_key>
    SALES_KEY=<sales_key>
    CLUSTER_TYPE=ocp
    INSTANA_UNIT_NAME=unit0
    INSTANA_TENANT_NAME=tenant0
     
    Paramètre Description
    TÉLÉCHARGER_CLÉ Clé permettant d'authentifier le téléchargement du package de l'agent Instana à partir du référentiel Instana.
    AGENT_KEY La clé permettant d'authentifier l'agent auprès du backend Instana et d'associer l'agent à un locataire spécifique.
    CLÉ_VENTES La clé fournie par l'équipe commerciale.
    TYPE_DE_CLUSTER Représente le type de cluster
    INSTANA_NOM_DE_L'UNITÉ Paramètre dans Instana qui représente un regroupement logique d'agents.
    INSTANA_NOM_DU_LOCATAIRE Paramètre dans Instana qui identifie le locataire ou l'organisation associé à un agent.
    {: caption="Tableau 1. config.env paramètres » caption-side=« top »}
  4. Définissez le nom d'utilisateur et le mot de passe pour le locataire et l'unité d' Instana :

    
    vim values/unit/custom-values.yaml
     

    Un exemple de résultat est présenté dans l'exemple suivant :

    initialAdminUser: admin@instana.local
    initialAdminPassword: "mypass"
    properties: []
    componentConfigs: []
    priorityClassName: ""
    env: []
    coreName: "instana-core"
    coreNamespace: "instana-core"
     
    Paramètre Description
    initialAdminUser Utilisateur administrateur initial pour l'agent de surveillance de l' Instana.
    initialAdminPassword Mot de passe administrateur initial pour l'agent de surveillance de l' Instana.
    Propriétés Tableau vide destiné à stocker des propriétés supplémentaires liées à l'agent de surveillance de l' Instana.
    componentConfigs Tableau vide destiné à stocker les détails de configuration des composants individuels de l'agent de surveillance de l' Instana.
    priorityClassName Le nom de la classe de priorité pour l'agent de surveillance de l' Instana e une chaîne vide, ce qui signifie qu'aucune classe de priorité spécifique n'est attribuée.
    env Tableau vide destiné à stocker les variables d'environnement pour l'agent de surveillance de l' Instana.
    coreName Nom du composant principal de l'agent de surveillance de l' Instana.
    coreNamespace Espace de noms pour le composant principal de l'agent de surveillance de l' Instana.

    Pour plus d'informations sur la configuration des valeurs dans le fichier custom-values.yaml, consultez le fichier README.

  5. Vous pouvez exécuter les commandes suivantes en fonction de vos besoins :

    • Installez les magasins de données et le backend d' Instana :
    ./shce.sh apply
     
    • Désinstallez les magasins de données et le backend d' Instana :
    ./shce.sh delete
     
    • Installez uniquement les composants backend (opérateur, noyau, unité) :
    ./shce.sh backend apply
     
    • Désinstallez uniquement les composants backend (opérateur, noyau, unité) :
    ./shce.sh backend delete
     
    • Installer uniquement les magasins de données :
    ./shce.sh datastores apply
     
    • Installez des magasins de données individuels, tels que Kafka ou Postgres :
    ./shce.sh datastores apply kafka
    ./shce.sh datastores apply postgres
     
    • Désinstallez les magasins de données individuels, tels que Kafka ou Postgres :
    ./shce.sh datastores delete kafka
    ./shce.sh datastores delete postgres
     

    Pour obtenir de l'aide sur la shce.sh commande :

    ./shce.sh help
     

    Pour plus d'informations sur le shce.sh script, consultez README.

  6. Ajoutez les détails du répartiteur de charge et DNS, voir Configuration des répartiteurs de charge et DNS.