Guide d'installation d'Anthos en mode déconnecté
Champ d'application du guide de démarrage rapide d'Anthos en mode privé
Ce guide de démarrage rapide vous guide tout au long du processus d'installation d'Anthos en mode déconnecté en tant qu'opérateur d'infrastructure en charge de la couche d'infrastructure (les machines Bare Metal, la mise en réseau, le stockage et le système d'exploitation). Dans ce guide de démarrage rapide, vous allez apprendre à effectuer les actions suivantes :
- Installez et configurez Anthos en mode déconnecté en utilisant l'approche d'installation minimale.
- Déployer un cluster d'administrateur
- Créer un cluster d'utilisateur et déployez une application sur celui-ci
Anthos en mode déconnecté présente deux types de clusters :
- Les clusters d'administrateur permettent de créer et de gérer des clusters d'utilisateur.
- Les clusters d'utilisateur exécutent vos charges de travail.
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 déconnecté.
Avant de commencer
Assurez-vous de répondre aux exigences techniques d'Anthos en mode déconnecté et d'au moins cinq machines prêtes à être utilisées. Une expérience préalable de Kubernetes et de gestion du système est nécessaire pour ce guide de démarrage rapide.Préparer l'environnement
Accéder à Anthos en mode déconnecté
Google doit vous autoriser à accéder aux versions d'Anthos en mode déconnecté. 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 déconnecté, vérifiez que vous disposez des autorisations nécessaires pour télécharger les versions d'Anthos en mode déconnecté 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 déconnecté, contactez votre point de contact Google pour obtenir de l'aide.
Télécharger Anthos en mode déconnecté
Dans cette section, vous téléchargez une version d'Anthos en mode déconnecté 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 déconnecté
Sur votre poste de travail administrateur, exécutez les commandes suivantes :
# Login with the account granted access to Anthos running in disconnected mode
gcloud auth login
# Download the script which helps download all the latest components
export VERSION=1.10.3-gke.2
# Please use official 'INSTALLER_DIGEST' value from https://cloud.google.com/anthos/private-mode/docs/1.10/installing/infrastructure#download
export INSTALLER_DIGEST=62ea4de45311e2899c8187aed2c57ea28919299fd9452bdb64c4d972b1d9956a
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 déconnecté 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"
Vous n'aurez plus besoin d'une connexion Internet avant de déployer l'application de démonstration.
Configurer le registre de conteneurs local
Le mode déconnecté d'Anthos fonctionne en stockant les images de conteneurs Anthos dans un registre de conteneurs local.
Exportez les variables d'environnement suivantes :
export REGISTRY_HOST=REGISTRY_HOST
export REGISTRY_PASSWORD=REGISTRY_PASSWORD
# By default, a library public project is created,
# and you can also create other private projects via 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 déconnecté 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.
Configurer le registre de conteneurs d'Anthos en mode déconnecté
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 déconnecté.
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}
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'utilisateur admin
et le mot de passe REGISTRY_PASSWORD
.
Importer des images dans le registre de conteneurs
Dans cette section, vous allez importer dans votre registre de conteneurs les images du conteneur d'Anthos en mode déconnecté.
Préparez et importez les images du conteneur d'Anthos en mode déconnecté 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
Installer Management Center
Dans cette section, vous allez installer un cluster d'administrateur Anthos sur des machines Bare Metal, puis installer le centre de gestion d'Anthos sur le cluster d'administrateur.
Préparer la configuration du cluster d'administrateur
Mettez à jour le fichier ./actl-workspace/admin/admin.yaml
avec des paramètres correspondant à votre environnement.
vi ./actl-workspace/admin/admin.yaml
Remplissez les champs suivants :
La clé
sshPrivateKeyPath
est la clé utilisée lors de l'installation pour accéder aux autres nœuds faisant partie du cluster. Il s'agit de l'homologue privé de la clé publique que vous avez distribuée aux nœuds dans les conditions préalables.registryMirrors
identifie l'emplacement du miroir des registres dans lesquels les images Docker sont stockées.registryMirrors.endpoint
est le point de terminaison du miroir. Le format du point de terminaison estURL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX
. Par exemple, si vous avez créé le registre sur le poste de travail, définissez le point de terminaison surhttps://REGISTRY_HOST/v2/library
. Notez que l'élément/v2/
compris entreREGISTRY_HOST
etIMAGE_PREFIX
est nécessaire.registryMirrors.pullCredentialConfigPath
est le chemin d'accès aux identifiants. Ce type de paramètre se présente généralement sous la forme/home/USER/.docker/config.json
.registryMirrors.caCertPath
est l'emplacement de l'autorité de certification que le registre utilisera pour chiffrer le trafic. Ce certificat est distribué aux nœuds pendant le processus d'installation pour leur permettre d'extraire des images du registre. Le chemin d'accès est généralement/etc/docker/certs.d/REGISTRY_HOST/ca.crt
.
La spécification
controlPlane
définit les nœuds qui font partie du plan de contrôle.controlPlane: nodePoolSpec: nodes: # Control plane node pools. Typically, this is either a single machine # or 3 machines if using a high availability deployment. - address: 10.200.0.3
La spécification
loadBalancer
définit le type d'équilibreur de charge utilisé. La configuration par défaut installe un équilibreur de charge sur le cluster en cours d'exécution. Dans ce cas, vous devez au moins définir le paramètrecontrolPlaneVIP
pour identifier un pool d'adresse IP virtuelle (IPV) afin d'exposer le serveur d'API Kubernetes et l'adresse e-mailaddressPools
pour affecter les adresses IP virtuelles à la demande aux services qui en font la requête. Exemple :loadBalancer: mode: bundled # There are two load balancer VIPs: one for the control plane and one for the # Layer 7 Ingress service. # The VIPs must be in the same subnet as the load balancer nodes. vips: # ControlPlaneVIP specifies the VIP to connect to the Kubernetes API server. # This address must not be in the address pools below. controlPlaneVIP: 10.200.0.50 # AddressPools is a list of non-overlapping IP ranges for the data plane load # balancer. # All addresses must be in the same subnet as the load balancer nodes. # Address pool configuration is only valid for 'bundled' LB mode in non-admin # clusters. addressPools: - name: pool1 addresses: # Each address must be either in the CIDR form (1.2.3.0/24) # or range form (1.2.3.1-1.2.3.5). - 10.200.0.51-10.200.0.59
La dernière section de la spécification de cluster spécifie
loginUser
. Cette connexion doit avoir accès à la clé SSH spécifiée ci-dessous et correspond à l'utilisateur pour lequel la clé a été distribuée dans les conditions préalables.nodeAccess: loginUser: LOGIN_USERNAME
Remplacez
LOGIN_USERNAME
par le nom d'utilisateur utilisé pour vous connecter au cluster d'utilisateur.La spécification
nodePool
identifie les nœuds qui hébergeront la console du centre de gestion, Prometheus, Grafana et d'autres services sur le cluster d'administrateur. Ces nœuds sont les nœuds de calcul du cluster d'administrateur. Exemple :apiVersion: baremetal.cluster.gke.io/v1 kind: NodePool metadata: name: node-pool-1 namespace: cluster-admin spec: # Cannot be changed, must be admin clusterName: admin nodes: - address: 10.200.0.6
Créez le cluster d'administrateur :
Exécutez la commande suivante pour créer le cluster d'administrateur. Cela prend environ 30 minutes.
cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin
Une fois le cluster d'administrateur créé, vérifiez que vous y avez accès.
export ADMIN_KUBECONFIG=$(pwd)/bmctl-workspace/admin/admin-kubeconfig
KUBECONFIG=${ADMIN_KUBECONFIG} kubectl get nodes
Installer Management Center
Installez le centre de gestion sur le cluster d'administrateur avec la configuration par défaut.
cd ~/anthos-baremetal-private-mode actl platform management-center create
Accédez au centre de gestion d'Anthos dans votre navigateur.
actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}
L'URL du centre de gestion d'Anthos est renvoyée.
Enregistrer des ressources
Enregistrer des machines inventoriées
Pour créer un cluster d'utilisateur, Anthos nécessite un pool de machines inactives disponibles. Dans cette section, vous allez enregistrer des machines inventoriées dans le cluster d'administrateur Anthos pour les rendre disponibles.
kubectl apply -f <path/to/example-machine.yaml> --kubeconfig=${ADMIN_KUBECONFIG}
Exemple :
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
name: IP_ADDRESS
labels:
"KEY": "VALUE"
spec:
address: IP_ADDRESS
Remplacez les éléments suivants :
IP_ADDRESS
: adresse IP de la machine, par exemple10.200.0.10
.KEY
:VALUE
: paire clé/valeur, par exemple"rack": "r1020"
pour indiquer un emplacement de rack.
Les labels
sont des paires clé/valeur au format libre associées à la ressource.
Vous pourrez les utiliser ultérieurement dans le centre de gestion pour filtrer les machines.
Par exemple, vous pouvez utiliser les libellés pour identifier l'emplacement du rack ou les configurations matérielles spéciales.
Créer des clusters d'utilisateur
Sur la page Clusters du centre de gestion, cliquez sur Créer pour créer un cluster d'utilisateur Anthos. Une fois le cluster créé, il est automatiquement enregistré dans le centre de gestion et s'affiche immédiatement dans le tableau de bord du cluster.
L'installation et la préparation peuvent prendre jusqu'à 15 minutes. En attendant, vous pouvez vérifier l'état du cluster d'utilisateur à l'aide de la commande suivante :
kubectl get Cluster -n USER_CLUSTER_NAME --kubeconfig=${ADMIN_KUBECONFIG}
Remplacez USER_CLUSTER_NAME
par le nom du cluster que vous avez créé.
Une fois que l'état passe sur "prêt", le cluster est créé avec succès et enregistré dans le cluster d'administrateur.
Obtenir l'accès au cluster d'utilisateur
Une fois le cluster d'utilisateur créé, vous pouvez télécharger kubeconfig via le centre de gestion.
Déployer une application de démonstration
Vous pouvez explorer Anthos en mode déconnecté en testant l'exemple d'application Boutique en ligne.
Télécharger l'image
Les étapes de cette section nécessitent une connexion Internet.
Téléchargez l'exemple de dépôt :
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git/ online-boutique
Téléchargez les images :
IMAGES=$(cat online-boutique/release/kubernetes-manifests.yaml | grep image | sed "s/ *image: //") actl images save --output online-boutique-images ${IMAGES}
Déployer l'échantillon
Transférez les images vers le registre privé :
actl images push --images online-boutique-images --private-registry=PRIVATE_REGISTRY
Remplacez
PRIVATE_REGISTRY
par le nom de votre registre privé.Créez un espace de noms pour l'application.
kubectl create namespace demo --kubeconfig=USER_CLUSTER_KUBECONFIG
Remplacez
USER_CLUSTER_KUBECONFIG
par le chemin d'accès au fichier Kubeconfig du cluster d'utilisateur.Déployez l'exemple sur le cluster :
kubectl apply -n demo -f online-boutique/release/ --kubeconfig=USER_CLUSTER_KUBECONFIG
Effectuer un nettoyage
Supprimez votre cluster d'utilisateur en exécutant la commande suivante :
kubectl -n cluster-USER_CLUSTER_NAME \
delete Cluster USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG
Étapes suivantes
- Consultez des exemples de fichiers de configuration.