Installer derrière un proxy

Cette page explique comment configurer des règles de proxy et de pare-feu pour Google Distributed Cloud.

Configurer votre serveur 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.

Prérequis

Votre serveur proxy doit autoriser les connexions aux adresses suivantes :

Adresse Objectif
*.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.
binaryauthorization.googleapis.com Obligatoire si vous utilisez l'autorisation binaire. Autoriser (ou refuser) les requêtes des clusters pour exécuter des images de conteneurs.
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.
connectgateway.googleapis.com Activez la possibilité d'accorder au Cloud Customer Care un accès en lecture seule à votre cluster pour diagnostiquer les problèmes.
dl.google.com Téléchargez et installez le SDK Google Cloud.
gkeconnect.googleapis.com Définissez le canal utilisé pour recevoir les requêtes de Google Cloud et émettre des réponses. Si votre cluster a été enregistré dans le parc à l'aide d'une région Google Cloud, vous devez ajouter à la liste d'autorisation REGION-gkeconnect.googleapis.com (par exemple, us-central1-gkeconnect.googleapis.com). Si vous n'avez pas spécifié de région, le cluster utilise l'instance de service Connect globale et vous ajoutez gkeconnect.googleapis.com à la liste d'autorisation. Si vous devez trouver l'emplacement d'appartenance au parc de votre cluster, exécutez gcloud container fleet memberships list. Pour en savoir plus, consultez la page gkeConnect.location.
gkehub.googleapis.com Créez des ressources d'appartenance à un parc côté Google Cloud qui correspondent au cluster que vous connectez à Google Cloud.
gkeonprem.googleapis.com Créez et gérez le cycle de vie d'un cluster sur bare metal et l'infrastructure VMware.
gkeonprem.mtls.googleapis.com Créez et gérez le cycle de vie d'un cluster sur bare metal et l'infrastructure VMware. Cette version de l'API est automatiquement utilisée avec mTLS.
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.
kubernetesmetadata.googleapis.com Les clusters utilisent cette API comme point de terminaison pour envoyer des métadonnées Kubernetes à Google Cloud. Les métadonnées sont essentielles pour la surveillance, le débogage et la récupération du cluster.
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.
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.
releases.hashicorp.com Facultatif. Utilisez le client Terraform sur votre poste de travail administrateur pour exécuter des commandes telles que terraform apply.
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 Google Cloud Observability, 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 ;

Google Distributed Cloud utilise le gestionnaire de packages APT sur Ubuntu et le gestionnaire de packages DNF sur Red Hat Enterprise 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. Par exemple, si votre proxy ne nécessite pas de connexion, n'incluez pas USERNAME:PASSWORD@ avec DOMAIN.

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. Par exemple, si votre proxy ne nécessite pas de connexion, n'incluez pas USERNAME:PASSWORD@ avec DOMAIN.

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. La chaîne d'URL du proxy doit commencer par son schéma, par exemple http:// ou https://.

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.

Cas d'utilisation noProxy :

  • 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

Configuration des proxys pour GKE Identity Service

Si vous utilisez GKE Identity Service pour l'authentification dans les clusters Google Distributed Cloud, vous devez suivre les étapes supplémentaires ci-dessous pour vous assurer que GKE Identity Service fonctionne derrière un proxy.

  1. Dans le fichier de configuration du cluster, définissez les détails du proxy dans la section OIDC authentication pour les paramètres de GKE Identity Service.

      authentication:
        oidc:
          proxy: http://USERNAME:PASSWORD@DOMAIN
    
  2. Mettez à jour la configuration de votre serveur proxy pour autoriser les connexions aux URL d'authentification de votre fournisseur OIDC.

Utilisation du proxy dans le cluster

En règle générale, les commandes bmctl et les processus qu'elles génèrent utilisent la configuration de proxy définie par les variables d'environnement HTTPS_PROXY et NO_PROXY, si celles-ci sont définies. Sinon, bmctl utilise la configuration de proxy du fichier de configuration du cluster. D'autres commandes exécutées sur le poste de travail administrateur, sur les machines de nœud de cluster ou sur le cluster d'amorçage utilisent la configuration de proxy du fichier de configuration du cluster.

Le gestionnaire de packages du système d'exploitation de chaque nœud utilise ses propres fichiers de configuration pour les paramètres de proxy.

Remplacer la configuration de proxy dans votre machine d'amorçage

Vous pouvez exécuter votre poste de travail administrateur derrière un proxy différent de celui utilisé par vos machines de nœuds en remplaçant les paramètres de proxy dans le fichier de configuration du cluster. Pour remplacer les paramètres 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.

Règles de pare-feu

Configurez vos règles de pare-feu comme décrit dans les sections suivantes pour autoriser le trafic décrit nécessaire pour Google Distributed Cloud.

Pour connaître les exigences de ports préalables pour Google Distributed Cloud, consultez la page Utilisation des ports.

Règles de pare-feu pour les adresses IP des nœuds de cluster

Le tableau suivant décrit les règles de pare-feu pour les adresses IP disponibles dans vos clusters.

De

Port source

À

Port

Protocole

Description

Nœud de cluster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
443 TCP/HTTPS L'accès est requis pour l'enregistrement de parcs.
Cloud Logging Collector, qui s'exécute sur le nœud de cluster 1024 - 65535 oauth2.googleapis.com
logging.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com
443 TCP/HTTPS
Cloud Metadata Collector, qui s'exécute sur le nœud de cluster 1024 - 65535 opsconfigmonitoring.googleapis.com 443 TCP/HTTPS
Cloud Monitoring Collector, qui s'exécute sur le nœud de cluster 1024 - 65535 oauth2.googleapis.com
monitoring.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
443 TCP/HTTPS
Nœud de cluster 1024 - 65535 Registre Docker local sur site Dépend de votre registre TCP/HTTPS Obligatoire si Google Distributed Cloud est configuré pour utiliser un registre Docker privé local au lieu de gcr.io.
Nœud de cluster 1024 - 65535 gcr.io
oauth2.googleapis.com
storage.googleapis.com
Toute URL d'API Google au format *.googleapis.com requise pour les services activés pour le cluster d'administrateur.
443 TCP/HTTPS Téléchargez des images à partir de registres Docker publics. Non requis si vous utilisez un registre Docker privé.
Agent Connect, qui s'exécute sur un nœud de cluster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
www.googleapis.com
iam.googleapis.com
iamcredentials.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
sts.googleapis.com
accounts.google.com
443 TCP/HTTPS Pour en savoir plus sur le trafic géré par l'agent Connect, consultez la présentation de l'agent Connect.
Nœud de cluster 1024 - 65535 gkeonprem.googleapis.com
gkeonprem.mtls.googleapis.com
443 TCP/HTTPS Créez et gérez le cycle de vie d'un cluster sur bare metal et l'infrastructure VMware.

Règles de pare-feu pour les composants restants

Les règles décrites dans le tableau suivant s'appliquent à tous les autres composants non répertoriés dans la section précédente.

De

Port source

À

Port

Protocole

Description

Clients d'utilisateurs finaux d'une application Tous Adresse IP virtuelle d'entrée Istio 80, 443 TCP Trafic utilisateur final vers le service d'entrée d'un cluster d'utilisateur.
Poste de travail administrateur 32768 - 60999 gcr.io
cloudresourcemanager.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
Toute URL *.googleapis.com requis pour les services activés pour ce cluster
443 TCP/HTTPS Téléchargez des images Docker à partir de registres Docker publics.
Poste de travail administrateur 32768 - 60999 gcr.io
cloudresourcemanager.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
Toute URL *.googleapis.com requise pour les services activés pour les clusters d'administrateur ou d'utilisateur
443 TCP/HTTPS Vérifications préliminaires (validation).