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.
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
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). |