Cette page est destinée aux opérateurs d'infrastructure.
Anthos en mode privé est une version d'Anthos qui peut s'exécuter dans un environnement isolé totalement coupé d'Internet. Vous pouvez utiliser le mode privé d'Anthos pour exécuter des charges de travail très réglementées sur site, tout en bénéficiant de nombreux avantages des infrastructures cloud natives.
Introduction
L'architecture du mode privé d'Anthos est semblable à l'architecture de la version connectée d'Anthos sur solution Bare Metal : un cluster d'administrateur est utilisé pour créer et gérer les clusters d'utilisateur. Vos charges de travail s'exécutent sur les clusters d'utilisateur. Vous disposez également d'un poste de travail administrateur, qui est une machine unique contenant les outils nécessaires pour installer et gérer votre déploiement d'Anthos en mode privé.
Par rapport à la version connectée d'Anthos sur solution Bare Metal, Anthos en mode privé bénéficie de trois composants supplémentaires :
- Un registre de conteneurs facultatif qui s'exécute sur le poste de travail administrateur pour stocker toutes les images de conteneur Anthos (nécessaire dans un scénario où vous n'avez pas accès à Container Registry).
- Outil de ligne de commande
actl
qui permet d'installer le mode privé d'Anthos et d'effectuer d'autres tâches d'administration. - Anthos Management Center qui vous aide à gérer les autorisations et l'authentification, l'observabilité et la gestion des fonctionnalités multiclusters d'Anthos. Le centre de gestion inclut une console Web exécutée sur le cluster d'administrateur. L'interface utilisateur de la console du centre de gestion vous permet de gérer toutes les ressources qui composent le déploiement Anthos, y compris les machines, les pools d'adresses et les clusters d'utilisateurs. Vous pouvez également utiliser la console du centre de gestion pour gérer les fonctionnalités d'Anthos et surveiller vos charges de travail.
Figure : Architecture du mode privé Anthos.
Préparer l'environnement
Obtenez l'accès à la version du produit, téléchargez la dernière version et installez les dépendances.
Avant de commencer
Avant de suivre les instructions de cette page, assurez-vous de répondre aux exigences techniques d'Anthos en mode privé.
Accéder à Anthos en mode privé
Google doit vous autoriser à accéder aux versions d'Anthos en mode privé. Fournissez à votre contact Google une adresse e-mail pour chaque testeur afin que nous puissions leur accorder l'accès au dépôt de téléchargement. Ces adresses e-mail doivent être des comptes Google.
Lorsque votre point de contact Google confirme que vous avez accès aux versions d'Anthos en mode privé, vérifiez que vous disposez des autorisations nécessaires pour télécharger les versions d'Anthos en mode privé en exécutant la commande suivante :
gsutil ls gs://anthos-private-mode-release/
Si vous rencontrez une erreur, vérifiez que gsutil
utilise le même compte Google que celui que vous avez indiqué au point de contact Google en exécutant la commande gcloud auth list
.
Vous pouvez également accéder à la dernière version du bucket pour vérifier que vous disposez des autorisations appropriées. Vous devez être connecté avec le compte Google que vous avez fourni précédemment.
Si vous rencontrez des problèmes pour accéder aux versions d'Anthos en mode privé, contactez votre point de contact Google pour obtenir de l'aide.
Télécharger Anthos en mode privé
Dans cette section, vous téléchargez une version d'Anthos en mode privé contenue dans plusieurs fichiers pesant chacun plusieurs gigaoctets. Selon votre connexion Internet, le téléchargement peut prendre un certain temps.
Télécharger Anthos en mode privé
Sur votre poste de travail administrateur, exécutez les commandes suivantes :
# Login with the account granted access to Anthos private mode
gcloud auth login
# Download the script which helps download all the latest components
export VERSION=1.9.3-gke.0
# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.9/installing/infrastructure#download
export INSTALLER_DIGEST=ad410b7450e8ecaaa94821592dd0f49a1ade75e460e9ab18205c3b1364c6e910
export INSTALLER=get-anthos-private-mode-$VERSION.sh
gsutil cp gs://anthos-private-mode-release/$VERSION/$INSTALLER .
if [[ -n "$INSTALLER_DIGEST" ]]; then echo "$INSTALLER_DIGEST $INSTALLER" | sha256sum -c; fi && chmod +x $INSTALLER && ./$INSTALLER
# If you are working on a workstation shared with other users,
# we recommend that you revoke your credentials after downloading the release.
gcloud auth revoke YOUR_EMAIL_ADDRESS
Installer les dépendances restantes
Une fois le téléchargement d'Anthos en mode privé terminé, exécutez les commandes suivantes :
cd anthos-baremetal-private-mode
# Add actl command line tool and tools directory to the PATH
export PATH=$PWD/bin:$PATH
# Download Harbor offline installer
curl -SL \
https://github.com/goharbor/harbor/releases/download/v2.2.0/harbor-offline-installer-v2.2.0.tgz \
--output "local-registry/harbor-offline-installer.tgz"
# Install docker-compose
curl -SL \
https://github.com/docker/compose/releases/download/1.28.5/docker-compose-Linux-x86_64 \
--output "local-registry/docker-compose"
Seules deux étapes de la procédure nécessitent une connexion Internet. Si vous installez le mode privé d'Anthos dans un environnement entièrement isolé d'Internet, vous pouvez :
- Commencez par connecter votre poste de travail administrateur à Internet, puis téléchargez la version comme indiqué ci-dessus. Ensuite, déconnectez le poste de travail d'Internet, puis connectez-le à l'environnement isolé.
- Téléchargez la version à partir d'un poste de travail de développeur connecté à Internet, copiez-la sur un périphérique de stockage portable, puis déplacez ce périphérique de stockage portable vers votre poste de travail d'administrateur isolé.
Vous pouvez explorer le contenu de la version d'Anthos en mode privé :
./anthos-baremetal-private-mode
├── actl-workspace
│ └── admin
│ └── admin.yaml
├── baremetal
│ ├── images
│ └── package-spec.yaml
├── bin
│ ├── actl
│ ├── istioctl
│ └── nomos
├── local-registry
│ ├── cleanup.sh
│ ├── docker-compose
│ ├── generate-certs.sh
│ ├── harbor-offline-installer.tgz
│ └── install.sh
├── managementcenter
│ ├── images
│ └── management-center.yaml
├── services
│ ├── anthos-config-management
│ ├── anthos-service-mesh
│ └── images
├── third_party
└── updatecenter
└── images
- Le répertoire
local-registry
contient les ressources permettant de configurer un registre de conteneurs local. - D'autres répertoires tels que
managementcenter
,services
etbaremetal
contiennent tout ce dont vous avez besoin pour installer le cluster d'administrateur et le centre de gestion d'Anthos.
Facultatif : activer la saisie semi-automatique shell actl
L'outil de ligne de commande actl
est compatible avec la saisie semi-automatique de l'interface système pour Bash, Zsh et Fish. Vous pouvez configurer le processus dans votre interface système en suivant les instructions de actl help
completion
, par exemple dans Ubuntu/Debian, bash :
# One time setup: install bash-completion
sudo apt update && sudo apt install bash-completion
# In ~/.bashrc
source /etc/profile.d/bash_completion.sh
source <(actl completion bash)
Configurer votre registre de conteneurs
Le mode privé d'Anthos fonctionne en stockant les images de conteneurs Anthos dans un registre de conteneurs local. Vous pouvez utiliser votre propre registre de conteneurs existant ou le registre de conteneurs groupés d'Anthos en mode privé.
Exportez les variables d'environnement suivantes :
export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD
# By default, a public project called 'library' is created,
# and you can also create other public or private projects with the container registry portal.
export PRIVATE_REGISTRY=${REGISTRY_HOST}/library
Remplacez l'élément suivant :
REGISTRY_HOST
est l'adresse IP de votre registre. Si vous souhaitez installer et utiliser le registre de conteneurs d'Anthos en mode privé sur le poste de travail administrateur, utilisez ici l'adresse IP de votre poste de travail administrateur.REGISTRY_PASSWORD
est la valeur que vous avez définie pour le mot de passe du registre.
Si vous décidez d'utiliser votre propre registre de conteneurs, passez à la section Importer des images dans le registre de conteneurs.
Configurer le registre de conteneurs d'Anthos en mode privé
Dans cette section, vous allez configurer un registre de conteneurs privé sur le poste de travail administrateur. Exécutez toutes les commandes ci-dessous à partir du poste de travail administrateur.
Si vous ne disposez pas de votre propre registre de conteneurs privé, installez le registre de conteneurs d'Anthos en mode privé.
cd ~/anthos-baremetal-private-mode # Move it to a path under $PATH chmod a+x local-registry/docker-compose sudo cp local-registry/docker-compose /usr/bin # Install local registry ./local-registry/install.sh
Connectez-vous au registre pour vérifier que vous y avez accès. Si vous recevez une erreur, vous devrez peut-être attendre quelques secondes.
docker login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
Remarques :
- Le registre de conteneurs en mode privé d'Anthos n'est utilisé que pour l'installation du mode privé d'Anthos. Il n'est pas encore prêt pour une utilisation en production.
- Le projet de registre public par défaut est
library
. Il peut être utilisé par défaut. Cependant, vous pouvez vous connecter au registre et créer un projet si vous le souhaitez. - Le registre de conteneurs est disponible à l'adresse
https://REGISTRY_HOST/
après le démarrage du service. Les identifiants de connexion sont le nom d'utilisateuradmin
et le mot de passeREGISTRY_PASSWORD
. - Les identifiants sont stockés de manière non chiffrée dans
/home/<USER>/.docker/config.json
.
Importer des images dans le registre de conteneurs
Dans cette section, vous allez importer les images du conteneur d'Anthos en mode privé dans votre registre de conteneurs.
Préparez et importez les images du conteneur d'Anthos en mode privé dans votre registre de conteneurs. Si vous y êtes invité, choisissez l'option Use that credential
ou saisissez les nouveaux identifiants.
actl images push --private-registry=${PRIVATE_REGISTRY} \
--images ~/anthos-baremetal-private-mode
Remarque : Si vous utilisez un proxy HTTP sur votre poste de travail, vous devrez peut-être désactiver les variables d'environnement suivantes pour que la commande actl images push
fonctionne :
unset http_proxy
unset https_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
Facultatif : Importer des graphiques Helm dans le registre de conteneurs
Dans cette section, vous allez importer les graphiques facultatifs Helm en mode privé Anthos dans votre registre de conteneurs. La version 1.9 d'Anthos en mode privé inclut des graphiques Helm groupés pour deux solutions Google Cloud Marketplace : PostgreSQL et Redis. Ces piles logicielles Open Source populaires sont empaquetées par Google et conçues pour fonctionner dans des environnements déconnectés.
Préparez et importez les graphiques Helm en mode privé Anthos dans votre registre de conteneurs. Si vous y êtes invité, choisissez l'option
Use that credential
ou saisissez les nouveaux identifiants.actl packages push --private-registry=${PRIVATE_REGISTRY} \ ~/anthos-baremetal-private-mode/services/third_party-postgresql/package-spec.yaml actl packages push --private-registry=${PRIVATE_REGISTRY} \ ~/anthos-baremetal-private-mode/services/third_party-redis-ha/package-spec.yaml
Pour extraire les graphiques Helm en mode privé Anthos de votre registre de conteneurs, activez la compatibilité expérimentale avec Helm:
export HELM_EXPERIMENTAL_OCI=1
Si votre registre privé utilise un certificat autosigné, vous devez également mettre à jour les certificats des autorités de certification de votre système. Pour en savoir plus, consultez ce problème Helm.
sudo cp local-registry/ca.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
Connectez-vous au registre pour vérifier que vous y avez accès :
helm registry login ${REGISTRY_HOST} -u admin -p ${REGISTRY_PASSWORD}
Extrayez et exportez les graphiques Helm en mode privé Anthos à partir de votre registre de conteneurs :
helm chart pull ${PRIVATE_REGISTRY}/<CHART>:<TAG> helm chart export ${PRIVATE_REGISTRY}/<CHART>:<TAG> .