Cette page explique comment configurer des règles de proxy et de pare-feu pour GKE sur Bare Metal.
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 | 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. |
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. |
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 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. |
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. |
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 ;
GKE sur 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. 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
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
, if 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 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.
Règles de pare-feu
Configurez vos règles de pare-feu comme indiqué dans les sections suivantes pour autoriser le trafic décrit nécessaire pour GKE sur une solution Bare Metal.
Pour connaître les conditions requises concernant les ports pour GKE sur Bare Metal, 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 |
To |
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 GKE sur Bare Metal 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 des clusters sur une infrastructure Bare Metal et 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 |
To |
Port |
Protocole |
Description |
---|---|---|---|---|---|
Clients d'utilisateurs finaux d'une application | All | 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). |