Installer derrière un proxy

Si les machines que vous utilisez pour l'amorçage et les nœuds de cluster utilisent un serveur proxy pour accéder à Internet, vous devez :

  • configurer le proxy pour le gestionnaire de packages sur les nœuds de cluster ;
  • configurer les détails du proxy dans le fichier de configuration du cluster.

Prerequisites

Votre serveur proxy doit autoriser les connexions aux adresses suivantes :

Adresse Usage
*.gcr.io Extrayez des images de Container Registry.
accounts.google.com Traitez les requêtes d'autorisation pour OpenID et découvrez les clés publiques permettant de valider les jetons.
cloudresourcemanager.googleapis.com Résolvez les métadonnées relatives au projet Google Cloud auquel le cluster est connecté.
compute.googleapis.com Vérifiez la région des ressources Cloud Logging et Cloud Monitoring.
dl.fedoraproject.org Installez des packages supplémentaires pour Enterprise Linux (EPEL) lors de l'utilisation de distributions Red Hat Enterprise Linux (RHEL).
download.docker.com Ajoutez un dépôt Docker. Cela est nécessaire si votre poste de travail administrateur fonctionne derrière un proxy. Cela est nécessaire pour les machines de nœud qui fonctionnent derrière un proxy lorsque Docker est utilisé comme environnement d'exécution du conteneur.
gkeconnect.googleapis.com Définissez le canal utilisé pour recevoir les requêtes de Google Cloud et émettre des réponses.
gkehub.googleapis.com Créez des ressources Hub Membership côté Google Cloud qui correspondent au cluster que vous connectez à Google Cloud.
iam.googleapis.com Créez des comptes de service que vous pouvez utiliser pour vous authentifier sur Google Cloud et effectuer des appels d'API.
iamcredentials.googleapis.com Fournissez des rapports de contrôle d'admission et de télémétrie pour la journalisation d'audit.
logging.googleapis.com Écrivez des entrées de journal et gérez votre configuration Cloud Logging.
monitoring.googleapis.com Gérez vos données et configurations Cloud Monitoring.
packages.cloud.google.com Téléchargez des packages à partir du miroir de packages Google Cloud.
oauth2.googleapis.com Authentifiez-vous via l'échange de jetons OAuth pour accéder au compte.
opsconfigmonitoring.googleapis.com Collectez des métadonnées pour des ressources Kubernetes telles que des pods, des déploiements ou des nœuds afin d'enrichir les requêtes de métriques.
securetoken.googleapis.com Récupérez les jetons d'actualisation pour l'autorisation de Workload Identity.
servicecontrol.googleapis.com Écrivez des entrées de journaux d'audit dans Cloud Audit Logs.
serviceusage.googleapis.com Activez et validez des services et des API.
stackdriver.googleapis.com Gérez les métadonnées de la suite Google Cloud Operations, telles que les comptes Stackdriver.
storage.googleapis.com Gérez les buckets et le stockage d'objets, tels que les objets Container Registry.
sts.googleapis.com Échangez des identifiants Google ou tiers contre un jeton d'accès de courte durée à des ressources Google Cloud.
www.googleapis.com Authentifiez les jetons de service des demandes de service Google Cloud entrantes.

Outre ces URL, le serveur proxy doit également autoriser les miroirs de package requis par le gestionnaire de packages de votre système d'exploitation. Vous pouvez mettre à jour la configuration du gestionnaire de packages pour utiliser une liste plus déterministe, qui est plus facile à gérer.

configurer le proxy pour le gestionnaire de packages sur les nœuds de cluster ;

Anthos clusters on bare metal utilise le gestionnaire de packages APT sur Ubuntu et le gestionnaire de packages DNF sur CentOS et Red Hat Linux. Assurez-vous que le gestionnaire de packages du système d'exploitation dispose de la configuration de proxy appropriée.

Reportez-vous à la documentation concernant votre distribution de système d'exploitation pour en savoir plus sur la configuration du proxy. Les exemples suivants montrent comment configurer les paramètres du proxy :

APT

Ces commandes montrent comment configurer le proxy pour APT :

sudo touch /etc/apt/apt.conf.d/proxy.conf
echo 'Acquire::http::Proxy "http://[username:password@]domain";' >> /etc/apt/apt.conf.d/proxy.conf
echo 'Acquire::https::Proxy "http://[username:password@]domain";' >> /etc/apt/apt.conf.d/proxy.conf

Remplacez [username:password@]domain par les informations spécifiques à votre configuration.

DNF

Cette commande montre comment configurer le proxy pour DNF :

echo "proxy=http://[username:password@]domain" >> /etc/dnf/dnf.conf

Remplacez [username:password@]domain par les informations spécifiques à votre configuration.

Configurer les détails du proxy dans le fichier de configuration du cluster

Dans le fichier de configuration du cluster, définissez les valeurs suivantes pour configurer le cluster afin qu'il utilise le proxy :

proxy.url

Chaîne spécifiant l'URL du proxy. La machine d'amorçage et les machines de nœud utilisent ce proxy pour accéder à Internet.

proxy.noProxy

Liste d'adresses IP, de noms d'hôte et de noms de domaine qui ne doivent pas passer par le serveur proxy.

Dans la plupart des cas, il n'est pas nécessaire d'ajouter d'éléments à cette liste. Veuillez ne pas ajouter de CIDR des services et des pods.

Cas d'utilisation sans proxy :

  • Utiliser un miroir de package privé, situé dans le même réseau privé (accès au proxy non nécessaire)

  • Utiliser un miroir de registre privé, situé sur le même réseau privé (accès au proxy non nécessaire)

Exemple

Voici un exemple de paramètres de proxy dans un fichier de configuration de cluster :

  proxy:
     url: http://[username:password@]domain
     noProxy:
     - example1.com
     - example2.com

Remplacer la configuration du proxy

Vous pouvez exécuter votre machine d'amorçage derrière un proxy différent de celui utilisé par vos machines de nœud en ignorant les paramètres du proxy dans le fichier de configuration du cluster. Pour remplacer les paramètres du proxy, définissez les variables d'environnement suivantes sur la machine d'amorçage :

export HTTPS_PROXY=http://[username:password@]domain

Remplacez [username:password@]domain par les informations spécifiques à votre configuration.

export NO_PROXY=example1.com,example2.com

Remplacez example1.com,example2.com par des adresses IP, des noms d'hôte et des noms de domaine qui ne doivent pas passer par le serveur proxy.

Effets secondaires

Lorsqu'il est exécuté en tant que racine, bmctl met à jour la configuration du proxy Docker sur la machine d'amorçage. Si vous n'exécutez pas bmctl en tant que racine, configurez le proxy Docker manuellement.