One place for hosting & domains

      Machine

      Comment développer un site web Drupal 9 sur votre machine locale en utilisant Docker et DDEV


      L’auteur a choisi le Diversity in Tech Fund​​​​​ pour recevoir un don dans le cadre du programme Write for DOnations.

      Introduction

      DDEV est un outil open-source qui utilise Docker dans le but de construire des environnements de développement locaux pour de nombreux cadres PHP différents. Grâce à la puissance de la conteneurisation, DDEV peut grandement simplifier la façon dont vous travaillez sur des projets multiples qui utilisent plusieurs piles technologiques et plusieurs serveurs cloud. DDEV comprend des modèles pour WordPress, Laravel, Magento, TYPO3, Drupal, et plus encore.

      Drupal 9 a été publié le 3 juin 2020 pour le CMS Drupal. Connu pour sa facilité d’utilisation et sa vaste bibliothèque de modules et de thèmes, Drupal est un cadre PHP populaire pour la création et la maintenance de divers sites web et applications de toutes tailles.

      Dans ce tutoriel, vous allez commencer à développer un site web Drupal 9 sur votre machine locale en utilisant DDEV. Cela vous permettra de construire votre site web dans un premier temps, puis, lorsque vous serez prêt, de déployer votre projet sur un serveur de production.

      Conditions préalables

      Pour suivre ce tutoriel, vous aurez besoin de :

      Note : Il est possible de développer Drupal 9 en utilisant DDEV sur un serveur à distance, mais vous aurez besoin d’une solution pour accéder à localhost dans un navigateur web. La commande de DDEV ddev share fonctionne avec ngrok , qui crée un tunnel sécurisé vers votre serveur pour que vous et d’autres parties prenantes puissiez voir votre site de développement. Pour un usage personnel, vous pouvez également installer une interface graphique sur votre serveur à distance et accéder à votre site de développement via un navigateur web à l’intérieur de cette interface. Pour ce faire, vous pouvez suivre notre guide Comment installer et configurer VNC sur Ubuntu 20.04. Pour une solution GUI encore plus rapide, vous pouvez suivre notre guide sur la façon de configurer un bureau à distance avec X2Go sur Ubuntu 20.04.

      Étape 1 — Installer DDEV

      Au cours de cette étape, vous installerez DDEV sur votre machine locale. L’option 1 comprend des instructions pour macOS, tandis que l’option 2 fournit des instructions pour Linux. Ce tutoriel a été testé sur la version 1.15.0 de DDEV.

      Option 1 — Installation de DDEV sur macOS

      DDEV conseille aux utilisateurs de macOS d’installer leur outil en utilisant le gestionnaire de paquets Homebrew . Utilisez la commande brew suivante pour installer la dernière version stable :

      • brew tap drud/ddev && brew install drud/ddev/ddev

      Si vous préférez la version la plus récente, vous pouvez utiliser brew pour installer ddev-edge :

      • brew tap drud/ddev-edge && brew install drud/ddev-edge/ddev

      Si vous avez déjà une version de DDEV installée, ou si vous souhaitez mettre à jour votre version, arrêtez DDEV et utilisez brew pour mettre à jour votre installation :

      • ddev poweroff
      • brew upgrade ddev

      Une fois que vous avez installé ou mis à jour DDEV, exécutez  ddev version pour vérifier votre logiciel :

      Vous verrez un résultat similaire à ce qui suit :

      Output

      DDEV-Local version v1.15.0 commit v1.15.0 db drud/ddev-dbserver-mariadb-10.2:v1.15.0 dba phpmyadmin/phpmyadmin:5 ddev-ssh-agent drud/ddev-ssh-agent:v1.15.0 docker 19.03.8 docker-compose 1.25.5 os darwin router drud/ddev-router:v1.15.0 web drud/ddev-webserver:v1.15.0

      DDEV comprend un puissant CLI, ou interface de ligne de commande. Lancez ddev pour en savoir plus sur certaines commandes courantes :

      Vous verrez le résultat suivant :

      Output

      Create and maintain a local web development environment. Docs: https://ddev.readthedocs.io Support: https://ddev.readthedocs.io/en/stable/#support Usage: ddev [command] Available Commands: auth A collection of authentication commands composer Executes a composer command within the web container config Create or modify a ddev project configuration in the current directory debug A collection of debugging commands delete Remove all project information (including database) for an existing project describe Get a detailed description of a running ddev project. exec Execute a shell command in the container for a service. Uses the web service by default. export-db Dump a database to a file or to stdout help Help about any command hostname Manage your hostfile entries. import-db Import a sql file into the project. import-files Pull the uploaded files directory of an existing project to the default public upload directory of your project. list List projects logs Get the logs from your running services. pause uses 'docker stop' to pause/stop the containers belonging to a project. poweroff Completely stop all projects and containers pull Pull files and database using a configured provider plugin. restart Restart a project or several projects. restore-snapshot Restore a project's database to the provided snapshot version. sequelpro This command is not available since sequel pro.app is not installed share Share project on the internet via ngrok. snapshot Create a database snapshot for one or more projects. ssh Starts a shell session in the container for a service. Uses web service by default. start Start a ddev project. stop Stop and remove the containers of a project. Does not lose or harm anything unless you add --remove-data. version print ddev version and component versions Flags: -h, --help help for ddev -j, --json-output If true, user-oriented output will be in JSON format. -v, --version version for ddev Use "ddev [command] --help" for more information about a command.

      Pour plus d’informations sur l’utilisation de la CLI de DDEV, consultez la documentation officielle de DDEV.

      DDEV étant installée sur votre machine locale, vous êtes maintenant prêt(e) a installer Drupal 9 et à commencer à développer un site web.

      Option 2 — Installer DDEV sur Linux

      Sur un système d’exploitation Linux, vous pouvez installer DDEV en utilisant Homebrew pour Linux ou en utilisant le script d’installation officiel. Sur Ubuntu, commencez par mettre à jour votre liste de paquets dans le gestionnaire de paquets apt (vous pouvez utiliser apt dans Debian, sinon utilisez le gestionnaire de paquets équivalent associé à votre distribution Linux) :

      Installez maintenant quelques paquets pré-requis du dépôt officiel d’Ubuntu :

      • sudo apt install build-essential apt-transport-https ca-certificates software-properties-common curl

      Ces paquets vous permettront de télécharger le script d’installation de DDEV à partir de leur dépôt officiel GitHub.

      Maintenant, téléchargez le script :

      • curl -O https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh

      Avant d’exécuter le script, ouvrez-le dans nano ou votre éditeur de texte préféré et inspectez son contenu :

      nano install_ddev.sh
      

      Une fois que vous avez examiné le contenu du script et que vous êtes satisfait(e), enregistrez et fermez le fichier. Vous êtes maintenant prêt à exécuter le script d’installation.

      Utilisez la commande chmod pour rendre le script exécutable :

      Maintenant, lancez le script :

      Le processus d’installation peut vous demander de confirmer certains paramètres ou d’entrer votre mot de passe sudo. Une fois l’installation terminée, DDEV sera disponible sur votre système d’exploitation Linux.

      Exécutez la version ddev pour vérifier votre logiciel :

      Vous verrez un résultat similaire à ce qui suit :

      Output

      DDEV-Local version v1.15.0 commit v1.15.0 db drud/ddev-dbserver-mariadb-10.2:v1.15.0 dba phpmyadmin/phpmyadmin:5 ddev-ssh-agent drud/ddev-ssh-agent:v1.15.0 docker 19.03.8 docker-compose 1.25.5 os linux router drud/ddev-router:v1.15.0 web drud/ddev-webserver:v1.15.0

      DDEV est un puissant CLI, ou interface de ligne de commande. Exécutez ddev sans rien d’autre pour apprendre quelques commandes courantes :

      Vous verrez le résultat suivant :

      Output

      Create and maintain a local web development environment. Docs: https://ddev.readthedocs.io Support: https://ddev.readthedocs.io/en/stable/#support Usage: ddev [command] Available Commands: auth A collection of authentication commands composer Executes a composer command within the web container config Create or modify a ddev project configuration in the current directory debug A collection of debugging commands delete Remove all project information (including database) for an existing project describe Get a detailed description of a running ddev project. exec Execute a shell command in the container for a service. Uses the web service by default. export-db Dump a database to a file or to stdout help Help about any command hostname Manage your hostfile entries. import-db Import a sql file into the project. import-files Pull the uploaded files directory of an existing project to the default public upload directory of your project. list List projects logs Get the logs from your running services. pause uses 'docker stop' to pause/stop the containers belonging to a project. poweroff Completely stop all projects and containers pull Pull files and database using a configured provider plugin. restart Restart a project or several projects. restore-snapshot Restore a project's database to the provided snapshot version. sequelpro This command is not available since sequel pro.app is not installed share Share project on the internet via ngrok. snapshot Create a database snapshot for one or more projects. ssh Starts a shell session in the container for a service. Uses web service by default. start Start a ddev project. stop Stop and remove the containers of a project. Does not lose or harm anything unless you add --remove-data. version print ddev version and component versions Flags: -h, --help help for ddev -j, --json-output If true, user-oriented output will be in JSON format. -v, --version version for ddev Use "ddev [command] --help" for more information about a command.

      Pour plus d’informations sur l’utilisation du CLI de DDEV, vous pouvez consulter la documentation officielle de DDEV.

      DDEV étant installé sur votre machine locale, vous êtes maintenant prêt à déployer Drupal 9 et à commencer à développer un site web.

      Étape 2 — Déployer un nouveau site Drupal 9 en utilisant DDEV

      Avec l’exécution de DDEV, vous allez maintenant l’utiliser pour créer un système de fichiers spécifique à Drupal, installer Drupal 9, et ensuite lancer un projet de site web standard.

      Tout d’abord, vous allez créer un répertoire root du projet et ensuite vous déplacer à l’intérieur de celui-ci. Vous exécuterez toutes les commandes restantes à partir de cet emplacement. Ce tutoriel utilisera d9test , mais vous êtes libre de donner un autre nom à votre répertoire. Notez cependant que DDEV ne gère pas bien les noms avec trait d’union. Il est considéré comme une bonne pratique d’éviter les noms de répertoire comme my-project ou drupal-site-1.

      Créez le répertoire root de votre projet et naviguez à l’intérieur :

      DDEV excelle dans la création d’arborescences de répertoires qui correspondent à des plateformes CMS spécifiques. Utilisez la commande ddev config pour créer une structure de répertoire spécifique à Drupal 9 :

      • ddev config --project-type=drupal9 --docroot=web --create-docroot

      Vous verrez un résultat similaire à ce qui suit :

      Output

      Creating a new ddev project config in the current directory (/Users/sammy/d9test) Once completed, your configuration will be written to /Users/sammy/d9test/.ddev/config.yaml Created docroot at /Users/sammy/d9test/web You have specified a project type of drupal9 but no project of that type is found in /Users/sammy/d9test/web Ensuring write permissions for d9new No settings.php file exists, creating one Existing settings.php file includes settings.ddev.php Configuration complete. You may now run 'ddev start'.

      Parce que vous avez passé --project-type=drupal9 à votre commande ddev config, DDEV a créé plusieurs sous-répertoires et fichiers qui représentent l’organisation par défaut pour un site Drupal. L’arborescence de votre répertoire de projets ressemblera désormais à ceci :

      A Drupal 9 directory tree

      .
      ├── .ddev
      │   ├── .gitignore
      │   ├── config.yaml
      │   ├── db-build
      │   │   └── Dockerfile.example
      │   └── web-build
      │       └── Dockerfile.example
      └── web
          └── sites
              └── default
                  ├── .gitignore
                  ├── settings.ddev.php
                  └── settings.php
      
      6 directories, 7 files
      

      ddev/ sera le dossier principal pour la configuration de ddev. web/ sera le root documentaire de votre nouveau projet ; il contiendra plusieurs fichiers settings. spécifiques. Vous disposez maintenant de la structure initiale pour votre nouveau projet Drupal.

      Votrte prochaine étape consiste à initialiser votre plate-forme, qui permettra de construire les conteneurs et les configurations de réseau nécessaires.  DDEV se lie aux ports 80 et 443, donc si vous utilisez un serveur web comme Apache sur votre machine, ou tout autre chose qui utilise ces ports, arrêtez ces services avant de continuer.

      Utilisez la commande ddev start pour initialiser votre plate-forme :

      Cela permettra de construire tous les conteneurs basés sur Docker pour votre projet, qui comprennent un conteneur web, un conteneur de base de données et phpmyadmin. Une fois l’initialisation terminée, vous verrez un résultat comme celui-ci (votre numéro de port peut être différent) :

      Output

      ... Successfully started d9test Project can be reached at http://d9test.ddev.site http://127.0.0.1:32773

      Note : N’oubliez pas que DDEV démarre les conteneurs Docker en arrière-plan ici. Si vous voulez voir ces conteneurs ou vérifier qu’ils fonctionnent, vous pouvez toujours utiliser la commande docker ps :

      En plus des autres conteneurs que vous utilisez actuellement, vous trouverez quatre nouveaux conteneurs, chacun avec une image différente : php-myadmin, ddev-webserver, ddev-router, et ddev-dbserver-mariadb.

      ddev start a réussi à construire vos conteneurs et vous a donné une sortie avec deux URL. Bien que cette sortie indique que votre projet « can be reached at http://d9test.ddev.site and http://127.0.0.1:32773 », le fait de visiter ces URL maintenant entraînera une erreur. À partir de Drupal 8, le noyau de Drupal et les modules contrib fonctionnent comme des dépendances. Par conséquent, vous devez d’abord terminer l’installation de Drupal à l’aide de Composer, le gestionnaire de paquets pour les projets PHP, avant que tout ne se charge dans votre navigateur web.

      L’une des caractéristiques les plus utiles et les plus élégantes de DDEV est que vous pouvez passer les commandes de Composer par le CLI de DDEV et dans votre environnement conteneurisé. Cela signifie que vous pouvez séparer la configuration spécifique de votre machine de votre environnement de développement. Vous n’avez plus à gérer les différents problèmes de chemin de fichier, de dépendance et de version qui accompagnent généralement le développement local de PHP. De plus, vous pouvez rapidement changer de contexte entre plusieurs projets utilisant différents cadres et piles techniques avec un minimum d’effort.

      Utilisez la commande ddev composer pour télécharger drupal/recommended-project. Cela permettra de télécharger le noyau de Drupal, ses bibliothèques et d’autres ressources connexes, puis de créer un projet par défaut :

      • ddev composer create "drupal/recommended-project"

      Téléchargez maintenant un dernier composant appelé Drush, ou Drupal Shell. Ce tutoriel n’utilisera qu’une seule commande drush, et ce tutoriel fournit une alternative, mais drush est un CLI puissant pour le développement de Drupal qui peut améliorer votre efficacité.

      Utilisez ddev composer pour installer drush :

      • ddev composer require "drush/drush"

      Vous avez maintenant construit un projet Drupal 9 par défaut et installé drush. Vous allez maintenant visualiser votre projet dans un navigateur et configurer les paramètres de votre site web.

      Étape 3 — Configuration de votre projet Drupal 9

      Maintenant que vous avez installé Drupal 9, vous pouvez visiter votre nouveau projet dans votre navigateur. Pour ce faire, vous pouvez relancer ddev start et copier l’une des deux URL qu’il produit, ou vous pouvez utiliser la commande suivante, qui lancera automatiquement votre site dans une nouvelle fenêtre de navigateur :

      Vous y trouverez l’assistant d’installation standard de Drupal.

      Installateur Drupal 9 à partir du navigateur

      Vous avez ici deux possibilités. Vous pouvez utiliser cette interface utilisateur et suivre l’assistant tout au long de l’installation, ou vous pouvez retourner à votre terminal et passer une commande drush via ddev. Cette dernière option automatisera le processus d’installation et définira admin comme votre nom d’utilisateur et votre mot de passe.

      Option 1 — Utiliser l’assistant

      Retournez à l’assistant dans votre navigateur. Sous Choose language, sélectionnez une langue dans le menu déroulant et cliquez sur Save and continue. Sélectionnez maintenant un profil d’installation. Vous pouvez choisir entre Standard , Minimal , et Demo. Faites votre choix, puis cliquez sur Save and continue.  Drupal vérifiera automatiquement vos besoins, mettra en place une base de données et installera votre site. La dernière étape consiste à personnaliser quelques configurations. Ajoutez un nom de site et une adresse électronique de site qui se termine par votre domaine. Choisissez ensuite un nom d’utilisateur et un mot de passe. Choisissez un mot de passe fort et conservez vos informations d’identification dans un endroit sûr. Enfin, ajoutez une adresse électronique privée que vous vérifiez régulièrement, remplissez les paramètres régionaux, puis appuyez sur Save and continue.

      Message de bienvenue de Drupal 9 avec un avertissement sur les autorisations

      Votre nouveau site sera chargé avec un message de bienvenue.

      Option 2 — Utilisation de la ligne de commande

      Depuis le répertoire root de votre projet, lancez la commande ddev exec pour installer un site Drupal par défaut en utilisant drush :

      • ddev exec drush site:install --account-name=admin --account-pass=admin

      Votre site sera créé de la même manière que l’assistant, mais avec quelques configurations standard. Votre nom d’utilisateur et votre mot de passe seront admin.

      Lancez maintenant le site pour le visualiser dans votre navigateur :

      Vous êtes maintenant prêt à commencer à construire votre site web, mais il est considéré comme une bonne pratique de vérifier que vos autorisations sont correctes pour le répertoire /sites/web/default. Lorsque vous travaillez localement, ce n’est pas une préoccupation importante, mais si vous transférez ces autorisations à un serveur de production, elles poseront un risque de sécurité.

      Étape 4 — Vérifier vos autorisations

      Pendant l’installation de l’assistant, ou lors du premier chargement de votre page d’accueil, vous pouvez voir un avertissement concernant les paramètres des permissions dans votre répertoire /sites/web/default et un fichier à l’intérieur de ce répertoire : settings.php.

      Après l’exécution du script d’installation, Drupal essaiera de définir les permissions read et execute pour le répertoire web/sites/default, pour tous les groupes : il s’agit d’un paramètre de permissions 555. read only, ou 444. Si vous rencontrez cet avertissement, exécutez ces deux commandes `chmod` du répertoire root de votre projet. Tout manquement à cette obligation constitue un risque pour la sécurité :

      • chmod 555 web/sites/default
      • chmod 444 web/sites/default/settings.php

      Pour vérifier que vous avez les bonnes autorisations, exécutez la commande ls avec les boutons a , l , h et d :

      • ls -alhd web/sites/default web/sites/default/settings.php

      Vérifiez que vos autorisations correspondent à la sortie suivante :

      Output

      dr-xr-xr-x 8 sammy staff 256 Jul 21 12:56 web/sites/default -r--r--r-- 1 sammy staff 249 Jul 21 12:12 web/sites/default/settings.php

      Vous êtes maintenant prêt(e) à développer un site web Drupal 9 sur votre machine locale.

      Étape 5 — Créer votre premier article dans Drupal

      Pour tester certaines des fonctionnalités de Drupal, vous allez maintenant créer un message en utilisant l’interface utilisateur du web.

      Depuis la page initiale de votre site, cliquez sur le bouton Content dans le menu supérieur à gauche. Cliquez maintenant sur le bouton bleu add content. Une nouvelle page apparaîtra. Cliquez sur Article, et une autre page apparaîtra.

      Drupal 9 Créer une invite d'article  

      Ajoutez le titre et le contenu que vous souhaitez. Vous pouvez également ajouter une image, comme l’un des fonds d’écran de DigitalOcean . Lorsque vous êtes prêt, cliquez sur le bouton bleu save.

      Votre premier article apparaîtra sur votre site web.

      Création d'article par Drupal 9  

      Vous développez maintenant un site web Drupal 9 sur votre machine locale sans jamais interagir avec un serveur grâce à Docker et DDEV. Dans l’étape suivante, vous gérerez le conteneur DDEV afin d’adapter votre flux de travail.

      Étape 6 — Gérer le conteneur DDEV

      Lorsque vous avez terminé le développement de votre projet, ou lorsque vous souhaitez faire une pause, vous pouvez arrêter votre conteneur DDEV sans vous soucier de la perte de données. DDEV peut gérer un changement rapide de contexte parmi de nombreux projets ; c’est l’une de ses caractéristiques les plus utiles. Votre code et vos données sont toujours conservés dans le répertoire de votre projet, même après que vous ayez arrêté ou supprimé le conteneur DDEV.

      Pour libérer des ressources, vous pouvez arrêter DDEV à tout moment. Depuis le répertoire root de votre projet, exécutez la commande suivante :

      DDEV est disponible dans le monde entier, vous pouvez donc exécuter des commandes ddev depuis n’importe quel endroit, à condition de spécifier le projet DDEV :

      Vous pouvez également consulter tous vos projets en même temps en utilisant ddev list :

      DDEV comprend de nombreuses autres commandes utiles.

      Vous pouvez à tout moment relancer DDEV et continuer à vous développer localement.

      Conclusion

      Dans ce tutoriel, vous avez utilisé Docker et la puissance de la conteneurisation pour développer un site Drupal localement, avec l’aide de DDEV. DDEV s’intègre également bien avec de nombreux EDI et fournit un débogage PHP intégré pour Atom, PHPStorm et Visual Studio Code (vscode). Vous pouvez également en apprendre davantage sur la création d’environnements de développement pour Drupal avec DDEV ou sur le développement d’autres cadres PHP comme WordPress .



      Source link

      How To Develop a Drupal 9 Website on Your Local Machine Using Docker and DDEV


      The author selected the Diversity in Tech Fund to receive a donation as part of the Write for DOnations program.

      Introduction

      DDEV is an open-source tool that uses Docker to build local development environments for many different PHP frameworks. Using the power of containerization, DDEV can greatly simplify how you work on multiple projects that use multiple tech stacks and multiple cloud servers. DDEV includes templates for WordPress, Laravel, Magento, TYPO3, Drupal, and more.

      Drupal 9 was released on June 3, 2020 for the Drupal CMS. Known for its ease of use and a massive library of modules and themes, Drupal is a popular PHP framework for building and maintaining various websites and applications of all sizes.

      In this tutorial, you will begin developing a Drupal 9 website on your local machine using DDEV. This will allow you to build your website first, and then later, when you are ready, deploy your project to a production server.

      Prerequisites

      To complete this tutorial, you will need:

      Note: It is possible to develop Drupal 9 using DDEV on a remote server, but you will need a solution to access localhost in a web browser. The DDEV command ddev share works with ngrok, which creates a secure tunnel into your server for you and other stakeholders to view your development site. For personal use, you could also install a GUI on your remote server and access your development site through a web browser inside that interface. To do this, you could follow our guide on how to install and configure VNC on Ubuntu 20.04. For an even quicker GUI solution you can follow our guide on how to set up a remote desktop with X2Go on Ubuntu 20.04.

      Step 1 — Installing DDEV

      In this step you will install DDEV on your local machine. Option 1 includes instructions for macOS while Option 2 provides instructions for Linux. This tutorial was tested on DDEV version 1.15.0.

      Option 1 — Installing DDEV on macOS

      DDEV advises that macOS users install their tool using the Homebrew package manager. Use the following brew command to install the newest stable release:

      • brew tap drud/ddev && brew install drud/ddev/ddev

      If you prefer the absolute newest version, you can use brew to install ddev-edge:

      • brew tap drud/ddev-edge && brew install drud/ddev-edge/ddev

      If you already have a version of DDEV installed, or if you ever wish to update your version, shut down DDEV and use brew to update your installation:

      • ddev poweroff
      • brew upgrade ddev

      Once you have installed or updated DDEV, run ddev version to verify your software:

      You will see an output like this:

      Output

      DDEV-Local version v1.15.0 commit v1.15.0 db drud/ddev-dbserver-mariadb-10.2:v1.15.0 dba phpmyadmin/phpmyadmin:5 ddev-ssh-agent drud/ddev-ssh-agent:v1.15.0 docker 19.03.8 docker-compose 1.25.5 os darwin router drud/ddev-router:v1.15.0 web drud/ddev-webserver:v1.15.0

      DDEV includes a powerful CLI, or command line interface. Run ddev to learn about some common commands:

      You will see the following output:

      Output

      Create and maintain a local web development environment. Docs: https://ddev.readthedocs.io Support: https://ddev.readthedocs.io/en/stable/#support Usage: ddev [command] Available Commands: auth A collection of authentication commands composer Executes a composer command within the web container config Create or modify a ddev project configuration in the current directory debug A collection of debugging commands delete Remove all project information (including database) for an existing project describe Get a detailed description of a running ddev project. exec Execute a shell command in the container for a service. Uses the web service by default. export-db Dump a database to a file or to stdout help Help about any command hostname Manage your hostfile entries. import-db Import a sql file into the project. import-files Pull the uploaded files directory of an existing project to the default public upload directory of your project. list List projects logs Get the logs from your running services. pause uses 'docker stop' to pause/stop the containers belonging to a project. poweroff Completely stop all projects and containers pull Pull files and database using a configured provider plugin. restart Restart a project or several projects. restore-snapshot Restore a project's database to the provided snapshot version. sequelpro This command is not available since sequel pro.app is not installed share Share project on the internet via ngrok. snapshot Create a database snapshot for one or more projects. ssh Starts a shell session in the container for a service. Uses web service by default. start Start a ddev project. stop Stop and remove the containers of a project. Does not lose or harm anything unless you add --remove-data. version print ddev version and component versions Flags: -h, --help help for ddev -j, --json-output If true, user-oriented output will be in JSON format. -v, --version version for ddev Use "ddev [command] --help" for more information about a command.

      For more information about using the DDEV CLI, visit the official DDEV documentation.

      With DDEV installed on your local machine, you are now ready to install Drupal 9 and begin developing a website.

      Option 2 — Installing DDEV on Linux

      On a Linux operating system, you can install DDEV using Homebrew for Linux or using the official installation script. On Ubuntu, begin by updating your list of packages in the apt package manager (you can use apt in Debian, otherwise use the equivalent package manager associated with your Linux distribution):

      Now install some prerequisite packages from Ubuntu’s official repository:

      • sudo apt install build-essential apt-transport-https ca-certificates software-properties-common curl

      These packages will allow you to download the DDEV installation script from their official GitHub repository.

      Now download the script:

      • curl -O https://raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh

      Before running the script, open it in nano or your preferred text editor and inspect its contents:

      nano install_ddev.sh
      

      Once you have reviewed the script’s contents and you are satisfied, save and close the file. Now you are ready to run the installation script.

      Use the chmod command to make the script executable:

      Now run the script:

      The installation process might prompt you to confirm some settings or to enter your sudo password. Once the installation completes, you will have DDEV available on your Linux operating system.

      Run ddev version to verify your software:

      You will see an output like this:

      Output

      DDEV-Local version v1.15.0 commit v1.15.0 db drud/ddev-dbserver-mariadb-10.2:v1.15.0 dba phpmyadmin/phpmyadmin:5 ddev-ssh-agent drud/ddev-ssh-agent:v1.15.0 docker 19.03.8 docker-compose 1.25.5 os linux router drud/ddev-router:v1.15.0 web drud/ddev-webserver:v1.15.0

      DDEV is a powerful CLI, or command line interface. Run ddev without anything else to learn about some common commands:

      You will see the following output:

      Output

      Create and maintain a local web development environment. Docs: https://ddev.readthedocs.io Support: https://ddev.readthedocs.io/en/stable/#support Usage: ddev [command] Available Commands: auth A collection of authentication commands composer Executes a composer command within the web container config Create or modify a ddev project configuration in the current directory debug A collection of debugging commands delete Remove all project information (including database) for an existing project describe Get a detailed description of a running ddev project. exec Execute a shell command in the container for a service. Uses the web service by default. export-db Dump a database to a file or to stdout help Help about any command hostname Manage your hostfile entries. import-db Import a sql file into the project. import-files Pull the uploaded files directory of an existing project to the default public upload directory of your project. list List projects logs Get the logs from your running services. pause uses 'docker stop' to pause/stop the containers belonging to a project. poweroff Completely stop all projects and containers pull Pull files and database using a configured provider plugin. restart Restart a project or several projects. restore-snapshot Restore a project's database to the provided snapshot version. sequelpro This command is not available since sequel pro.app is not installed share Share project on the internet via ngrok. snapshot Create a database snapshot for one or more projects. ssh Starts a shell session in the container for a service. Uses web service by default. start Start a ddev project. stop Stop and remove the containers of a project. Does not lose or harm anything unless you add --remove-data. version print ddev version and component versions Flags: -h, --help help for ddev -j, --json-output If true, user-oriented output will be in JSON format. -v, --version version for ddev Use "ddev [command] --help" for more information about a command.

      For more information about using the DDEV CLI, you can visit the official DDEV documentation.

      With DDEV installed on your local machine, you are now ready to deploy Drupal 9 and begin developing a website.

      Step 2 — Deploying a New Drupal 9 Site Using DDEV

      With DDEV running, you will now use it to create a Drupal-specific filesystem, install Drupal 9, and then initiate a standard website project.

      First, you will create a project root directory and then move inside it. You will run all remaining commands from this location. This tutorial will use d9test, but you are free to name your directory something else. Note, however, that DDEV doesn’t handle hyphenated names well. It is considered a best practice to avoid directory names like my-project or drupal-site-1.

      Create your project root directory and navigate inside:

      DDEV excels at creating directory trees that match specific CMS platforms. Use the ddev config command to create a directory structure specific to Drupal 9:

      • ddev config --project-type=drupal9 --docroot=web --create-docroot

      You will see an output like this:

      Output

      Creating a new ddev project config in the current directory (/Users/sammy/d9test) Once completed, your configuration will be written to /Users/sammy/d9test/.ddev/config.yaml Created docroot at /Users/sammy/d9test/web You have specified a project type of drupal9 but no project of that type is found in /Users/sammy/d9test/web Ensuring write permissions for d9new No settings.php file exists, creating one Existing settings.php file includes settings.ddev.php Configuration complete. You may now run 'ddev start'.

      Because you passed --project-type=drupal9 to your ddev config command, DDEV created several subdirectories and files that represent the default organization for a Drupal website. Your project directory tree will now look like this:

      A Drupal 9 directory tree

      .
      ├── .ddev
      │   ├── .gitignore
      │   ├── config.yaml
      │   ├── db-build
      │   │   └── Dockerfile.example
      │   └── web-build
      │       └── Dockerfile.example
      └── web
          └── sites
              └── default
                  ├── .gitignore
                  ├── settings.ddev.php
                  └── settings.php
      
      6 directories, 7 files
      

      .ddev/ will be the main folder for the ddev configuration. web/ will be the docroot for your new project; it will contain several specific settings. files. You now have the initial scaffolding for your new Drupal project.

      Your next step is to initialize your platform, which will build the necessary containers and networking configurations. DDEV binds to ports 80 and 443, so if you are running a web server like Apache on your machine, or anything else that uses those ports, stop those services before continuing.

      Use the ddev start command to initialize your platform:

      This will build all the Docker-based containers for your project, which include a web container, a database container, and phpmyadmin. When the initialization completes you will see an output like this (your port number might differ):

      Output

      ... Successfully started d9test Project can be reached at http://d9test.ddev.site http://127.0.0.1:32773

      Note: Remember that DDEV is starting Docker containers behind the scenes here. If you want to view those containers or verify that they are running, you can always use the docker ps command:

      Alongside any other containers that you are currently running, you will find four new containers, each running a different image: php-myadmin, ddev-webserver, ddev-router, and ddev-dbserver-mariadb.

      ddev start has successfully built your containers and given you an output with two URLs. While this output says that your project “can be reached at http://d9test.ddev.site and http://127.0.0.1:32773,” visiting these URLs right now will throw an error. Starting with Drupal 8, the Drupal core and the contrib modules function like dependencies. Therefore, you’ll first need to finish installing Drupal using Composer, the package manager for PHP projects, before anything loads in your web browser.

      One of the most useful and elegant features of DDEV is that you can pass Composer commands through the DDEV CLI and into your containerized environment. This means that you can separate your machine’s specific configuration from your development environment. You no longer have to manage the various file path, dependency, and version issues that generally accompany local PHP development. Moreover, you can quickly context-switch between multiple projects using different frameworks and tech stacks with minimal effort.

      Use the ddev composer command to download drupal/recommended-project. This will download Drupal core, its libraries, and other related resources and then create a default project:

      • ddev composer create "drupal/recommended-project"

      Now download one final component called Drush, or Drupal Shell. This tutorial will only use one drush command, and this tutorial provides an alternative, but drush is a powerful CLI for Drupal development that can improve your efficiency.

      Use ddev composer to install drush:

      • ddev composer require "drush/drush"

      You have now built a default Drupal 9 project and installed drush. Now you will view your project in a browser and configure your website’s settings.

      Step 3 — Configuring Your Drupal 9 Project

      Now that you have installed Drupal 9 you can visit your new project in your browser. To do this, you can rerun ddev start and copy one of the two URLs that it outputs, or you can use the following command, which will automatically launch your site in a new browser window:

      You will encounter the standard Drupal installation wizard.

      Drupal 9 installer from browser

      Here you have two options. You can use this UI and follow the wizard through installation, or you can return to your terminal and pass a drush command through ddev. The latter option will automate the installation process and set admin as both your username and password.

      Option 1 — Using the Wizard

      Return to the wizard in your browser. Under Choose language select a language from the drop-down menu and click Save and continue. Now select an installation profile. You can choose between Standard, Minimal, and Demo. Make your choice and then click Save and continue. Drupal will automatically verify your requirements, set up a database, and install your site. Your last step is to customize a few configurations. Add a site name and a site email address that ends in your domain. Then choose a username and password. Choose a strong password and keep your credentials somewhere safe. Lastly, add a private email address that you regularly check, fill in the regional settings, and press Save and continue.

      Drupal 9 welcome message with a warning about permissions

      Your new site will load with a welcome message.

      Option 2 — Using the Command Line

      From your project’s root directory, run this ddev exec command to install a default Drupal site using drush:

      • ddev exec drush site:install --account-name=admin --account-pass=admin

      This will create your site just like the wizard will but with some boilerplate configurations. Your username and password will be admin.

      Now launch the site to view it in your browser:

      You are now ready to begin building your website, but it is considered best practice to check that your permissions are correct for the /sites/web/default directory. While you are working locally, this is not a significant concern, but if you transfer these permissions to a production server, they will pose a security risk.

      Step 4 — Checking Your Permissions

      During the wizard installation, or when your welcome page first loads, you might see a warning about the permissions settings on your /sites/web/default directory and one file inside that directory: settings.php.

      After the installation script runs, Drupal will try to set the web/sites/default directory permissions to read and execute for all groups: this is a 555 permissions setting. It will also attempt to set permissions for default/settings.php to read-only, or 444. If you encounter this warning, run these two chmod commands from your project’s root directory. Failure to do so poses a security risk:

      • chmod 555 web/sites/default
      • chmod 444 web/sites/default/settings.php

      To verify that you have the correct permissions, run this ls command with the a, l, h, and d switches:

      • ls -alhd web/sites/default web/sites/default/settings.php

      Check that your permissions match the following output:

      Output

      dr-xr-xr-x 8 sammy staff 256 Jul 21 12:56 web/sites/default -r--r--r-- 1 sammy staff 249 Jul 21 12:12 web/sites/default/settings.php

      You are now ready to develop a Drupal 9 website on your local machine.

      Step 5 — Creating Your First Post in Drupal

      To test some of Drupal’s functionality, you will now create a post using the web UI.

      From your site’s initial page, click the Content button on the upper menu’s left-hand edge. Now click the blue add content button. A new page will appear. Click Article, and another page will appear.

      Drupal 9 Create Article Prompt

      Add whatever title and content you like. You can add an image, too, like one of DigitalOcean’s wallpapers. When ready, click the blue save button.

      Your first post will appear on your website.

      Drupal 9 Created Post

      You are now developing a Drupal 9 website on your local machine without ever interacting with a server, thanks to Docker and DDEV. In the following step, you will manage the DDEV container to accomodate your workflow.

      Step 6 — Managing the DDEV Container

      When you have finished developing your project, or when you want to take a break, you can stop your DDEV container without worrying about data loss. DDEV can manage rapid context-switching among many projects; this is one of its most useful features. Your code and data are always preserved in your project directory, even after you stop or delete the DDEV container.

      To free up resources, you can stop DDEV at any time. From your project’s root directory, run the following command:

      DDEV is available globally, so you can run ddev commands from anywhere, as long as you specify the DDEV project:

      You can also view all your projects at once using ddev list:

      DDEV includes many other useful commands.

      You can restart DDEV and continue developing locally at any time.

      Conclusion

      In this tutorial, you used Docker and the power of containerization to develop a Drupal site locally, with the help of DDEV. DDEV also integrates well with numerous IDEs, and it provides built-in PHP debugging for Atom, PHPStorm, and Visual Studio Code (vscode). From here, you can also learn more about creating development environments for Drupal with DDEV or developing other PHP frameworks like WordPress.



      Source link

      Настройка многоузловых развертываний с Rancher 2.1, Kubernetes и Docker Machine в Ubuntu 18.04


      Автор выбрал Code Org для получения пожертвования в рамках программы Write for DOnations.

      Введение

      Rancher — это популярная платформа управления контейнерами с открытым исходным кодом. Выпущенная в начале 2018 года версия Rancher 2.X работает на Kubernetes и включает новые инструменты, такие как управление несколькими кластерами и встроенные CI конвейеры. Помимо повышенной безопасности, масштабируемости и простых инструментов развертывания, уже имеющихся в Kubernetes, Rancher предлагает графический пользовательский интерфейс, упрощающий управление контейнерами. Благодаря графическому интерфейсу Rancher пользователи смогут управлять секретами, безопасно обрабатывать роли и разрешения, масштабировать узлы и поды, а также выполнять настройку средств распределения нагрузки и томов без необходимости использования инструментов командной строки или сложных файлов YAML.

      В этом руководстве мы будем разворачивать многоузловой сервер Rancher 2.1 с помощью Docker Machine в Ubuntu 18.04. По окончании руководства вы сможете предоставить новые дроплеты DigitalOcean и поды контейнеров через пользовательский интерфейс Rancher для быстрого расширения или сокращения вашей среды хостинга.

      Предварительные требования

      Перед прохождением этого обучающего руководства вам потребуется учетная запись DigitalOcean, а также следующее:

      • Маркер персонального доступа DigitalOcean, который вы можете создать в соответствии с указаниями этого руководства. Этот маркер позволит Rancher получить через API доступ к учетной записи DigitalOcean.

      • Полное зарегистрированное доменное имя с записью A, которая указывает на IP-адрес дроплета, создаваемый на шаге 1. Вы можете узнать, как привязывать домены к дроплетам DigitalOcean, ознакомившись с документацией по доменам и DNS DigitalOcean. В данном руководстве замените example.com на ваш домен.

      Шаг 1 — Создание дроплета с установленным Docker

      Чтобы запустить и настроить Rancher, вам нужно будет создать новый дроплет с установленным Docker. Для этого нужно использовать образ Docker DigitalOcean.

      Войдите в учетную запись DigitalOcean и выберите Create Droplet (Создать дроплет). Затем в разделе Choose an Image (Выбрать образ) выберите вкладку Marketplace (Магазин). Выберите Docker 18.06.1~ce~3 on 18.04.

      Выберите образ Docker 18.06 в меню доступных одним нажатием приложений

      Далее выберите дроплет размером не менее 2 ГБ и укажите регион центра обработки данных для вашего дроплета.

      После этого добавьте ключи SSH, укажите имя хоста для дроплета и нажмите Create (Создать).

      Может потребоваться несколько минут для организации работы сервера и загрузки Docker. После успешного развертывания дроплета вы можете запустить Rancher в новом контейнере Docker.

      Шаг 2 — Запуск и настройка Rancher

      Дроплет, созданный на шаге 1, будет запускать Rancher в контейнере Docker. На этом шаге вы запустите контейнер Rancher и убедитесь, что у него есть сертификат SSL от Let’s Encrypt для получения защищенного доступа к панели администратора Rancher. Let’s Encrypt — это автоматизированный издатель сертификатов с открытым исходным кодом, позволяющий разработчикам получать действующие в течение 90 дней сертификаты SSL бесплатно.

      Выполните вход в новый дроплет:

      Чтобы убедиться, что Docker запущен, введите:

      Проверьте, что указанная версия Docker соответствует вашим ожиданиям. Вы можете запустить Rancher с уже установленным сертификатом Let’s Encrypt с помощью следующей команды:

      • docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /host/rancher:/var/lib/rancher rancher/rancher --acme-domain example.com

      Параметр --acme-domain устанавливает сертификат SSL от Let’s Encrypt для обеспечения того, что администратор Rancher обслуживается через HTTPS. Этот скрипт также указывает дроплету выполнить выборку образа Docker rancher/rancher и запускать экземпляр Rancher в контейнере, который автоматически перезапускается в случае аварийного завершения работы. Для облегчения восстановления в случае потери данных скрипт монтирует том на компьютер хоста (в /host/rancher), который содержит данные Rancher.

      Для просмотра всех запущенных контейнеров введите:

      Вы увидите примерно следующий вывод (с уникальным идентификатором и именем контейнера):

      Output

      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7b2afed0a599 rancher/rancher "entrypoint.sh" 12 seconds ago Up 11 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp wizardly_fermat

      Если контейнер не запущен, вы можете снова запустить команду docker run.

      Прежде чем вы сможете получить доступ к панели администратора Rancher, вам нужно будет задать пароль администратора и URL-адрес сервера Rancher. Интерфейс администратора Rancher позволит вам получить доступ ко всем запущенным узлам, подам и секретам, поэтому важно использовать надежный пароль.

      Перейдите к доменному имени, которое указывает на ваш новый дроплет, в браузере. При первом посещении этого адреса Rancher попросит задать пароль:

      Установка пароля Rancher с помощью диалогового окна

      При запросе URL-адреса сервера Rancher используйте доменное имя, указывающее на ваш дроплет.

      Теперь, когда вы выполнили настройку сервера Rancher, вы увидите домашний экран администратора Rancher:

      Домашний экран администратора Rancher

      Вы можете перейти к настройке кластера Rancher.

      Шаг 3 — Настройка кластера с одним узлом

      Для использования Rancher вам потребуется создать кластер с как минимум одним узлом. Кластер — это группа с одним или несколькими узлами. В этом руководстве вы найдете более подробную информацию об архитектуре Kubernetes. В настоящем руководстве узлы соответствуют дроплетам, которыми управляет Rancher. Поды представляют собой группу запущенных контейнеров Docker внутри дроплета. Каждый узел может запускать множество подов. В пользовательском интерфейсе Rancher вы можете настроить кластеры и узлы в лежащей в его основе среде Kubernetes.

      К концу этого шага у вас должен быть настроенный кластер с одним узлом, готовый к запуску первого пода.

      В Rancher нажмите Add Cluster (Добавить кластер) и выберите DigitalOcean в качестве поставщика инфраструктуры.

      Выбор DigitalOcean из включенных в список поставщиков инфраструктуры

      Откройте меню Cluster Name (Имя кластера) и прокрутите до раздела Node Pools (Пулы узлов). Введите Name Prefix (Префикс имени), оставьте значение 1 для параметра Count (Счетчик) и проверьте etcd, Control Plane (Уровень управления) и Worker (Рабочее приложение).

      • etcd — это система хранения значения ключа Kubernetes для сохранения состояния вашей среды. Для обеспечения высокой доступности вам нужно запустить три или пять узлов etcd, чтобы, если один из узлов перестанет работать, ваша среда оставалась под контролем.
      • Control Plane (Уровень управления) проверяет все объекты Kubernetes, например поды, в вашей среде и поддерживает их соответствие конфигурации, которую вы задаете в интерфейсе администратора Rancher.
      • Workers (Рабочие приложения) запускают действующие рабочие нагрузки и агенты мониторинга, которые обеспечивают, что ваши контейнеры будут работать и останутся подключены к сети. Рабочие узлы — это место, где ваши поды будут запускать программное обеспечение, которое вы разворачиваете.

      Создание пула узлов с одним узлом

      Перед созданием кластера нажмите Add Template Node (Добавить шаблон узла) для настройки конкретных параметров вашего нового узла.

      Введите персональный маркер доступа DigitalOcean в поле ввода Access Token (Маркер доступа) и нажмите Next: Configure Droplet (Далее: настройка дроплета).

      Далее выберите тот же Region (Регион) и Droplet Size (Размер дроплета), что и в шаге 1. Для Image (Образ) выберите Ubuntu 16.04.5 x64, так как в настоящее время существует проблема совместимости Rancher с Ubuntu 18.04. Нажмите Create (Создать) для сохранения шаблона.

      После этого нажмите Create (Создать) на странице Add Cluster (Добавить кластера) для завершения процесса предоставления. Rancher потребуется несколько минут на выполнение этого шага, но после завершения работы вы увидите новый дроплет в панели управления дроплетов DigitalOcean.

      На этом шаге вы создали новый кластер и узел, где вы будете разворачивать рабочую нагрузку в следующем разделе.

      Шаг 4 — Развертывание рабочей нагрузки веб-приложения

      Когда новый кластер и узел будут готовы, вы можете развернуть ваш первый под в рабочей нагрузке. Под Kubernetes — это самая маленькая часть работы, доступная в Kubernetes и расширении Rancher. Рабочие нагрузки описывают одну группу подов, которые вы разворачиваете вместе. Например, вы можете запустить несколько подов вашего веб-сервера в одной рабочей нагрузке, чтобы убедиться, что, если один под замедляется при получении конкретного запроса, другие экземпляры могут обрабатывать входящие запросы. В этом разделе вы должны будете развернуть образ Nginx Hello World в одном поде.

      Наведите курсор на Global (Глобально) в заголовке и выберите Default (По умолчанию). В результате будет отображена панель проекта по умолчанию. В этом руководстве вы будете работать над развертыванием отдельного проекта, но в этой панели управления вы также можете создать несколько проектов для получения сред для изолированных контейнеров.

      Для начала настройки первого пода нажмите Deploy (Развернуть).

      Откройте Name (Имя) и введите nginxdemos/hello в поле Docker Image (Образ Docker). Затем разметьте порт 80 в контейнере для порта 30000 на узлах хоста. Это позволит гарантировать, что поды, которые вы разворачивайте, будут доступны на каждом узле порта 30000. Вы можете оставить для параметра Protocol (Протокол) значение TCP, а в следующем выпадающем списке укажите NodePort.

      Примечание. Хотя этот метод запуска узла на порте каждого узла легче использовать, Rancher также включает Ingress для распределения нагрузки и прекращения работы SSL для использования в продакшене.

      Форма ввода для развертывания рабочей нагрузки

      Для запуска пода прокрутите до самого низа и нажмите Launch (Запустить).

      Rancher вернет вас на домашнюю страницу проекта по умолчанию, а в течение нескольких секунд ваш под будет готов. Нажмите ссылку 30000/tcp под именем рабочей нагрузки, и Rancher откроет новую вкладку с информацией о среде запущенного контейнера.

      Адрес сервера, имя сервера и другие результаты работы запущенного контейнера NGINX

      Адрес сервера и порт, которые вы видите на этой странице, повторяют данные внутренней сети Docker, а не являются публичным IP-адресом, который вы видите в браузере. Это означает, что Rancher работает и перенаправляет трафик с http://first_node_ip:30000/ на рабочую нагрузку, как и ожидалось.

      В данный момент вы успешно развернули вашу первую рабочую нагрузку одного пода на отдельном узле Rancher. Далее вы узнаете, как можно расширить вашу среду Rancher.

      Шаг 5 — Масштабирование узлов и подов

      Rancher предоставляет два способа масштабирования ресурсов хостинга: увеличение числа подов в вашей рабочей нагрузке или увеличение числа узлов вашего кластера.

      Добавление подов в вашу рабочую нагрузку будет предоставлять вашему приложению большее количество запущенных процессов. Это позволит ему обрабатывать больше трафика и добиться развертываний без остановки работы приложений, но каждый узел сможет обрабатывать только ограниченное количество подов. Когда все ваши узлы достигнут лимита на количество подов, вам нужно будет увеличить количество узлов, если вы захотите продолжить масштабирование вашего приложения.

      Еще одним соображением, которое нужно учитывать, является тот факт, что, хотя увеличение количества подов выполняется бесплатно, вам придется платить за каждый узел, добавляемый в вашу среду. На этом шаге вы сможете расширить количество узлов и подов, а также добавить дополнительный узел в ваш кластер Rancher.

      Примечание. В этой части руководства будет предоставлен новый дроплет DigitalOcean автоматически через API, поэтому вы должны учитывать, что запуск второго узла будет сопровождаться дополнительными расходами.

      Перейдите на домашнюю страницу кластера установки Rancher, выбрав Cluster: your-cluster-name в верхней панели навигации. Далее нажмите Nodes (Узлы) в верхней панели навигации.

      Использование выпадающего меню верхней панели для выбора кластера

      Эта страница показывает, что у вас в кластере есть один запущенный узел. Для добавления дополнительных узлов нажмите Edit Cluster (Изменить кластер) и прокрутите до раздела Node Pools (Пулы узлов) внизу страницы. Нажмите Add Node Pool (Добавить пул узлов), введите префикс и проверьте поле Worker (Рабочее приложение). Нажмите Save (Сохранить) для обновления кластера.

      Добавление пула узла в качестве единого рабочего приложения

      В течение 2–5 минут Rancher предоставит второй дроплет и отметит узел как Active (Активный) в панели управления кластера. Этот второй узел — только рабочее приложение, что означает, что он не будет использовать etcd Rancher или контейнеры панели управления. Это предоставляет рабочему приложению больше возможностей для запуска рабочих нагрузок.

      Примечание. При наличии нечетного числа узлов etcd будет гарантировано, что всегда можно будет достичь кворума (или консенсуса). Если у вас есть только один узел etcd, вы сталкиваетесь с риском того, что ваш кластер может стать недоступным, если этот один узел прекратит работу. В продакшен-среде лучше использовать три или пять узлов etcd.

      Когда второй узел будет готов, вы сможете увидеть рабочую нагрузку, которую вы развернули на предыдущем шаге, на этом узле, если перейдете на http://send_node_ip:30000/ в браузере.

      Масштабирование узлов позволяет вам использовать больше дроплетов для распределения ваших рабочих нагрузок, но вы также можете использовать несколько экземпляров каждого пода внутри рабочей нагрузки. Для добавления дополнительных подов вернитесь на страницу проекта по умолчанию, нажмите стрелку слева от рабочей нагрузки hello-world и нажмите + два раза для добавления двух новых подов.

      Запуск трех подов Hello World в рабочую нагрузку

      Rancher автоматически развернет несколько подов и распределит запущенные контейнеры на каждом узле, в зависимости от доступности.

      Теперь вы можете масштабировать ваши узлы и поды согласно требованиям вашего приложения.

      Заключение

      Вы выполнили развертывание нескольких узлов с помощью Rancher 2.1 в Ubuntu 18.04, а также расширили вашу конфигурацию до двух запущенных узлов и нескольких подов внутри рабочей нагрузки. Вы можете использовать эту стратегию для размещения и масштабирования любых контейнеров Docker, которые вам нужно запускать в вашем приложении, и использовать панель управления и оповещения Rancher для максимального повышения производительности ваших рабочих нагрузок и узлов внутри кластера.



      Source link