De préparer votre environnement
La planification, les limites et l’évolutivité pour Red Hat OpenShift Service sur AWS
Résumé
Chapitre 1. Liste de contrôle préalable pour le déploiement de ROSA à l’aide de STS Copier lienLien copié sur presse-papiers!
Il s’agit d’une liste de contrôle de haut niveau des prérequis nécessaires pour créer un cluster Red Hat OpenShift Service sur AWS (ROSA) (architecture classique) avec STS.
La machine à partir de laquelle vous exécutez le processus d’installation doit avoir accès aux éléments suivants:
- API Amazon Web Services et points de terminaison des services d’authentification
- API Red Hat OpenShift et points de terminaison de service d’authentification (api.openshift.com et sso.redhat.com)
- Connectivité Internet pour obtenir des artefacts d’installation
À partir de la version 1.2.7 du ROSA CLI, toutes les URL de point de terminaison du fournisseur OIDC sur les nouveaux clusters utilisent Amazon CloudFront et le domaine oidc.op1.openshiftapps.com. Ce changement améliore la vitesse d’accès, réduit la latence et améliore la résilience des nouveaux clusters créés avec la ROSA CLI 1.2.7 ou ultérieure. Il n’y a pas de chemins de migration pris en charge pour les configurations de fournisseurs OIDC existantes.
1.1. Comptes et autorisations Copier lienLien copié sur presse-papiers!
Assurez-vous que vous avez les comptes, les informations d’identification et les autorisations suivantes.
1.1.1. Compte AWS Copier lienLien copié sur presse-papiers!
- Créez un compte AWS si vous n’en avez pas déjà un.
- Collectez les informations d’identification nécessaires pour vous connecter à votre compte AWS.
- Assurez-vous que votre compte AWS dispose d’autorisations suffisantes pour utiliser le ROSA CLI: moins d’autorisations de privilège pour les commandes courantes ROSA CLI
Activez ROSA pour votre compte AWS sur la console AWS.
- Dans le cas où votre compte est le compte de gestion de votre organisation (utilisé à des fins de facturation AWS), vous devez disposer des autorisations aws-marketplace:S’abonner sur votre compte. Consultez les prérequis de la stratégie de contrôle du service (SCP) pour plus d’informations, ou consultez la documentation AWS pour le dépannage : la stratégie de contrôle du service AWS Organizations nie les autorisations requises pour AWS Marketplace.
1.1.2. Compte Red Hat Copier lienLien copié sur presse-papiers!
- Créez un compte Red Hat pour la console de cloud hybride Red Hat si vous n’en avez pas déjà un.
- Collectez les informations d’identification nécessaires pour vous connecter à votre compte Red Hat.
1.2. Exigences du CLI Copier lienLien copié sur presse-papiers!
Il faut télécharger et installer plusieurs outils CLI (interface de ligne de commande) pour pouvoir déployer un cluster.
1.2.1. AWS CLI (aws) Copier lienLien copié sur presse-papiers!
- Installez l’interface de ligne de commande AWS.
- Connectez-vous à votre compte AWS à l’aide de l’AWS CLI: Connectez-vous via AWS CLI
Contrôlez l’identité de votre compte:
aws sts get-caller-identity
$ aws sts get-caller-identity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez si le rôle de service pour ELB (Elastic Load Balancing) existe:
aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing"
$ aws iam get-role --role-name "AWSServiceRoleForElasticLoadBalancing"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque le rôle n’existe pas, créez-le en exécutant la commande suivante:
aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com"
$ aws iam create-service-linked-role --aws-service-name "elasticloadbalancing.amazonaws.com"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.2. CLI ROSA (rosa) Copier lienLien copié sur presse-papiers!
- Installez le ROSA CLI à partir de la console Web. Consultez l’installation du Red Hat OpenShift Service sur AWS (ROSA) CLI, rosa pour des instructions détaillées.
Connectez-vous à votre compte Red Hat en exécutant la connexion rosa et en suivant les instructions de la sortie de commande:
rosa login
$ rosa login To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Alternativement, vous pouvez copier l’ensemble $ rosa login --token=abc… commande et coller cela dans le terminal:
rosa login --token=<abc..>
$ rosa login --token=<abc..>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Confirmez que vous êtes connecté en utilisant le compte et les informations d’identification corrects:
rosa whoami
$ rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.3. CLI OpenShift (oc) Copier lienLien copié sur presse-papiers!
Le CLI OpenShift (oc) n’est pas nécessaire pour déployer un service Red Hat OpenShift sur le cluster AWS, mais est un outil utile pour interagir avec votre cluster après son déploiement.
- Cliquez ici pour télécharger et installer 'oc' à partir de la page d’outils OpenShift Cluster Manager (CLI), ou suivez les instructions de démarrage avec OpenShift CLI.
Assurez-vous que le CLI OpenShift a été installé correctement en exécutant la commande suivante:
rosa verify openshift-client
$ rosa verify openshift-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.3. Conditions préalables à l’infrastructure AWS Copier lienLien copié sur presse-papiers!
En option, assurez-vous que votre compte AWS dispose d’un quota suffisant pour déployer un cluster.
rosa verify quota
$ rosa verify quota
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette commande ne vérifie que le quota total alloué à votre compte; elle ne reflète pas le montant de quota déjà consommé à partir de ce quota. L’exécution de cette commande est facultative car votre quota est vérifié lors du déploiement de clusters. Cependant, Red Hat recommande d’exécuter cette commande pour confirmer votre quota à l’avance afin que le déploiement ne soit pas interrompu par des problèmes de disponibilité des quotas.
- Afin d’obtenir de plus amples informations sur les ressources mises à disposition lors du déploiement de clusters ROSA, voir Infrastructure AWS provisoire.
- Afin d’obtenir plus d’informations sur les quotas de service AWS requis, consultez les quotas de service AWS requis.
1.4. Conditions préalables de la politique de contrôle du service (SCP) Copier lienLien copié sur presse-papiers!
Les clusters ROSA sont hébergés dans un compte AWS au sein d’une unité organisationnelle AWS. La stratégie de contrôle des services (SCP) est créée et appliquée à l’unité organisationnelle AWS qui gère les services auxquels les sous-comptes AWS sont autorisés à accéder.
- Assurez-vous que les SCP de votre organisation ne sont pas plus restrictifs que les rôles et les politiques requis par le cluster. Consultez l’ensemble minimum d’autorisations efficaces pour les SCP.
- Lorsque vous créez un cluster ROSA, un fournisseur d’identité AWS OpenID Connect (OIDC) associé est créé.
1.5. Conditions préalables à la mise en réseau Copier lienLien copié sur presse-papiers!
Conditions préalables nécessaires du point de vue de la mise en réseau.
1.5.1. Bande passante minimale Copier lienLien copié sur presse-papiers!
Lors du déploiement de clusters, Red Hat OpenShift Service sur AWS nécessite une bande passante minimale de 120 Mbps entre les ressources de cluster et les ressources Internet publiques. Lorsque la connectivité réseau est plus lente que 120 Mbps (par exemple, lors de la connexion via un proxy), le processus d’installation du cluster est terminé et le déploiement échoue.
Après le déploiement, les besoins du réseau sont déterminés par votre charge de travail. Cependant, une bande passante minimale de 120 Mbps permet d’assurer des mises à niveau opportunes des clusters et des opérateurs.
1.5.2. Le pare-feu Copier lienLien copié sur presse-papiers!
- Configurez votre pare-feu pour permettre l’accès aux domaines et ports listés dans les prérequis du pare-feu AWS.
1.6. Exigences VPC pour les clusters PrivateLink Copier lienLien copié sur presse-papiers!
Lorsque vous choisissez de déployer un cluster PrivateLink, assurez-vous de déployer le cluster dans le VPC BYO préexistant:
Créez un sous-réseau public et privé pour chaque ZA que votre cluster utilise.
- Alternativement, mettre en place une passerelle de transit pour Internet et sortir avec des itinéraires appropriés.
Le bloc CIDR du VPC doit contenir la gamme Networking.MachineCIDR, qui est l’adresse IP pour les machines à clusters.
- Les blocs CIDR de sous-réseau doivent appartenir à la machine CIDR que vous spécifiez.
Définissez à la fois enableDnsHostnames et enableDnsSupport sur true.
- De cette façon, le cluster peut utiliser les zones Route 53 qui sont attachées au VPC pour résoudre les enregistrements DNS internes du cluster.
Consultez les tableaux d’itinéraires en exécutant:
---- $ aws ec2 describe-route-tables --filters "Name=vpc-id,Values=<vpc-id>" ----
---- $ aws ec2 describe-route-tables --filters "Name=vpc-id,Values=<vpc-id>" ----
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Assurez-vous que le cluster puisse sortir soit via la passerelle NAT dans le sous-réseau public, soit par la passerelle de transit.
- Assurez-vous que tout UDR que vous souhaitez suivre est mis en place.
- Il est également possible de configurer un proxy à l’échelle du cluster pendant ou après l’installation. Configuration d’un proxy à l’échelle du cluster pour plus de détails.
Il est possible d’installer un cluster ROSA non-PrivateLink dans un VPC BYO préexistant.
1.6.1. Groupes de sécurité personnalisés supplémentaires Copier lienLien copié sur presse-papiers!
Lors de la création de cluster, vous pouvez ajouter des groupes de sécurité personnalisés supplémentaires à un cluster qui a un VPC existant non géré. À cette fin, remplissez ces prérequis avant de créer le cluster:
- Créez les groupes de sécurité personnalisés dans AWS avant de créer le cluster.
- Associez les groupes de sécurité personnalisés au VPC que vous utilisez pour créer le cluster. Il ne faut pas associer les groupes de sécurité personnalisés à d’autres VPC.
- Il vous faudra peut-être demander un quota AWS supplémentaire pour les groupes de sécurité par interface réseau.
Consultez les exigences détaillées pour les groupes de sécurité pour plus de détails.
1.6.2. DNS et domaines personnalisés Copier lienLien copié sur presse-papiers!
Il est possible de configurer un serveur de noms de domaine personnalisé et un nom de domaine personnalisé pour votre cluster. À cette fin, remplissez les conditions préalables suivantes avant de créer le cluster:
- Les clusters ROSA par défaut vous obligent à définir l’option des serveurs de noms de domaine sur AmazonProvidedDNS pour assurer la création et l’exploitation réussies des clusters.
- Afin d’utiliser un serveur DNS personnalisé et un nom de domaine pour votre cluster, l’installateur ROSA doit pouvoir utiliser le DNS VPC avec les options DHCP par défaut afin qu’il puisse résoudre les IP et les services internes. Cela signifie que vous devez créer une option DHCP personnalisée définie pour transférer les recherches DNS vers votre serveur DNS, et associer cette option à votre PCV avant de créer le cluster. Cliquez ici pour plus d’informations sur le déploiement de ROSA avec un résolveur DNS personnalisé.
Confirmez que votre VPC utilise VPC Resolver en exécutant la commande suivante:
aws ec2 describe-dhcp-options
$ aws ec2 describe-dhcp-options
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Chapitre 2. Exigences détaillées pour le déploiement de ROSA à l’aide de STS Copier lienLien copié sur presse-papiers!
Le Red Hat OpenShift Service sur AWS (ROSA) fournit un modèle qui permet à Red Hat de déployer des clusters dans le compte Amazon Web Service (AWS) existant d’un client.
AWS Security Token Service (STS) est le mode d’identification recommandé pour l’installation et l’interaction avec les clusters sur Red Hat OpenShift Service sur AWS car il offre une sécurité accrue.
Assurez-vous que les conditions préalables suivantes sont remplies avant d’installer votre cluster.
2.1. Exigences du client lors de l’utilisation de STS pour le déploiement Copier lienLien copié sur presse-papiers!
Les conditions préalables suivantes doivent être remplies avant de déployer un Red Hat OpenShift Service sur AWS (ROSA) cluster qui utilise AWS Security Token Service (STS).
2.1.1. Compte AWS Copier lienLien copié sur presse-papiers!
- Le compte AWS doit permettre un quota suffisant pour déployer votre cluster.
- Lorsque votre organisation applique et applique des politiques SCP, ces politiques ne doivent pas être plus restrictives que les rôles et les politiques requis par le cluster.
- Il est possible de déployer des services AWS natifs dans le même compte AWS.
- Il doit avoir un rôle lié au service pour permettre au programme d’installation de configurer Elastic Load Balancing (ELB). Consultez « Créer le rôle d’équilibrage de charge élastique (ELB) » pour plus d’informations.
2.1.2. Besoins de soutien Copier lienLien copié sur presse-papiers!
- Le Red Hat recommande que le client dispose au moins d’un support professionnel d’AWS.
- Il se peut que Red Hat ait l’autorisation du client de demander un support AWS en son nom.
- Il se peut que Red Hat ait la permission du client de demander des augmentations de limite de ressources AWS sur le compte du client.
- Le Red Hat gère les restrictions, limitations, attentes et défaut pour tous les services OpenShift Red Hat sur les clusters AWS de la même manière, sauf indication contraire dans cette section d’exigences.
2.1.3. Exigences de sécurité Copier lienLien copié sur presse-papiers!
- Le Red Hat doit avoir accès aux hôtes EC2 et au serveur API à partir d’adresses IP autorisées.
- Le Red Hat doit avoir une sortie autorisée dans les domaines documentés dans la section "Firewall prérequis".
2.2. Exigences pour l’utilisation d’OpenShift Cluster Manager Copier lienLien copié sur presse-papiers!
Les détails de configuration suivants ne sont requis que si vous utilisez OpenShift Cluster Manager pour gérer vos clusters. En utilisant exclusivement les outils CLI, vous pouvez ignorer ces exigences.
2.2.1. Association de compte AWS Copier lienLien copié sur presse-papiers!
Lorsque vous fournissez Red Hat OpenShift Service sur AWS (ROSA) à l’aide d’OpenShift Cluster Manager, vous devez associer les rôles ocm-rôle et utilisateur IAM à votre compte AWS à l’aide de votre nom de ressource Amazon (ARN). Ce processus d’association est également connu sous le nom de lien de compte.
L’ARN ocm-role est stocké sous forme d’étiquette dans votre organisation Red Hat tandis que l’ARN du rôle utilisateur est stocké sous forme d’étiquette à l’intérieur de votre compte utilisateur Red Hat. Le Red Hat utilise ces étiquettes ARN pour confirmer que l’utilisateur est un titulaire de compte valide et que les autorisations correctes sont disponibles pour effectuer des tâches de provisionnement dans le compte AWS.
2.2.2. Associer votre compte AWS aux rôles IAM Copier lienLien copié sur presse-papiers!
Il est possible d’associer ou de lier votre compte AWS aux rôles IAM existants en utilisant le service Red Hat OpenShift sur AWS (ROSA) CLI, rosa.
Conditions préalables
- Il y a un compte AWS.
- Les autorisations requises pour installer les rôles AWS à l’échelle du compte sont requises. Consultez les « Ressources supplémentaires » de cette section pour plus d’informations.
- L’installation et la configuration des derniers CLI AWS (aws) et ROSA (rosa) sur votre hôte d’installation.
« vous avez créé les rôles ocm-role et user-role IAM, mais vous ne les avez pas encore liés à votre compte AWS. Il est possible de vérifier si vos rôles IAM sont déjà liés en exécutant les commandes suivantes:
rosa list ocm-role
$ rosa list ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rosa list user-role
$ rosa list user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque Oui est affiché dans la colonne Linked pour les deux rôles, vous avez déjà lié les rôles à un compte AWS.
Procédure
À partir du CLI, liez votre ressource ocm-role à votre organisation Red Hat en utilisant votre nom de ressource Amazon (ARN):
NoteIl faut avoir les privilèges d’administrateur de l’organisation Red Hat pour exécuter la commande rosa link. Après avoir lié la ressource ocm-role à votre compte AWS, elle est visible pour tous les utilisateurs de l’organisation.
rosa link ocm-role --role-arn <arn>
$ rosa link ocm-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow À partir du CLI, liez votre ressource de rôle utilisateur à votre compte d’utilisateur Red Hat en utilisant votre nom de ressource Amazon (ARN):
rosa link user-role --role-arn <arn>
$ rosa link user-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Ressources supplémentaires
- Consultez le rôle de l’IAM à l’échelle du compte et la référence des politiques pour une liste des rôles IAM nécessaires à la création de clusters.
2.2.3. Associer plusieurs comptes AWS à votre organisation Red Hat Copier lienLien copié sur presse-papiers!
Il est possible d’associer plusieurs comptes AWS à votre organisation Red Hat. L’association de plusieurs comptes vous permet de créer des clusters Red Hat OpenShift Service sur AWS (ROSA) sur l’un des comptes AWS associés de votre organisation Red Hat.
Avec cette fonctionnalité, vous pouvez créer des clusters dans différentes régions AWS en utilisant plusieurs profils AWS en tant qu’environnements liés à la région.
Conditions préalables
- Il y a un compte AWS.
- Il est possible d’utiliser OpenShift Cluster Manager pour créer des clusters.
- Les autorisations requises pour installer les rôles AWS à l’échelle du compte sont requises.
- L’installation et la configuration des derniers CLI AWS (aws) et ROSA (rosa) sur votre hôte d’installation.
- C’est vous qui avez créé vos rôles Ocm-role et user-role IAM.
Procédure
Afin d’associer un compte AWS supplémentaire, créez d’abord un profil dans votre configuration AWS locale. Ensuite, associez le compte à votre organisation Red Hat en créant les rôles ocm-rôle, utilisateur et compte dans le compte AWS supplémentaire.
Afin de créer les rôles dans une région supplémentaire, spécifiez le paramètre --profile <aws-profile> lors de l’exécution de la rosa créer des commandes et remplacer <aws_profile> par le nom de profil de compte supplémentaire:
De spécifier un profil de compte AWS lors de la création d’un rôle OpenShift Cluster Manager:
rosa create --profile <aws_profile> ocm-role
$ rosa create --profile <aws_profile> ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow De spécifier un profil de compte AWS lors de la création d’un rôle utilisateur:
rosa create --profile <aws_profile> user-role
$ rosa create --profile <aws_profile> user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow De spécifier un profil de compte AWS lors de la création des rôles de compte:
rosa create --profile <aws_profile> account-roles
$ rosa create --profile <aws_profile> account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Dans le cas où vous ne spécifiez pas un profil, le profil AWS par défaut est utilisé.
2.3. Exigences pour le déploiement d’un cluster dans une région opt-in Copier lienLien copié sur presse-papiers!
La région d’opt-in AWS est une région qui n’est pas activée par défaut. Dans le cas où vous souhaitez déployer un Red Hat OpenShift Service sur AWS (ROSA) qui utilise AWS Security Token Service (STS) dans une région d’opt-in, vous devez répondre aux exigences suivantes:
- La région doit être activée dans votre compte AWS. Consultez Gérer les régions AWS dans la documentation AWS pour plus d’informations sur l’activation des régions opt-in.
La version jeton de sécurité de votre compte AWS doit être définie sur la version 2. Il est impossible d’utiliser des jetons de sécurité version 1 pour les régions opt-in.
ImportantLa mise à jour du jeton de sécurité version 2 peut avoir un impact sur les systèmes qui stockent les jetons, en raison de la longueur accrue du jeton. Consultez la documentation AWS pour plus d’informations sur la définition des préférences STS.
2.3.1. Configuration de la version de jeton de sécurité AWS Copier lienLien copié sur presse-papiers!
Lorsque vous souhaitez créer un cluster Red Hat OpenShift Service sur AWS (ROSA) avec AWS Security Token Service (STS) dans une région d’opt-in AWS, vous devez définir la version jeton de sécurité sur la version 2 de votre compte AWS.
Conditions préalables
- L’installation et la configuration du dernier CLI AWS sur votre hôte d’installation.
Procédure
Énumérez l’ID du compte AWS qui est défini dans votre configuration AWS CLI:
aws sts get-caller-identity --query Account --output json
$ aws sts get-caller-identity --query Account --output json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que la sortie correspond à l’ID du compte AWS pertinent.
Énumérez la version de jeton de sécurité qui est définie dans votre compte AWS:
aws iam get-account-summary --query SummaryMap.GlobalEndpointTokenVersion --output json
$ aws iam get-account-summary --query SummaryMap.GlobalEndpointTokenVersion --output json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
1
1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afin de mettre à jour la version jeton de sécurité vers la version 2 pour toutes les régions de votre compte AWS, exécutez la commande suivante:
aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token
$ aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ImportantLa mise à jour du jeton de sécurité version 2 peut avoir un impact sur les systèmes qui stockent les jetons, en raison de la longueur accrue du jeton. Consultez la documentation AWS pour plus d’informations sur la définition des préférences STS.
2.4. Les références de Red Hat gérées par IAM pour AWS Copier lienLien copié sur presse-papiers!
Lorsque vous utilisez STS comme méthode d’identification de cluster, Red Hat n’est pas responsable de la création et de la gestion des politiques IAM d’Amazon Web Services (AWS), des utilisateurs IAM ou des rôles IAM. Afin d’obtenir de l’information sur la création de ces rôles et politiques, voir les sections suivantes sur les rôles de l’IAM.
- Afin d’utiliser le CLI ocm, vous devez disposer d’une ressource ocm-role et user-role. Consultez les ressources du rôle de gestionnaire de cluster OpenShift.
- Dans le cas où vous disposez d’un seul cluster, consultez le rôle et la référence des politiques dans l’ensemble du compte.
- Chaque cluster doit avoir les rôles d’opérateur nécessaires. Consultez la référence du rôle de l’opérateur IAM.
2.5. Infrastructure AWS provisionnée Copier lienLien copié sur presse-papiers!
Il s’agit d’un aperçu des composants Amazon Web Services (AWS) fournis sur un cluster Red Hat OpenShift Service sur AWS (ROSA) déployé.
2.5.1. Instances EC2 Copier lienLien copié sur presse-papiers!
Les instances AWS EC2 sont nécessaires pour déployer les fonctions de plan de contrôle et de plan de données pour Red Hat OpenShift Service sur AWS.
Les types d’instances peuvent varier pour les nœuds de plan de contrôle et d’infrastructure, en fonction du nombre de nœuds de travail.
Au minimum, les instances EC2 suivantes sont déployées:
- 3 m5.2x grands nœuds de plan de commande
- Deux nœuds d’infrastructure r5.xlarge
- Deux nœuds de travail m5.xlarge
Le type d’instance affiché pour les nœuds de travail est la valeur par défaut, mais vous pouvez personnaliser le type d’instance pour les nœuds de travail en fonction des besoins de votre charge de travail.
Afin d’obtenir de plus amples conseils sur le comptage des nœuds des travailleurs, consultez les informations sur les considérations de planification initiales dans le sujet « Limites et évolutivité » figurant dans la section « Ressources supplémentaires » de cette page.
2.5.2. Amazon Elastic Block Store stockage Copier lienLien copié sur presse-papiers!
Le stockage de blocs Amazon Elastic Block Store (Amazon EBS) est utilisé à la fois pour le stockage des nœuds locaux et le stockage en volume persistant. Les valeurs suivantes sont la taille par défaut du stockage éphémère local prévu pour chaque instance EC2.
Exigences en volume pour chaque instance EC2:
Contrôle du volume du plan
- Format: 350 Go
- Catégorie: gp3
- Entrée/sortie Opérations par seconde: 1000
Le volume de l’infrastructure
- Dimensions: 300 Go
- Catégorie: gp3
- Entrées/sorties par seconde : 900
Le volume des travailleurs
- Taille par défaut: 300 Go
- Format minimum: 128 Go
- Format minimum: 75 Go
- Catégorie: gp3
- Entrées/sorties par seconde : 900
Les clusters déployés avant la sortie d’OpenShift Container Platform 4.11 utilisent le stockage de type gp2 par défaut.
2.5.3. Équilibrage de charge élastique Copier lienLien copié sur presse-papiers!
Chaque cluster peut utiliser jusqu’à deux balanceurs de charge classiques pour le routeur d’application et jusqu’à deux balanceurs de charge réseau pour API.
Consultez la documentation ELB pour AWS.
2.5.4. Le stockage S3 Copier lienLien copié sur presse-papiers!
Le registre des images est soutenu par le stockage AWS S3. La valorisation des ressources est effectuée régulièrement afin d’optimiser l’utilisation de S3 et la performance des clusters.
Deux seaux sont nécessaires avec une taille typique de 2 To chacun.
2.5.5. LE VPC Copier lienLien copié sur presse-papiers!
Configurez votre VPC selon les exigences suivantes:
Deux sous-réseaux pour un cluster avec une seule zone de disponibilité, ou six sous-réseaux pour un cluster avec plusieurs zones de disponibilité.
Le Red Hat recommande fortement d’utiliser des sous-réseaux uniques pour chaque cluster. Le partage de sous-réseaux entre plusieurs clusters n’est pas recommandé.
NoteLe sous-réseau public se connecte directement à Internet via une passerelle Internet. Le sous-réseau privé se connecte à Internet via une passerelle de traduction d’adresse réseau (NAT).
- Les tables d’itinéraire: une table de route par sous-réseau privé, et une table supplémentaire par cluster.
- Passerelles Internet: une passerelle Internet par cluster.
- Passerelles NAT: Une passerelle NAT par sous-réseau public.
Figure 2.1. Exemple d’architecture VPC
2.5.6. Groupes de sécurité Copier lienLien copié sur presse-papiers!
Les groupes de sécurité AWS assurent la sécurité au niveau du protocole et de l’accès au port; ils sont associés aux instances EC2 et aux balanceurs de charge Elastic Load Balancing (ELB). Chaque groupe de sécurité contient un ensemble de règles qui filtrent le trafic entrant et sortant d’une ou de plusieurs instances EC2.
Assurez-vous que les ports requis pour l’installation et le fonctionnement du cluster sont ouverts sur votre réseau et configurés pour permettre l’accès entre les hôtes. Les exigences pour les groupes de sécurité par défaut sont listées dans les ports requis pour les groupes de sécurité par défaut.
Groupe de travail | Le type | Le protocole de propriété intellectuelle | Gamme de ports |
---|---|---|---|
Groupe MasterSecurity |
|
|
|
|
| ||
|
| ||
|
| ||
Groupe WorkerSecurity |
|
|
|
|
| ||
BootstrapSecurityGroup |
|
|
|
|
|
2.5.6.1. Groupes de sécurité personnalisés supplémentaires Copier lienLien copié sur presse-papiers!
Lorsque vous créez un cluster à l’aide d’un VPC existant non géré, vous pouvez ajouter des groupes de sécurité personnalisés supplémentaires lors de la création de clusters. Les groupes de sécurité personnalisés sont soumis aux limitations suivantes:
- Il faut créer les groupes de sécurité personnalisés dans AWS avant de créer le cluster. Consultez les groupes de sécurité Amazon EC2 pour les instances Linux.
- Il faut associer les groupes de sécurité personnalisés au VPC dans lequel le cluster sera installé. Les groupes de sécurité personnalisés ne peuvent pas être associés à un autre VPC.
- Il vous faudra peut-être demander un quota supplémentaire pour votre VPC si vous ajoutez des groupes de sécurité personnalisés supplémentaires. Afin d’obtenir des informations sur les exigences de quotas AWS pour ROSA, consultez les quotas de service AWS requis dans Préparez votre environnement. Afin d’obtenir des informations sur la demande d’augmentation du quota AWS, consultez Demander une augmentation de quota.
2.6. Conditions préalables à la mise en réseau Copier lienLien copié sur presse-papiers!
2.6.1. Bande passante minimale Copier lienLien copié sur presse-papiers!
Lors du déploiement de clusters, Red Hat OpenShift Service sur AWS nécessite une bande passante minimale de 120 Mbps entre les ressources de cluster et les ressources Internet publiques. Lorsque la connectivité réseau est plus lente que 120 Mbps (par exemple, lors de la connexion via un proxy), le processus d’installation du cluster est terminé et le déploiement échoue.
Après le déploiement, les besoins du réseau sont déterminés par votre charge de travail. Cependant, une bande passante minimale de 120 Mbps permet d’assurer des mises à niveau opportunes des clusters et des opérateurs.
2.6.2. Conditions préalables du pare-feu AWS Copier lienLien copié sur presse-papiers!
Lorsque vous utilisez un pare-feu pour contrôler le trafic sortant de votre Service OpenShift Red Hat sur AWS, vous devez configurer votre pare-feu pour permettre l’accès à certaines combinaisons de domaines et de ports ci-dessous. Le service Red Hat OpenShift sur AWS nécessite cet accès pour fournir un service OpenShift entièrement géré.
2.6.2.1. La ROSA Classic Copier lienLien copié sur presse-papiers!
Les clusters ROSA déployés avec PrivateLink peuvent utiliser un pare-feu pour contrôler le trafic sortant.
Conditions préalables
- Dans votre AWS Virtual Private Cloud (VPC), vous avez configuré un point de terminaison Amazon S3 Gateway. Ce point de terminaison est nécessaire pour compléter les demandes du cluster vers le service Amazon S3.
Procédure
Autoriser les URL suivantes qui sont utilisées pour installer et télécharger des paquets et des outils:
Expand Domaine Le port Fonction Greffe.redhat.io
443
Fournit des images de conteneur de base.
à propos de Quay.io
443
Fournit des images de conteneur de base.
cdn01.quay.io
443
Fournit des images de conteneur de base.
cdn02.quay.io
443
Fournit des images de conteneur de base.
cdn03.quay.io
443
Fournit des images de conteneur de base.
cdn04.quay.io
443
Fournit des images de conteneur de base.
cdn05.quay.io
443
Fournit des images de conteneur de base.
cdn06.quay.io
443
Fournit des images de conteneur de base.
à propos de SSO.redhat.com
443
C’est nécessaire. Le site https://console.redhat.com/openshift utilise l’authentification de sso.redhat.com pour télécharger le secret de traction et utiliser les solutions Red Hat SaaS pour faciliter la surveillance de vos abonnements, de l’inventaire des clusters, des rapports de rétrofacturation, etc.
bienvenue sur Quay-registry.s3.amazonaws.com
443
Fournit des images de conteneur de base.
ajouter au panier Quayio-production-s3.s3.amazonaws.com
443
Fournit des images de conteneur de base.
Registry.access.redhat.com
443
Héberge toutes les images du conteneur qui sont stockées sur le catalogue Ecosytem Red Hat. De plus, le registre donne accès à l’outil odo CLI qui aide les développeurs à s’appuyer sur OpenShift et Kubernetes.
Access.redhat.com
443
C’est nécessaire. Héberge un magasin de signature dont un client conteneur a besoin pour vérifier les images lors de leur retrait de register.access.redhat.com.
Registry.connect.redhat.com
443
Requis pour toutes les images tierces et les opérateurs certifiés.
console.redhat.com
443
C’est nécessaire. Autorise les interactions entre le cluster et OpenShift Console Manager pour activer les fonctionnalités, telles que la planification des mises à niveau.
à propos de SSO.redhat.com
443
Le site https://console.redhat.com/openshift utilise l’authentification de sso.redhat.com.
le site pull.q1w2.quay.rhcloud.com
443
Fournit des images de conteneur de base en tant que repli lorsque quay.io n’est pas disponible.
catalogue.redhat.com
443
Les sites Registry.access.redhat.com et https://registry.redhat.io redirigent vers catalog.redhat.com.
le site OIDC.op1.openshiftapps.com
443
Utilisé par ROSA pour l’implémentation STS avec la configuration OIDC gérée.
Autoriser les URL de télémétrie suivantes:
Expand Domaine Le port Fonction CERT-api.access.redhat.com
443
Requis pour la télémétrie.
API.access.redhat.com
443
Requis pour la télémétrie.
infogw.api.openshift.com
443
Requis pour la télémétrie.
console.redhat.com
443
Requis pour la télémétrie et Red Hat Insights.
le site Observatorium-mst.api.openshift.com
443
Requis pour la télémétrie spécifique à OpenShift gérée.
bienvenue sur Observatorium.api.openshift.com
443
Requis pour la télémétrie spécifique à OpenShift gérée.
Les clusters gérés nécessitent d’activer la télémétrie pour permettre à Red Hat de réagir plus rapidement aux problèmes, de mieux soutenir les clients et de mieux comprendre l’impact des mises à niveau des produits sur les clusters. De plus amples renseignements sur la façon dont les données de surveillance de la santé à distance sont utilisées par Red Hat, voir À propos de la surveillance de la santé à distance dans la section Ressources supplémentaires.
Autoriser les URls d’API Amazon Web Services (AWS) suivantes:
Expand Domaine Le port Fonction .amazonaws.com
443
Besoin d’accéder aux services et aux ressources AWS.
Alternativement, si vous choisissez de ne pas utiliser de wildcard pour les API Amazon Web Services (AWS), vous devez autoriser la liste des URL suivantes:
Expand Domaine Le port Fonction ec2.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS.
événements.<aws_region>.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS.
IAM.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS.
itinéraire53.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS.
à propos de STS.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS, pour les clusters configurés pour utiliser le point de terminaison global d’AWS STS.
le site STS.<aws_region>.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS, pour les clusters configurés pour utiliser des points de terminaison régionalisés pour AWS STS. Consultez les points de terminaison régionalisés AWS STS pour plus d’informations.
étiquettes.us-east-1.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS. Ce point de terminaison est toujours nous-Est-1, quelle que soit la région dans laquelle le cluster est déployé.
ec2.<aws_region>.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS.
élastique d’équilibrage.<aws_region>.amazonaws.com
443
Il est utilisé pour installer et gérer des clusters dans un environnement AWS.
étiquettes.<aws_region>.amazonaws.com
443
Autorise l’attribution de métadonnées sur les ressources AWS sous forme de balises.
Autoriser les URL OpenShift suivantes:
Expand Domaine Le port Fonction le site Mirror.openshift.com
443
Il est utilisé pour accéder au contenu et aux images d’installation en miroir. Ce site est également une source de signatures d’images de libération.
API.openshift.com
443
Il est utilisé pour vérifier si des mises à jour sont disponibles pour le cluster.
Autoriser l’ingénierie de la fiabilité du site (SRE) et les URL de gestion suivantes:
Expand Domaine Le port Fonction API.pagerduty.com
443
Ce service d’alerte est utilisé par le gestionnaire d’alertes inclus pour envoyer des alertes notifiant Red Hat SRE d’un événement pour agir.
événements.pagerduty.com
443
Ce service d’alerte est utilisé par le gestionnaire d’alertes inclus pour envoyer des alertes notifiant Red Hat SRE d’un événement pour agir.
API.deadmanssnitch.com
443
Le service d’alerte utilisé par Red Hat OpenShift Service sur AWS pour envoyer des pings périodiques indiquant si le cluster est disponible et en cours d’exécution.
à propos de nosnch.in
443
Le service d’alerte utilisé par Red Hat OpenShift Service sur AWS pour envoyer des pings périodiques indiquant si le cluster est disponible et en cours d’exécution.
HTTP-inputs-osdsecuritylogs.splunkcloud.com
443
C’est nécessaire. Utilisé par le splunk-forwarder-operator comme point de terminaison de journalisation à utiliser par Red Hat SRE pour l’alerte log-based.
le site SFTP.access.redhat.com (recommandé)
22
Le serveur SFTP utilisé par l’opérateur must-collectther pour télécharger des journaux de diagnostic pour aider à résoudre les problèmes avec le cluster.
2.7. Les prochaines étapes Copier lienLien copié sur presse-papiers!
Chapitre 3. Les ressources du rôle de ROSA IAM Copier lienLien copié sur presse-papiers!
Il faut créer plusieurs ressources de rôles sur votre compte AWS afin de créer et de gérer un cluster Red Hat OpenShift Service sur AWS (ROSA).
3.1. Aperçu des rôles requis Copier lienLien copié sur presse-papiers!
Afin de créer et de gérer votre service Red Hat OpenShift sur le cluster AWS, vous devez créer plusieurs rôles à l’échelle du compte et à l’échelle du cluster. Lorsque vous avez l’intention d’utiliser OpenShift Cluster Manager pour créer ou gérer votre cluster, vous avez besoin de rôles supplémentaires.
- Créer et gérer des clusters
Il faut plusieurs rôles à l’échelle du compte pour créer et gérer des clusters ROSA. Ces rôles ne doivent être créés qu’une fois par compte AWS et n’ont pas besoin d’être créés frais pour chaque cluster. Il est possible de spécifier votre propre préfixe ou d’utiliser le préfixe par défaut (ManagedOpenShift).
Les rôles suivants à l’échelle du compte sont requis:
-
<prefix>-Role du travailleur
-
<préfixe>-Soutien-Role
-
<prefix>-Installer-Role
-
<prefix>-ControlPlane-Role
NoteLa création de rôles ne demande pas votre accès AWS ou vos clés secrètes. AWS Security Token Service (STS) est utilisé comme base de ce flux de travail. AWS STS utilise des informations d’identification temporaires et à privilèges limités pour fournir l’authentification.
-
- Gérer les fonctionnalités de cluster fournies par les opérateurs
Les rôles d’opérateur spécifiques au cluster (rôles d’opérateur dans l’ILC ROSA), obtenir les autorisations temporaires requises pour effectuer des opérations de cluster pour les fonctionnalités fournies par les opérateurs, telles que la gestion du stockage back-end, l’entrée et le registre. Cela nécessite la configuration d’un fournisseur OpenID Connect (OIDC), qui se connecte à AWS Security Token Service (STS) pour authentifier l’accès de l’opérateur aux ressources AWS.
Les rôles d’opérateur sont requis pour chaque cluster, car plusieurs opérateurs sont utilisés pour fournir des fonctionnalités de cluster par défaut.
Les rôles d’opérateur suivants sont requis:
-
<cluster_name>-<hash>-openshift-cluster-csi-drivers-ebs-cloud-credentials
-
<cluster_name>-<hash>-openshift-cloud-network-config-controller-credentials
-
<cluster_name>-<hash>-openshift-machine-api-aws-cloud-credentials
-
<cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-credentials
-
<cluster_name>-<hash>-openshift-image-registry-installer-cloud-credentials
-
<cluster_name>-<hash>-openshift-ingress-operator-cloud-credentials
-
- À utiliser OpenShift Cluster Manager
L’interface utilisateur Web, OpenShift Cluster Manager, vous oblige à créer des rôles supplémentaires dans votre compte AWS pour créer une relation de confiance entre ce compte AWS et le gestionnaire de cluster OpenShift.
Cette relation de confiance est obtenue grâce à la création et à l’association du rôle d’Ocm-role AWS IAM. Ce rôle a une politique de confiance avec l’installateur AWS qui relie votre compte Red Hat à votre compte AWS. En outre, vous avez également besoin d’un rôle AWS IAM d’utilisateur pour chaque utilisateur d’interface utilisateur Web, qui sert à identifier ces utilisateurs. Ce rôle AWS IAM de rôle utilisateur n’a pas d’autorisations.
Les rôles AWS IAM suivants sont nécessaires pour utiliser OpenShift Cluster Manager:
-
le rôle de l’OCM
-
le rôle de l’utilisateur
-
3.2. À propos de la ressource ocm-role IAM Copier lienLien copié sur presse-papiers!
Il faut créer la ressource Ocm-role IAM pour permettre à une organisation Red Hat d’utilisateurs de créer des clusters Red Hat OpenShift Service sur AWS (ROSA). Dans le cadre de la connexion à AWS, une organisation Red Hat est un utilisateur unique au sein d’OpenShift Cluster Manager.
Certaines considérations pour votre ressource Ocm-role IAM sont:
- Il n’y a qu’un seul rôle IAM ocm-role par organisation Red Hat; cependant, vous pouvez avoir n’importe quel nombre de rôles IAM ocm-role par compte AWS. L’interface utilisateur Web exige qu’un seul de ces rôles puisse être lié à la fois.
- Chaque utilisateur d’une organisation Red Hat peut créer et lier une ressource Ocm-role IAM.
Il n’y a que l’administrateur de l’organisation Red Hat qui peut déconnecter une ressource IAM ocm-role. Cette limitation vise à protéger les autres membres de l’organisation Red Hat contre la perturbation des capacités d’interface des autres utilisateurs.
NoteLorsque vous venez de créer un compte Red Hat qui ne fait pas partie d’une organisation existante, ce compte est également l’administrateur de l’organisation Red Hat.
- Consultez « Comprendre le rôle de gestionnaire de cluster OpenShift » dans les ressources supplémentaires de cette section pour une liste des politiques d’autorisation AWS pour les ressources de base et admin ocm-rôle IAM.
En utilisant le ROSA CLI (rosa), vous pouvez lier votre ressource IAM lorsque vous la créez.
« Lier » ou « associer » vos ressources IAM à votre compte AWS signifie créer une politique de confiance avec votre rôle IAM ocm et le rôle AWS Red Hat OpenShift Cluster Manager. Après avoir créé et lié votre ressource IAM, vous voyez une relation de confiance à partir de votre ressource Ocm-role IAM dans AWS avec la ressource arn:aws:iam::7333:role/RH-Managed-OpenShift-Installer.
Après qu’un administrateur d’organisation Red Hat ait créé et lié une ressource Ocm-role IAM, tous les membres de l’organisation peuvent vouloir créer et relier leur propre rôle IAM à rôle utilisateur. Cette ressource IAM n’a besoin d’être créée et liée qu’une seule fois par utilisateur. « si un autre utilisateur de votre organisation Red Hat a déjà créé et lié une ressource IAM ocm-role, vous devez vous assurer que vous avez créé et lié votre propre rôle IAM de rôle utilisateur.
Ressources supplémentaires
3.2.1. Création d’un rôle Ocm-role IAM Copier lienLien copié sur presse-papiers!
Créez vos rôles Ocm-role IAM à l’aide de l’interface de ligne de commande (CLI).
Conditions préalables
- Il y a un compte AWS.
- Dans l’organisation OpenShift Cluster Manager, vous avez les privilèges d’administrateur d’organisation Red Hat.
- Les autorisations requises pour installer les rôles AWS à l’échelle du compte sont requises.
- Dans votre installation, vous avez installé et configuré le dernier service Red Hat OpenShift sur AWS (ROSA) CLI, rosa.
Procédure
Afin de créer un rôle Ocm-role IAM avec des privilèges de base, exécutez la commande suivante:
rosa create ocm-role
$ rosa create ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afin de créer un rôle Ocm-role IAM avec les privilèges d’administrateur, exécutez la commande suivante:
rosa create ocm-role --admin
$ rosa create ocm-role --admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette commande vous permet de créer le rôle en spécifiant des attributs spécifiques. L’exemple suivant montre le "mode automatique" sélectionné, ce qui permet au ROSA CLI (rosa) de créer vos rôles et stratégies d’opérateur. Consultez « Méthodes de création de rôles à l’échelle du compte » pour plus d’informations.
Exemple de sortie
- 1
- Il s’agit d’une valeur préfixée pour toutes les ressources AWS créées. Dans cet exemple, ManagedOpenShift prépend toutes les ressources AWS.
- 2
- Choisissez si vous voulez que ce rôle ait les autorisations d’administration supplémentaires.Note
L’option --admin n’a pas été consultée.
- 3
- Le nom de ressource Amazon (ARN) de la politique pour définir les limites d’autorisation.
- 4
- Indiquez un chemin IAM pour le nom d’utilisateur.
- 5
- Choisissez la méthode pour créer vos rôles AWS. En utilisant l’auto, le ROSA CLI génère et relie les rôles et les politiques. En mode automatique, vous recevez des invitations différentes pour créer les rôles AWS.
- 6
- La méthode automatique vous demande si vous souhaitez créer un rôle ocm spécifique en utilisant votre préfixe.
- 7
- Confirmez que vous souhaitez associer votre rôle IAM à votre OpenShift Cluster Manager.
- 8
- Relie le rôle créé à votre organisation AWS.
3.3. À propos du rôle utilisateur-rôle IAM Copier lienLien copié sur presse-papiers!
Il faut créer un rôle IAM de rôle utilisateur par utilisateur utilisateur pour permettre à ces utilisateurs de créer des clusters ROSA.
Certaines considérations pour votre rôle d’utilisateur IAM sont:
- Il vous suffit d’un rôle IAM de rôle utilisateur par compte d’utilisateur Red Hat, mais votre organisation Red Hat peut avoir beaucoup de ces ressources IAM.
- Chaque utilisateur d’une organisation Red Hat peut créer et lier un rôle IAM à rôle utilisateur.
- Il peut y avoir de nombreux rôles IAM de rôle utilisateur par compte AWS par organisation Red Hat.
- Le Red Hat utilise le rôle IAM de rôle utilisateur pour identifier l’utilisateur. Cette ressource IAM n’a pas d’autorisation de compte AWS.
- Le compte AWS peut avoir plusieurs rôles IAM à rôle utilisateur, mais vous devez lier chaque rôle IAM à chaque utilisateur de votre organisation Red Hat. Aucun utilisateur ne peut avoir plus d’un rôle IAM de rôle utilisateur lié.
« Lier » ou « associer » vos ressources IAM à votre compte AWS signifie créer une politique de confiance avec votre rôle IAM de rôle utilisateur et le rôle AWS Red Hat OpenShift Cluster Manager. Après avoir créé et lié cette ressource IAM, vous voyez une relation de confiance de votre rôle IAM utilisateur dans AWS avec la ressource arn:aws:iam::710019948333:role/RH-Managed-OpenShift-Installer.
3.3.1. Création d’un rôle IAM de rôle utilisateur Copier lienLien copié sur presse-papiers!
Il est possible de créer vos rôles IAM à l’aide de l’interface ligne de commande (CLI).
Conditions préalables
- Il y a un compte AWS.
- Dans votre installation, vous avez installé et configuré le dernier service Red Hat OpenShift sur AWS (ROSA) CLI, rosa.
Procédure
Afin de créer un rôle IAM de rôle utilisateur avec des privilèges de base, exécutez la commande suivante:
rosa create user-role
$ rosa create user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette commande vous permet de créer le rôle en spécifiant des attributs spécifiques. L’exemple suivant montre le "mode automatique" sélectionné, ce qui permet au ROSA CLI (rosa) de créer vos rôles et stratégies d’opérateur. Consultez « Comprendre les modes de déploiement automatique et manuel » pour plus d’informations.
Exemple de sortie
- 1
- Il s’agit d’une valeur préfixée pour toutes les ressources AWS créées. Dans cet exemple, ManagedOpenShift prépend toutes les ressources AWS.
- 2
- Le nom de ressource Amazon (ARN) de la politique pour définir les limites d’autorisation.
- 3
- Indiquez un chemin IAM pour le nom d’utilisateur.
- 4
- Choisissez la méthode pour créer vos rôles AWS. En utilisant l’auto, le ROSA CLI génère et relie les rôles et les politiques. En mode automatique, vous recevez des invitations différentes pour créer les rôles AWS.
- 5
- La méthode automatique vous demande si vous souhaitez créer un rôle utilisateur spécifique en utilisant votre préfixe.
- 6
- Relie le rôle créé à votre organisation AWS.
Lorsque vous déconnectez ou supprimez votre rôle IAM de rôle utilisateur avant de supprimer votre cluster, une erreur vous empêche de supprimer votre cluster. Il faut créer ou reconnecter ce rôle pour procéder au processus de suppression. Consultez Réparation d’un cluster qui ne peut pas être supprimé pour plus d’informations.
3.4. Association de compte AWS Copier lienLien copié sur presse-papiers!
Lorsque vous fournissez Red Hat OpenShift Service sur AWS (ROSA) à l’aide d’OpenShift Cluster Manager, vous devez associer les rôles ocm-rôle et utilisateur IAM à votre compte AWS à l’aide de votre nom de ressource Amazon (ARN). Ce processus d’association est également connu sous le nom de lien de compte.
L’ARN ocm-role est stocké sous forme d’étiquette dans votre organisation Red Hat tandis que l’ARN du rôle utilisateur est stocké sous forme d’étiquette à l’intérieur de votre compte utilisateur Red Hat. Le Red Hat utilise ces étiquettes ARN pour confirmer que l’utilisateur est un titulaire de compte valide et que les autorisations correctes sont disponibles pour effectuer des tâches de provisionnement dans le compte AWS.
3.4.1. Associer votre compte AWS aux rôles IAM Copier lienLien copié sur presse-papiers!
Il est possible d’associer ou de lier votre compte AWS aux rôles IAM existants en utilisant le service Red Hat OpenShift sur AWS (ROSA) CLI, rosa.
Conditions préalables
- Il y a un compte AWS.
- Les autorisations requises pour installer les rôles AWS à l’échelle du compte sont requises. Consultez les « Ressources supplémentaires » de cette section pour plus d’informations.
- L’installation et la configuration des derniers CLI AWS (aws) et ROSA (rosa) sur votre hôte d’installation.
« vous avez créé les rôles ocm-role et user-role IAM, mais vous ne les avez pas encore liés à votre compte AWS. Il est possible de vérifier si vos rôles IAM sont déjà liés en exécutant les commandes suivantes:
rosa list ocm-role
$ rosa list ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rosa list user-role
$ rosa list user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque Oui est affiché dans la colonne Linked pour les deux rôles, vous avez déjà lié les rôles à un compte AWS.
Procédure
À partir du CLI, liez votre ressource ocm-role à votre organisation Red Hat en utilisant votre nom de ressource Amazon (ARN):
NoteIl faut avoir les privilèges d’administrateur de l’organisation Red Hat pour exécuter la commande rosa link. Après avoir lié la ressource ocm-role à votre compte AWS, elle est visible pour tous les utilisateurs de l’organisation.
rosa link ocm-role --role-arn <arn>
$ rosa link ocm-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow À partir du CLI, liez votre ressource de rôle utilisateur à votre compte d’utilisateur Red Hat en utilisant votre nom de ressource Amazon (ARN):
rosa link user-role --role-arn <arn>
$ rosa link user-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.4.2. Associer plusieurs comptes AWS à votre organisation Red Hat Copier lienLien copié sur presse-papiers!
Il est possible d’associer plusieurs comptes AWS à votre organisation Red Hat. L’association de plusieurs comptes vous permet de créer des clusters Red Hat OpenShift Service sur AWS (ROSA) sur l’un des comptes AWS associés de votre organisation Red Hat.
Avec cette fonctionnalité, vous pouvez créer des clusters dans différentes régions AWS en utilisant plusieurs profils AWS en tant qu’environnements liés à la région.
Conditions préalables
- Il y a un compte AWS.
- Il est possible d’utiliser OpenShift Cluster Manager pour créer des clusters.
- Les autorisations requises pour installer les rôles AWS à l’échelle du compte sont requises.
- L’installation et la configuration des derniers CLI AWS (aws) et ROSA (rosa) sur votre hôte d’installation.
- C’est vous qui avez créé vos rôles Ocm-role et user-role IAM.
Procédure
Afin d’associer un compte AWS supplémentaire, créez d’abord un profil dans votre configuration AWS locale. Ensuite, associez le compte à votre organisation Red Hat en créant les rôles ocm-rôle, utilisateur et compte dans le compte AWS supplémentaire.
Afin de créer les rôles dans une région supplémentaire, spécifiez le paramètre --profile <aws-profile> lors de l’exécution de la rosa créer des commandes et remplacer <aws_profile> par le nom de profil de compte supplémentaire:
De spécifier un profil de compte AWS lors de la création d’un rôle OpenShift Cluster Manager:
rosa create --profile <aws_profile> ocm-role
$ rosa create --profile <aws_profile> ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow De spécifier un profil de compte AWS lors de la création d’un rôle utilisateur:
rosa create --profile <aws_profile> user-role
$ rosa create --profile <aws_profile> user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow De spécifier un profil de compte AWS lors de la création des rôles de compte:
rosa create --profile <aws_profile> account-roles
$ rosa create --profile <aws_profile> account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Dans le cas où vous ne spécifiez pas un profil, le profil AWS par défaut est utilisé.
3.5. Limites d’autorisation pour le rôle d’installateur Copier lienLien copié sur presse-papiers!
Il est possible d’appliquer une stratégie en tant que limite d’autorisations sur un rôle d’installateur. Il est possible d’utiliser une politique gérée par AWS ou une politique gérée par le client pour définir la limite d’une entité de gestion de l’identité et des accès (IAM) d’Amazon Web Services (AWS) (utilisateur ou rôle). La combinaison de la stratégie et de la stratégie limite limite les autorisations maximales pour l’utilisateur ou le rôle. La ROSA comprend un ensemble de trois fichiers de stratégie de limites d’autorisation préparés, avec lesquels vous pouvez restreindre les autorisations pour le rôle d’installateur puisque la modification de la stratégie d’installation elle-même n’est pas prise en charge.
Cette fonctionnalité n’est prise en charge que sur Red Hat OpenShift Service sur les clusters AWS (architecture classique).
Les fichiers de stratégie de limites d’autorisation sont les suivants:
- Le fichier de stratégie de limites de base contient les autorisations minimales nécessaires à l’installateur ROSA (architecture classique) pour installer un Red Hat OpenShift Service sur le cluster AWS. L’installateur n’a pas d’autorisation pour créer un cloud privé virtuel (VPC) ou PrivateLink (PL). Il faut fournir un VPC.
- Le fichier de stratégie de limite VPC contient les autorisations minimales nécessaires à l’installateur ROSA (architecture classique) pour créer/gérer le VPC. Il n’inclut pas les autorisations pour l’installation PL ou core. Lorsque vous avez besoin d’installer un cluster avec suffisamment d’autorisations pour l’installateur pour installer le cluster et créer / gérer le VPC, mais vous n’avez pas besoin de configurer PL, alors utilisez les fichiers limites core et VPC avec le rôle d’installateur.
- Le fichier de stratégie de limite PrivateLink (PL) contient les autorisations minimales requises pour l’installateur ROSA (architecture classique) pour créer l’AWS PL avec un cluster. Il n’inclut pas les autorisations pour VPC ou l’installation de base. Fournir un VPC pré-créé pour tous les clusters PL pendant l’installation.
Lors de l’utilisation des fichiers de stratégie de limites d’autorisation, les combinaisons suivantes s’appliquent:
- Aucune politique de limite d’autorisation ne signifie que les autorisations complètes de stratégie d’installation s’appliquent à votre cluster.
Core définit uniquement les autorisations les plus restreintes pour le rôle d’installateur. Les autorisations VPC et PL ne sont pas incluses dans la stratégie de limites de base seulement.
- L’installateur ne peut pas créer ou gérer le VPC ou PL.
- Il faut avoir un VPC fourni par le client, et PrivateLink (PL) n’est pas disponible.
Core + VPC définit les autorisations core et VPC pour le rôle d’installateur.
- L’installateur ne peut pas créer ou gérer le PL.
- Suppose que vous n’utilisez pas custom/BYO-VPC.
- Suppose que l’installateur créera et gérera le VPC.
Core + PrivateLink (PL) signifie que l’installateur peut fournir l’infrastructure PL.
- Il faut avoir un VPC fourni par le client.
- Ceci est pour un cluster privé avec PL.
Cette procédure d’exemple est applicable pour un rôle et une politique d’installation avec la plus grande restriction des autorisations, en utilisant uniquement la stratégie de limite d’autorisation de l’installateur de base pour ROSA. Il est possible de compléter cela avec la console AWS ou le CLI AWS. Cet exemple utilise l’AWS CLI et la politique suivante:
Exemple 3.1. accueil > Sts_installer_core_permission_border_policy.json
Afin d’utiliser les limites d’autorisation, vous devrez préparer la politique de limite d’autorisation et l’ajouter à votre rôle d’installateur pertinent dans AWS IAM. Bien que le ROSA (rosa) CLI offre une fonction de limite d’autorisation, il s’applique à tous les rôles et pas seulement au rôle d’installateur, ce qui signifie qu’il ne fonctionne pas avec les politiques de limite d’autorisation fournies (qui ne sont que pour le rôle d’installateur).
Conditions préalables
- Il y a un compte AWS.
- Les autorisations requises pour administrer les rôles et les politiques AWS sont requises.
- Dans votre poste de travail, vous avez installé et configuré les derniers CLI AWS (aws) et ROSA (rosa).
- Les rôles de votre compte ROSA ont déjà été préparés, y compris le rôle d’installateur et les politiques correspondantes. Dans le cas où ceux-ci n’existent pas dans votre compte AWS, consultez « Créer les rôles et les politiques STS à l’échelle du compte » dans les ressources supplémentaires.
Procédure
Créez le fichier de la politique en saisissant la commande suivante dans la rosa CLI:
curl -o ./rosa-installer-core.json https://raw.githubusercontent.com/openshift/managed-cluster-config/master/resources/sts/4.18/sts_installer_core_permission_boundary_policy.json
$ curl -o ./rosa-installer-core.json https://raw.githubusercontent.com/openshift/managed-cluster-config/master/resources/sts/4.18/sts_installer_core_permission_boundary_policy.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez la stratégie dans AWS et rassemblez son nom de ressource Amazon (ARN) en entrant la commande suivante:
aws iam create-policy \ --policy-name rosa-core-permissions-boundary-policy \ --policy-document file://./rosa-installer-core.json \ --description "ROSA installer core permission boundary policy, the minimum permission set, allows BYO-VPC, disallows PrivateLink"
$ aws iam create-policy \ --policy-name rosa-core-permissions-boundary-policy \ --policy-document file://./rosa-installer-core.json \ --description "ROSA installer core permission boundary policy, the minimum permission set, allows BYO-VPC, disallows PrivateLink"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajoutez la stratégie de limite d’autorisation au rôle d’installateur que vous souhaitez restreindre en entrant la commande suivante:
aws iam put-role-permissions-boundary \ --role-name ManagedOpenShift-Installer-Role \ --permissions-boundary arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy
$ aws iam put-role-permissions-boundary \ --role-name ManagedOpenShift-Installer-Role \ --permissions-boundary arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afficher le rôle d’installateur pour valider les stratégies jointes (y compris les limites des autorisations) en entrant la commande suivante dans la rosa CLI:
aws iam get-role --role-name ManagedOpenShift-Installer-Role \ --output text | grep PERMISSIONSBOUNDARY
$ aws iam get-role --role-name ManagedOpenShift-Installer-Role \ --output text | grep PERMISSIONSBOUNDARY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
PERMISSIONSBOUNDARY arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy Policy
PERMISSIONSBOUNDARY arn:aws:iam::<account ID>:policy/rosa-core-permissions-boundary-policy Policy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow D’autres exemples de politiques de limites d’autorisation PL et VPC voir:
Exemple 3.2.
sts_installer_ privatelink_permission_border_policy.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple 3.3.
accueil > Sts_installer_vpc_permission_border_policy.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Chapitre 4. Limites et évolutivité Copier lienLien copié sur presse-papiers!
Ce document détaille les maximums de cluster testés pour Red Hat OpenShift Service sur les clusters AWS (ROSA), ainsi que des informations sur l’environnement de test et la configuration utilisée pour tester les maximums. Des informations sur le dimensionnement et la mise à l’échelle des nœuds de contrôle et d’infrastructure sont également fournies.
4.1. Les maximums de clusters Copier lienLien copié sur presse-papiers!
Considérez les maximums d’objets testés suivants lorsque vous planifiez une installation de cluster Red Hat OpenShift sur AWS (ROSA). Le tableau spécifie les limites maximales pour chaque type testé dans un cluster (ROSA).
Ces lignes directrices sont basées sur un cluster de 249 nœuds de calcul (également connus sous le nom de travailleur) dans une configuration de zone de disponibilité multiple. Dans le cas des groupes plus petits, les maximums sont inférieurs.
Le type maximum | 4.x testé maximum |
---|---|
Le nombre de gousses [1] | 25 000 |
Le nombre de gousses par nœud | 250 |
Le nombre de gousses par noyau | Il n’y a pas de valeur par défaut |
Le nombre d’espaces de noms [2] | 5 000 |
Le nombre de gousses par espace de noms [3] | 25 000 |
Le nombre de services [4] | 10 000 |
Le nombre de services par espace de noms | 5 000 |
Le nombre d’extrémités arrière par service | 5 000 |
Le nombre de déploiements par espace de noms [3] | 2 000 |
- Le nombre de pods affiché ici est le nombre de dosettes de test. Le nombre réel de pods dépend de la mémoire, du CPU et des besoins de stockage de l’application.
- Lorsqu’il y a un grand nombre de projets actifs, etcd peut souffrir d’une mauvaise performance si l’espace clé grandit excessivement et dépasse le quota spatial. L’entretien périodique de etcd, y compris la défragmentation, est fortement recommandé pour rendre le stockage etcd disponible.
- Il y a plusieurs boucles de contrôle dans le système qui doivent itérer sur tous les objets dans un espace de noms donné en réaction à certains changements d’état. Avoir un grand nombre d’objets d’un type, dans un seul espace de noms, peut rendre ces boucles coûteuses et ralentir le traitement des changements d’état. La limite suppose que le système a suffisamment de CPU, de mémoire et de disque pour satisfaire les exigences de l’application.
- Chaque port de service et chaque service arrière ont une entrée correspondante dans iptables. Le nombre d’extrémités arrière d’un service donné a une incidence sur la taille des objets des points de terminaison, ce qui a ensuite une incidence sur la taille des données envoyées dans tout le système.
4.2. Environnement et configuration des tests OpenShift Container Platform Copier lienLien copié sur presse-papiers!
Le tableau suivant répertorie l’environnement OpenShift Container Platform et la configuration sur laquelle les maximums de cluster sont testés pour la plate-forme cloud AWS.
Le nœud | Le type | à propos de vCPU | La RAM (GiB) | Le type de disque | Taille du disque (GiB)/IOPS | Comptez | La région |
---|---|---|---|---|---|---|---|
Avion de contrôle/etcd [1] | largeur de M5.4xlarge | 16 | 64 | Gp3 | 350 / 1 000 | 3 | à l’ouest-2 |
Nœuds d’infrastructure [2] | le r5.2xlarge | 8 | 64 | Gp3 | 300 / 900 | 3 | à l’ouest-2 |
Charge de travail [3] | largeur de M5.2xlarge | 8 | 32 | Gp3 | 350 / 900 | 3 | à l’ouest-2 |
Calculer les nœuds | largeur de M5.2xlarge | 8 | 32 | Gp3 | 350 / 900 | 102 | à l’ouest-2 |
- les disques io1 sont utilisés pour les nœuds plan/etcd de contrôle dans toutes les versions antérieures au 4.10.
- Les nœuds d’infrastructure sont utilisés pour héberger des composants de surveillance, car Prometheus peut revendiquer une grande quantité de mémoire, en fonction des habitudes d’utilisation.
- Les nœuds de charge de travail sont dédiés à la performance et à l’évolutivité des générateurs de charge de travail.
Des tailles de grappes plus grandes et des nombres d’objets plus élevés pourraient être accessibles. Cependant, le dimensionnement des nœuds d’infrastructure limite la quantité de mémoire disponible pour Prometheus. Lors de la création, de la modification ou de la suppression d’objets, Prometheus stocke les métriques dans sa mémoire pendant environ 3 heures avant de persister les métriques sur le disque. Lorsque le taux de création, de modification ou de suppression d’objets est trop élevé, Prometheus peut devenir submergé et échouer en raison du manque de ressources mémoire.
4.3. Dimensionnement et mise à l’échelle des nœuds de plan de contrôle et d’infrastructure Copier lienLien copié sur presse-papiers!
Lorsque vous installez un Red Hat OpenShift Service sur AWS (ROSA), le dimensionnement du plan de contrôle et des nœuds d’infrastructure est automatiquement déterminé par le nombre de nœuds de calcul.
Lorsque vous modifiez le nombre de nœuds de calcul dans votre cluster après l’installation, l’équipe Red Hat Site Reliability Engineering (SRE) met à l’échelle le plan de contrôle et les nœuds d’infrastructure au besoin pour maintenir la stabilité du cluster.
4.3.1. Dimensionnement des nœuds pendant l’installation Copier lienLien copié sur presse-papiers!
Au cours du processus d’installation, le dimensionnement du plan de contrôle et des nœuds d’infrastructure est calculé dynamiquement. Le calcul du dimensionnement est basé sur le nombre de nœuds de calcul dans un cluster.
Le tableau suivant répertorie le dimensionnement du plan de contrôle et des nœuds d’infrastructure qui est appliqué pendant l’installation.
Le nombre de nœuds de calcul | Contrôle de la taille du plan | Dimension du nœud d’infrastructure |
---|---|---|
1 à 25 | largeur de M5.2xlarge | le r5.xlarge |
26 à 100 | largeur de M5.4xlarge | le r5.2xlarge |
101 à 249 | largeur de M5.8xlarge | largeur de r5.4xlarge |
Le nombre maximum de nœuds de calcul sur les clusters ROSA version 4.14.14 et ultérieure est de 249. Dans les versions précédentes, la limite est de 180.
4.3.2. La mise à l’échelle du nœud après l’installation Copier lienLien copié sur presse-papiers!
Lorsque vous modifiez le nombre de nœuds de calcul après l’installation, le plan de contrôle et les nœuds d’infrastructure sont mis à l’échelle par l’équipe de Red Hat Site Reliability Engineering (SRE) au besoin. Les nœuds sont mis à l’échelle pour maintenir la stabilité de la plate-forme.
Les besoins de mise à l’échelle après l’installation pour les nœuds des plans de contrôle et de l’infrastructure sont évalués au cas par cas. La consommation des ressources des nœuds et les alertes reçues sont prises en considération.
Les règles pour les alertes de redimensionnement des nœuds d’avion de contrôle
L’alerte de redimensionnement est déclenchée pour les nœuds de plan de contrôle dans un cluster lorsque ce qui suit se produit:
Les nœuds de plan de contrôle maintiennent une utilisation moyenne de plus de 66% dans un cluster.
NoteLe nombre maximum de nœuds de calcul sur ROSA est de 180.
Les règles pour les alertes de redimensionnement des nœuds d’infrastructure
Les alertes de redimensionnement sont déclenchées pour les nœuds d’infrastructure d’un cluster lorsqu’il a une utilisation CPU ou mémoire hautement soutenue. Ce statut d’utilisation durable élevé est:
- Les nœuds d’infrastructure permettent une utilisation moyenne de plus de 50 % dans un cluster avec une seule zone de disponibilité à l’aide de 2 nœuds d’infrastructure.
Les nœuds d’infrastructure permettent une utilisation moyenne de plus de 66% dans un cluster avec plusieurs zones de disponibilité à l’aide de 3 nœuds d’infrastructure.
NoteLe nombre maximal de nœuds de calcul sur les versions 4.14.14 et ultérieures du cluster ROSA est de 249. Dans les versions précédentes, la limite est de 180.
Les alertes de redimensionnement n’apparaissent qu’après des périodes prolongées d’utilisation élevée. Les pics d’utilisation courts, tels qu’un nœud qui descend temporairement, provoquant l’augmentation de l’autre nœud, ne déclenchent pas ces alertes.
L’équipe SRE pourrait mettre à l’échelle le plan de contrôle et les nœuds d’infrastructure pour des raisons supplémentaires, par exemple pour gérer une augmentation de la consommation de ressources sur les nœuds.
Lorsque la mise à l’échelle est appliquée, le client est informé par l’intermédiaire d’une entrée de journal de service. En savoir plus sur le journal des services, voir Accès aux journaux de services pour les clusters ROSA.
4.3.3. Considérations de dimensionnement pour les grands groupes Copier lienLien copié sur presse-papiers!
Dans le cas des grands groupes, le dimensionnement des nœuds d’infrastructure peut devenir un facteur important d’impact de l’évolutivité. Il existe de nombreux facteurs qui influencent les seuils indiqués, y compris la version etcd ou le format de données de stockage.
Dépasser ces limites ne signifie pas nécessairement que le cluster échouera. Dans la plupart des cas, le dépassement de ces chiffres entraîne une performance globale plus faible.
4.4. Les prochaines étapes Copier lienLien copié sur presse-papiers!
Chapitre 5. La ROSA avec les limites HCP et l’évolutivité Copier lienLien copié sur presse-papiers!
Ce document détaille les maximums de cluster testés pour Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), ainsi que des informations sur l’environnement de test et la configuration utilisée pour tester les maximums. Dans le cas de ROSA avec des clusters HCP, le plan de contrôle est entièrement géré dans le compte AWS de service et sera automatiquement mis à l’échelle avec le cluster.
5.1. Le ROSA avec les maximums de cluster HCP Copier lienLien copié sur presse-papiers!
Considérez les maximums d’objets testés suivants lorsque vous planifiez un service OpenShift Red Hat sur AWS (ROSA) avec l’installation de clusters de plans de contrôle hébergés (HCP). Le tableau spécifie les limites maximales pour chaque type testé dans un ROSA avec cluster HCP.
Ces lignes directrices sont basées sur un groupe de 500 nœuds de calcul (également appelés travailleurs). Dans le cas des groupes plus petits, les maximums sont inférieurs.
Le type maximum | 4.x testé maximum |
---|---|
Le nombre de gousses [1] | 25 000 |
Le nombre de gousses par nœud | 250 |
Le nombre de gousses par noyau | Il n’y a pas de valeur par défaut |
Le nombre d’espaces de noms [2] | 5 000 |
Le nombre de gousses par espace de noms [3] | 25 000 |
Le nombre de services [4] | 10 000 |
Le nombre de services par espace de noms | 5 000 |
Le nombre d’extrémités arrière par service | 5 000 |
Le nombre de déploiements par espace de noms [3] | 2 000 |
- Le nombre de pods affiché ici est le nombre de dosettes de test. Le nombre réel de pods dépend de la mémoire, du CPU et des besoins de stockage de l’application.
- Lorsqu’il y a un grand nombre de projets actifs, etcd peut souffrir d’une mauvaise performance si l’espace clé grandit excessivement et dépasse le quota spatial. L’entretien périodique de etcd, y compris la défragmentation, est fortement recommandé pour rendre le stockage etcd disponible.
- Il y a plusieurs boucles de contrôle dans le système qui doivent itérer sur tous les objets dans un espace de noms donné en réaction à certains changements d’état. Avoir un grand nombre d’objets d’un type, dans un seul espace de noms, peut rendre ces boucles coûteuses et ralentir le traitement des changements d’état. La limite suppose que le système a suffisamment de CPU, de mémoire et de disque pour satisfaire les exigences de l’application.
- Chaque port de service et chaque service arrière ont une entrée correspondante dans iptables. Le nombre d’extrémités arrière d’un service donné a une incidence sur la taille des objets des points de terminaison, ce qui a ensuite une incidence sur la taille des données envoyées dans tout le système.
5.2. Les prochaines étapes Copier lienLien copié sur presse-papiers!
Chapitre 6. La planification de l’utilisation des ressources dans votre cluster Copier lienLien copié sur presse-papiers!
6.1. La planification de votre environnement en fonction des maximums de cluster testés Copier lienLien copié sur presse-papiers!
Ce document décrit comment planifier votre service Red Hat OpenShift sur l’environnement AWS en fonction des maximums de cluster testés.
La sursouscription des ressources physiques sur un nœud affecte les garanties de ressources que le programmeur Kubernetes fait pendant le placement de pod. Apprenez quelles mesures vous pouvez prendre pour éviter l’échange de mémoire.
Certains des maximums testés ne sont étirés que dans une seule dimension. Ils varieront lorsque de nombreux objets s’exécutent sur le cluster.
Les chiffres notés dans cette documentation sont basés sur la méthodologie de test Red Hat, la configuration, la configuration et les réglages. Ces chiffres peuvent varier en fonction de vos propres configurations et environnements individuels.
Lors de la planification de votre environnement, déterminez combien de gousses sont censées s’adapter par nœud en utilisant la formule suivante:
required pods per cluster / pods per node = total number of nodes needed
required pods per cluster / pods per node = total number of nodes needed
Le nombre maximum actuel de gousses par nœud est de 250. Cependant, le nombre de gousses qui s’adaptent à un nœud dépend de l’application elle-même. Considérez les exigences de mémoire, de CPU et de stockage de l’application, telles que décrites dans Planifier votre environnement en fonction des exigences de l’application.
Exemple de scénario
Afin d’étendre votre cluster à 2200 pods par cluster, vous auriez besoin d’au moins neuf nœuds, en supposant qu’il y a 250 pods maximum par nœud:
2200 / 250 = 8.8
2200 / 250 = 8.8
Lorsque vous augmentez le nombre de nœuds à 20, la distribution de la gousse passe à 110 gousses par nœud:
2200 / 20 = 110
2200 / 20 = 110
Là où:
required pods per cluster / total number of nodes = expected pods per node
required pods per cluster / total number of nodes = expected pods per node
6.2. La planification de votre environnement en fonction des exigences de l’application Copier lienLien copié sur presse-papiers!
Ce document décrit comment planifier votre service Red Hat OpenShift sur l’environnement AWS en fonction des exigences de votre application.
Considérez un exemple d’environnement d’application:
Le type de pod | La quantité de gousse | La mémoire Max | Cœurs de CPU | Le stockage persistant |
---|---|---|---|---|
Apache | 100 | 500 MO | 0,5 | 1 GO |
à propos de Node.js | 200 | 1 GO | 1 | 1 GO |
à propos de PostgreSQL | 100 | 1 GO | 2 | 10 GO |
JBoss EAP | 100 | 1 GO | 1 | 1 GO |
Exigences extrapolées: 550 cœurs CPU, 450 Go de RAM et 1,4 To de stockage.
La taille de l’instance pour les nœuds peut être modulée vers le haut ou vers le bas, selon vos préférences. Les nœuds sont souvent surengagés par des ressources. Dans ce scénario de déploiement, vous pouvez choisir d’exécuter des nœuds plus petits ou moins grands pour fournir la même quantité de ressources. Des facteurs tels que l’agilité opérationnelle et le coût par instance devraient être pris en considération.
Le type de nœud | La quantité | CPUs | LA RAM (GB) |
---|---|---|---|
Nœuds (option 1) | 100 | 4 | 16 |
Nœuds (option 2) | 50 | 8 | 32 |
Nœuds (option 3) | 25 | 16 | 64 |
Certaines applications se prêtent bien à des environnements surengagés, et d’autres ne le font pas. La plupart des applications Java et des applications qui utilisent d’énormes pages sont des exemples d’applications qui ne permettraient pas de surengagement. Cette mémoire ne peut pas être utilisée pour d’autres applications. Dans l’exemple ci-dessus, l’environnement serait d’environ 30 pour cent surengagé, un ratio commun.
Les pods d’applications peuvent accéder à un service en utilisant des variables d’environnement ou DNS. En utilisant des variables d’environnement, pour chaque service actif, les variables sont injectées par le kubelet lorsqu’un pod est exécuté sur un nœud. Le serveur DNS conçu par cluster surveille l’API Kubernetes pour de nouveaux services et crée un ensemble d’enregistrements DNS pour chacun d’entre eux. Lorsque DNS est activé tout au long de votre cluster, tous les pods doivent automatiquement être en mesure de résoudre les services par leur nom DNS. La découverte de service à l’aide de DNS peut être utilisée au cas où vous devez aller au-delà de 5000 services. Lors de l’utilisation de variables d’environnement pour la découverte de service, si la liste d’arguments dépasse la longueur autorisée après 5000 services dans un espace de noms, alors les pods et les déploiements commenceront à échouer.
Désactiver les liens de service dans le fichier de spécification de service du déploiement pour surmonter ceci:
Exemple :
Le nombre de pods d’application pouvant s’exécuter dans un espace de noms dépend du nombre de services et de la longueur du nom de service lorsque les variables d’environnement sont utilisées pour la découverte de service. ARG_MAX sur le système définit la longueur d’argument maximale pour un nouveau processus et il est réglé sur 2097152 octets (2 MiB) par défaut. Le kubelet injecte des variables d’environnement dans chaque pod prévu pour s’exécuter dans l’espace de noms, y compris:
-
<SERVICE_NAME>_SERVICE_HOST=<IP>
-
<SERVICE_NAME>_SERVICE_PORT=<PORT>
-
≪SERVICE_NAME>_PORT=tcp://<IP>:<PORT>
-
≪SERVICE_NAME>_PORT_<PORT>_TCP=tcp://<IP>:<PORT>
-
≪SERVICE_NAME>_PORT_<PORT>_TCP_PROTO=tcp
-
<SERVICE_NAME>_PORT_<PORT>_TCP_PORT=<PORT>
-
<SERVICE_NAME>_PORT_<PORT>_TCP_ADDR=<ADDR>
Les pods dans l’espace de noms commencent à échouer si la longueur de l’argument dépasse la valeur autorisée et si le nombre de caractères d’un nom de service l’affecte.
Chapitre 7. Quotas de service AWS requis Copier lienLien copié sur presse-papiers!
Consultez cette liste des quotas de service Amazon Web Service (AWS) requis pour exécuter un service Red Hat OpenShift sur AWS cluster.
7.1. Quotas de service AWS requis Copier lienLien copié sur presse-papiers!
Le tableau ci-dessous décrit les quotas de service AWS et les niveaux requis pour créer et exécuter un service Red Hat OpenShift sur le cluster AWS. Bien que la plupart des valeurs par défaut conviennent à la plupart des charges de travail, vous devrez peut-être demander un quota supplémentaire pour les cas suivants:
- Les clusters ROSA nécessitent un quota minimum de service AWS EC2 de 100 vCPU pour assurer la création, la disponibilité et les mises à niveau de clusters. La valeur maximale par défaut pour les vCPU assignés aux instances Amazon EC2 d’exécution à la demande standard est 5. Donc, si vous n’avez pas créé un cluster ROSA en utilisant le même compte AWS précédemment, vous devez demander un quota EC2 supplémentaire pour les instances de Running On-Demand Standard (A, C, D, H, I, M, R, T, Z).
- Certaines fonctionnalités de configuration de cluster optionnelles, telles que des groupes de sécurité personnalisés, peuvent vous obliger à demander un quota supplémentaire. Ainsi, parce que ROSA associe 1 groupe de sécurité à des interfaces réseau dans les pools de machines de travail par défaut, et que le quota par défaut pour les groupes de sécurité par interface réseau est de 5, si vous souhaitez ajouter 5 groupes de sécurité personnalisés, vous devez demander un quota supplémentaire, car cela porterait le nombre total de groupes de sécurité sur les interfaces réseau des travailleurs à 6.
Le SDK AWS permet à ROSA de vérifier les quotas, mais le calcul AWS SDK ne tient pas compte de votre utilisation existante. Il est donc possible que le contrôle des quotas puisse passer dans le SDK AWS, mais la création de cluster peut échouer. Afin de résoudre ce problème, augmentez votre quota.
Lorsque vous devez modifier ou augmenter un quota spécifique, consultez la documentation d’Amazon sur la demande d’augmentation de quota. Les demandes de quotas importantes sont soumises à Amazon Support pour examen, et prennent un certain temps pour être approuvées. En cas d’urgence, contactez AWS Support.
Le nom du quota | Code de service | Code de quota | AWS par défaut | Le minimum requis | Description |
---|---|---|---|---|---|
Instances en cours d’exécution (A, C, D, H, I, M, R, T, Z) | ec2 | L-1216C47A | 5 | 100 | Le nombre maximal de vCPU assignés aux instances Running On-Demand Standard (A, C, D, H, I, M, R, T, Z). La valeur par défaut de 5 vCPUs n’est pas suffisante pour créer des clusters ROSA. |
Stockage pour stockage de volume SSD à usage général (gp2) dans TiB | EBS | L-D18FCD1D | 50 | 300 | La quantité de stockage agrégée maximale, en TiB, qui peut être fournie sur des volumes SSD à usage général (gp2) dans cette région. |
Stockage pour stockage de volume SSD à usage général (gp3) dans TiB | EBS | L-7A658B76 | 50 | 300 | La quantité de stockage agrégée maximale, en TiB, qui peut être fournie sur des volumes SSD à usage général (gp3) dans cette région. 300 TIB de stockage est le minimum requis pour une performance optimale. |
Entreposage pour les volumes IOPS SSD (io1) provisoires en TiB | EBS | L-FD252861 | 50 | 300 | La quantité de stockage agrégée maximale, en TiB, qui peut être approvisionnée sur les volumes de SSD IOPS provisoires (io1) dans cette région. 300 TIB de stockage est le minimum requis pour une performance optimale. |
Le nom du quota | Code de service | Code de quota | AWS par défaut | Le minimum requis | Description |
---|---|---|---|---|---|
EC2-VPC Elastic IPs | ec2 | L-0263D0A3 | 5 | 5 | Le nombre maximal d’adresses IP élastiques que vous pouvez allouer pour EC2-VPC dans cette région. |
Le VPCS par région | le VPC | L-F678F1CE | 5 | 5 | Le nombre maximal de VPC par région. Ce quota est directement lié au nombre maximal de passerelles Internet par région. |
Passerelles Internet par région | le VPC | L-A4707A72 | 5 | 5 | Le nombre maximal de passerelles Internet par région. Ce quota est directement lié au nombre maximal de VPC par région. Afin d’augmenter ce quota, augmenter le nombre de VPC par région. |
Interfaces réseau par région | le VPC | L-DF5E4CA3 | 5 000 | 5 000 | Le nombre maximal d’interfaces réseau par région. |
Groupes de sécurité par interface réseau | le VPC | L-2AFB9258 | 5 | 5 | Le nombre maximum de groupes de sécurité par interface réseau. Ce quota, multiplié par le quota pour les règles par groupe de sécurité, ne peut excéder 1000. |
Instantanés par région | EBS | L-309BACF6 | 10 000 | 10 000 | Le nombre maximal d’instantanés par région |
IOPS for Provisioned IOPS SSD (Io1) volumes | EBS | L-B3A130E6 | 300 000 | 300 000 | Le nombre total maximal d’IOPS pouvant être approvisionné entre les volumes prévus de DDD (io1) de l’IOPS dans cette région. |
Balanceurs de charge d’application par région | élasticité de charge | L-53DA6B97 | 50 | 50 | Le nombre maximal d’équilibreurs de charge d’application pouvant exister dans chaque région. |
Balanceurs de charge classiques par région | élasticité de charge | L-E9E9831D | 20 | 20 | Le nombre maximal d’équilibreurs de charge classiques pouvant exister dans chaque région. |
7.2. Les prochaines étapes Copier lienLien copié sur presse-papiers!
Chapitre 8. Configuration de l’environnement pour l’utilisation de STS Copier lienLien copié sur presse-papiers!
Après avoir rencontré les prérequis AWS, configurez votre environnement et installez Red Hat OpenShift Service sur AWS (ROSA).
AWS Security Token Service (STS) est le mode d’identification recommandé pour l’installation et l’interaction avec les clusters sur Red Hat OpenShift Service sur AWS car il offre une sécurité accrue.
8.1. La mise en place de l’environnement pour STS Copier lienLien copié sur presse-papiers!
Avant de créer un Red Hat OpenShift Service sur AWS (ROSA) cluster qui utilise AWS Security Token Service (STS), complétez les étapes suivantes pour configurer votre environnement.
Conditions préalables
- Examiner et compléter les prérequis et les politiques de déploiement.
- Créez un compte Red Hat, si vous n’en avez pas déjà un. Ensuite, vérifiez votre email pour obtenir un lien de vérification. Il vous faudra ces informations d’identification pour installer ROSA.
Procédure
Connectez-vous au compte Amazon Web Services (AWS) que vous souhaitez utiliser.
Il est recommandé d’utiliser un compte AWS dédié pour exécuter des clusters de production. Lorsque vous utilisez AWS Organizations, vous pouvez utiliser un compte AWS au sein de votre organisation ou en créer un nouveau.
Lorsque vous utilisez AWS Organizations et que vous devez faire appliquer une stratégie de contrôle des services (SCP) au compte AWS que vous envisagez d’utiliser, ces politiques ne doivent pas être plus restrictives que les rôles et les politiques requis par le cluster.
Activer le service ROSA dans la console de gestion AWS.
- Connectez-vous à votre compte AWS.
- Afin d’activer ROSA, accédez au service ROSA et sélectionnez Activer OpenShift.
Installez et configurez le CLI AWS.
Consultez la documentation de l’interface de ligne de commande AWS pour installer et configurer le CLI AWS pour votre système d’exploitation.
Indiquez les corrects aws_access_key_id et aws_secret_access_key dans le fichier .aws/credentials. Consultez les bases de configuration AWS dans la documentation AWS.
Définissez une région AWS par défaut.
NoteLa variable d’environnement permet de définir la région AWS par défaut.
Le service ROSA évalue les régions dans l’ordre de priorité suivant:
- La région spécifiée lors de l’exécution de la commande rosa avec le drapeau --région.
- La région définie dans la variable d’environnement AWS_DEFAULT_REGION. Consultez les variables Environnement pour configurer le CLI AWS dans la documentation AWS.
- La région par défaut définie dans votre fichier de configuration AWS. Consultez la configuration rapide avec aws configuré dans la documentation AWS.
En option : Configurez vos paramètres et informations d’identification AWS CLI à l’aide d’un profil AWS nommé. dans l’ordre de priorité suivant, Rosa évalue les profils nommés AWS:
- Le profil spécifié lors de l’exécution de la commande rosa avec le drapeau --profile.
- Le profil défini dans la variable d’environnement AWS_PROFILE. Consultez les profils nommés dans la documentation AWS.
Assurez-vous que le CLI AWS est installé et configuré correctement en exécutant la commande suivante pour interroger l’API AWS:
aws sts get-caller-identity
$ aws sts get-caller-identity
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Installez la dernière version de la ROSA CLI (rosa).
- Cliquez ici pour télécharger la dernière version de la ROSA CLI pour votre système d’exploitation.
Facultatif: Renommer le fichier que vous avez téléchargé sur rosa et rendre le fichier exécutable. Cette documentation utilise rosa pour se référer au fichier exécutable.
chmod +x rosa
$ chmod +x rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow En option: Ajoutez rosa à votre chemin.
mv rosa /usr/local/bin/rosa
$ mv rosa /usr/local/bin/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Entrez la commande suivante pour vérifier votre installation:
rosa
$ rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Générez les scripts d’achèvement de la commande pour le ROSA CLI. L’exemple suivant génère les scripts d’achèvement Bash pour une machine Linux:
rosa completion bash | sudo tee /etc/bash_completion.d/rosa
$ rosa completion bash | sudo tee /etc/bash_completion.d/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lancez les scripts pour activer l’achèvement de la commande rosa à partir de votre terminal existant. L’exemple suivant fournit les scripts d’achèvement Bash pour rosa sur une machine Linux:
source /etc/bash_completion.d/rosa
$ source /etc/bash_completion.d/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Connectez-vous à votre compte Red Hat avec le ROSA CLI.
Entrez la commande suivante.
rosa login
$ rosa login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <my_offline_access_token> par votre jeton.
Exemple de sortie
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here: <my-offline-access-token>
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here: <my-offline-access-token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie continue
I: Logged in as '<rh-rosa-user>' on 'https://api.openshift.com'
I: Logged in as '<rh-rosa-user>' on 'https://api.openshift.com'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Assurez-vous que votre compte AWS dispose du quota nécessaire pour déployer un cluster ROSA.
rosa verify quota [--region=<aws_region>]
$ rosa verify quota [--region=<aws_region>]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
I: Validating AWS quota... I: AWS quota ok
I: Validating AWS quota... I: AWS quota ok
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteIl arrive que votre quota AWS varie selon les régions. En cas d’erreur, essayez une autre région.
Lorsque vous avez besoin d’augmenter votre quota, accédez à la console de gestion AWS et demandez une augmentation de quota pour le service qui a échoué.
Après le succès de la vérification des quotas, passez à l’étape suivante.
Créez votre compte AWS pour le déploiement de clusters:
Exécutez la commande suivante pour vérifier que vos identifiants Red Hat et AWS sont configurés correctement. Assurez-vous que votre ID de compte AWS, votre région par défaut et votre ARN correspondent à ce que vous attendez. En toute sécurité, vous pouvez ignorer les lignes commençant par OpenShift Cluster Manager pour l’instant.
rosa whoami
$ rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Installez l’OpenShift CLI (oc), version 4.7.9 ou plus, à partir de la ROSA (rosa) CLI.
Entrez cette commande pour télécharger la dernière version du CLI oc:
rosa download openshift-client
$ rosa download openshift-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Après avoir téléchargé le CLI oc, décompressez-le et ajoutez-le à votre chemin.
Entrez cette commande pour vérifier que le CLI oc est installé correctement:
rosa verify openshift-client
$ rosa verify openshift-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Créer des rôles
Après avoir terminé ces étapes, vous êtes prêt à configurer des rôles basés sur l’accès IAM et OIDC.
8.2. Les prochaines étapes Copier lienLien copié sur presse-papiers!
- Créez rapidement un cluster ROSA avec STS ou créez un cluster à l’aide de personnalisations.
Legal Notice
Copier lienLien copié sur presse-papiers!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.