1.2. La ROSA avec HCP Prérequis
Afin de créer un ROSA avec le cluster HCP, vous devez avoir les éléments suivants:
- Cloud privé virtuel configuré (VPC)
- Les rôles à l’échelle du compte
- Configuration OIDC
- Les rôles d’opérateur
1.2.1. Créer un cloud privé virtuel pour votre ROSA avec des clusters HCP Copier lienLien copié sur presse-papiers!
Il faut disposer d’un cloud privé virtuel (VPC) pour créer ROSA avec le cluster HCP. Il est possible d’utiliser les méthodes suivantes pour créer un VPC:
- Créer un VPC à l’aide d’un modèle Terraform
- Créez manuellement les ressources VPC dans la console AWS
Les instructions Terraform sont à des fins de test et de démonstration. L’installation de votre propre système nécessite quelques modifications au VPC pour votre propre usage. Assurez-vous également que lorsque vous utilisez ce script Terraform, c’est dans la même région que vous avez l’intention d’installer votre cluster. Dans ces exemples, utilisez nous-Est-2.
Création d’un cloud privé virtuel à l’aide de Terraform
Le terraform est un outil qui vous permet de créer diverses ressources à l’aide d’un modèle établi. Le processus suivant utilise les options par défaut au besoin pour créer un ROSA avec le cluster HCP. Consultez les ressources supplémentaires pour plus d’informations sur l’utilisation de Terraform.
Conditions préalables
- La version 1.4.0 ou plus récente de Terraform est installée sur votre machine.
- « vous avez installé Git sur votre machine.
Procédure
Lancez une invite shell et clonez le dépôt Terraform VPC en exécutant la commande suivante:
git clone https://github.com/openshift-cs/terraform-vpc-example
$ git clone https://github.com/openshift-cs/terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Accédez au répertoire créé en exécutant la commande suivante:
cd terraform-vpc-example
$ cd terraform-vpc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lancez le fichier Terraform en exécutant la commande suivante:
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Le message confirmant l’initialisation apparaît lorsque ce processus se termine.
Afin de construire votre plan VPC Terraform basé sur le modèle Terraform existant, exécutez la commande plan. Il faut inclure votre région AWS. Choisissez de spécifier un nom de cluster. Après la fin du plan terraform, un fichier rosa.tfplan est ajouté au répertoire hypershift-tf. Consultez le fichier README du dépôt Terraform VPC.
terraform plan -out rosa.tfplan -var region=<region>
$ terraform plan -out rosa.tfplan -var region=<region>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Appliquez ce fichier de plan pour construire votre VPC en exécutant la commande suivante:
terraform apply rosa.tfplan
$ terraform apply rosa.tfplan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Facultatif: Vous pouvez capturer les valeurs des ID de sous-réseau privés, publics et de pool de machines fournis par Terraform en tant que variables d’environnement à utiliser lors de la création de votre ROSA avec le cluster HCP en exécutant les commandes suivantes:
export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
$ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que les variables ont été correctement définies avec la commande suivante:
echo $SUBNET_IDS
$ echo $SUBNET_IDS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
$ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Création manuelle d’un Cloud privé virtuel
Lorsque vous choisissez de créer manuellement votre Cloud privé virtuel (VPC) au lieu d’utiliser Terraform, accédez à la page VPC de la console AWS.
Le VPC doit répondre aux exigences indiquées dans le tableau suivant.
Exigence | Détails |
---|---|
Le nom du VPC | Il faut avoir le nom et l’identifiant VPC spécifiques lors de la création de votre cluster. |
Gamme CIDR | La gamme VPC CIDR doit correspondre à votre machine CIDR. |
La zone de disponibilité | Il vous faut une zone de disponibilité pour une seule zone, et vous en avez besoin de trois pour les zones de disponibilité pour plusieurs zones. |
Le sous-réseau public | Il faut avoir un sous-réseau public avec une passerelle NAT pour les clusters publics. Les clusters privés n’ont pas besoin d’un sous-réseau public. |
DNS nom d’hôte et résolution | Assurez-vous que le nom d’hôte DNS et la résolution sont activés. |
Étiqueter vos sous-réseaux
Avant de pouvoir utiliser votre VPC pour créer un ROSA avec le cluster HCP, vous devez marquer vos sous-réseaux VPC. Les vérifications automatisées de prévol de service vérifient que ces ressources sont étiquetées correctement avant de pouvoir utiliser ces ressources. Le tableau suivant montre comment vos ressources doivent être étiquetées comme suit:
A) Ressources | La clé | La valeur |
---|---|---|
Le sous-réseau public |
| 1 ou aucune valeur |
Le sous-réseau privé |
| 1 ou aucune valeur |
Il faut marquer au moins un sous-réseau privé et, le cas échéant, et un sous-réseau public.
Conditions préalables
- « vous avez créé un VPC.
- C’est toi qui as installé l’Aws CLI.
Procédure
Balisez vos ressources dans votre terminal en exécutant les commandes suivantes:
Dans le cas des sous-réseaux publics, exécutez:
aws ec2 create-tags --resources <public-subnet-id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
$ aws ec2 create-tags --resources <public-subnet-id> --region <aws_region> --tags Key=kubernetes.io/role/elb,Value=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans le cas des sous-réseaux privés, exécutez:
aws ec2 create-tags --resources <private-subnet-id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
$ aws ec2 create-tags --resources <private-subnet-id> --region <aws_region> --tags Key=kubernetes.io/role/internal-elb,Value=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
La vérification
Assurez-vous que la balise est correctement appliquée en exécutant la commande suivante:
aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
$ aws ec2 describe-tags --filters "Name=resource-id,Values=<subnet_id>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
TAGS Name <subnet-id> subnet <prefix>-subnet-public1-us-east-1a TAGS kubernetes.io/role/elb <subnet-id> subnet 1
TAGS Name <subnet-id> subnet <prefix>-subnet-public1-us-east-1a TAGS kubernetes.io/role/elb <subnet-id> subnet 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.2. Créer les rôles et politiques STS à l’échelle du compte Copier lienLien copié sur presse-papiers!
Avant d’utiliser le service Red Hat OpenShift sur AWS (ROSA) CLI (rosa) pour créer Red Hat OpenShift Service sur AWS (ROSA) avec des clusters de plans de contrôle hébergés (HCP), créez les rôles et les politiques nécessaires à l’échelle du compte, y compris les politiques d’opérateur.
Les ROSA avec les clusters HCP nécessitent des rôles de compte et d’opérateur avec des stratégies gérées AWS jointes. Les politiques gérées par les clients ne sont pas prises en charge. En savoir plus sur les stratégies gérées par AWS pour ROSA avec les clusters HCP, consultez les stratégies gérées AWS pour les rôles de compte ROSA.
Conditions préalables
- Avec HCP, vous avez complété les prérequis AWS pour ROSA.
- Des quotas de service AWS sont disponibles.
- Le service ROSA est activé dans la console AWS.
- L’installation et la configuration de la dernière ROSA CLI (rosa) sur votre hôte d’installation.
- En utilisant le ROSA CLI, vous vous êtes connecté à votre compte Red Hat.
Procédure
Dans le cas où ils n’existent pas dans votre compte AWS, créez les rôles STS requis à l’échelle du compte et attachez les stratégies en exécutant la commande suivante:
rosa create account-roles --hosted-cp
$ rosa create account-roles --hosted-cp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Facultatif: Définir votre préfixe en tant que variable environnementale en exécutant la commande suivante:
export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
$ export ACCOUNT_ROLES_PREFIX=<account_role_prefix>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afficher la valeur de la variable en exécutant la commande suivante:
echo $ACCOUNT_ROLES_PREFIX
$ echo $ACCOUNT_ROLES_PREFIX
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
ManagedOpenShift
ManagedOpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Consultez les politiques IAM gérées par AWS pour ROSA, consultez les politiques IAM gérées par AWS pour ROSA.
1.2.3. Création d’une configuration OpenID Connect Copier lienLien copié sur presse-papiers!
Lorsque vous utilisez un Red Hat OpenShift Service sur AWS cluster, vous pouvez créer la configuration OpenID Connect (OIDC) avant de créer votre cluster. Cette configuration est enregistrée pour être utilisée avec OpenShift Cluster Manager.
Conditions préalables
- Les prérequis AWS pour le service OpenShift Red Hat sont complétés sur 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 votre configuration OIDC à côté des ressources AWS, exécutez la commande suivante:
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette commande renvoie les informations suivantes.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lors de la création de votre cluster, vous devez fournir l’identifiant de configuration OIDC. La sortie CLI fournit cette valeur pour --mode auto, sinon vous devez déterminer ces valeurs en fonction de la sortie CLI aws pour --mode manuel.
Facultatif : vous pouvez enregistrer l’identifiant de configuration OIDC en tant que variable à utiliser ultérieurement. Exécutez la commande suivante pour enregistrer la variable:
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Dans l’exemple de sortie ci-dessus, l’IDC de configuration ID est 13cdr6b.
Afficher la valeur de la variable en exécutant la commande suivante:
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
La vérification
Il est possible de répertorier les configurations OIDC possibles pour vos clusters associés à votre organisation utilisateur. Exécutez la commande suivante:
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.4. Créer des rôles et des politiques de l’opérateur Copier lienLien copié sur presse-papiers!
Lorsque vous utilisez un ROSA avec le cluster HCP, vous devez créer les rôles IAM d’opérateur requis pour Red Hat OpenShift Service sur AWS (ROSA) avec des déploiements de plans de contrôle hébergés (HCP). Les opérateurs de cluster utilisent les rôles d’opérateur pour obtenir les autorisations temporaires requises pour effectuer des opérations de cluster, telles que la gestion du stockage back-end, les informations d’identification des fournisseurs de cloud et l’accès externe à un cluster.
Conditions préalables
- Avec HCP, vous avez complété les prérequis AWS pour ROSA.
- Le dernier service Red Hat OpenShift sur AWS ROSA CLI (rosa) est installé et configuré sur votre hôte d’installation.
- Les rôles AWS à l’échelle du compte ont été créés.
Procédure
Définissez le nom de votre préfixe sur une variable d’environnement en utilisant la commande suivante:
export OPERATOR_ROLES_PREFIX=<prefix_name>
$ export OPERATOR_ROLES_PREFIX=<prefix_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afin de créer vos rôles d’opérateur, exécutez la commande suivante:
rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX --oidc-config-id=$OIDC_ID --installer-role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La ventilation suivante fournit des options pour la création de rôles d’opérateur.
rosa create operator-roles --hosted-cp
$ rosa create operator-roles --hosted-cp --prefix=$OPERATOR_ROLES_PREFIX
1 --oidc-config-id=$OIDC_ID
2 --installer-role-arn arn:aws:iam::${AWS_ACCOUNT_ID}:role/${ACCOUNT_ROLES_PREFIX}-HCP-ROSA-Installer-Role
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Il faut fournir un préfixe lors de la création de ces rôles d’opérateur. Le fait de ne pas le faire produit une erreur. Consultez les ressources supplémentaires de cette section pour obtenir des informations sur le préfixe de l’opérateur.
- 2
- Cette valeur est l’identifiant de configuration OIDC que vous avez créé pour votre ROSA avec le cluster HCP.
- 3
- Cette valeur est le rôle d’installateur ARN que vous avez créé lorsque vous avez créé les rôles de compte ROSA.
Il faut inclure le paramètre --hosted-cp pour créer les rôles corrects pour ROSA avec les clusters HCP. Cette commande renvoie les informations suivantes.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Les rôles d’opérateur sont maintenant créés et prêts à être utilisés pour créer votre ROSA avec le cluster HCP.
La vérification
Il est possible de répertorier les rôles d’opérateur associés à votre compte ROSA. Exécutez la commande suivante:
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Après l’exécution de la commande, il affiche tous les préfixes associés à votre compte AWS et note combien de rôles sont associés à ce préfixe. Lorsque vous avez besoin de voir tous ces rôles et leurs détails, entrez "Oui" sur l’invite détaillée pour avoir ces rôles listés avec des détails.