5.3. Installing a cluster quickly on Alibaba Cloud
In OpenShift Container Platform version 4.12, you can install a cluster on Alibaba Cloud that uses the default configuration options.
Alibaba Cloud on OpenShift Container Platform is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
5.3.1. Conditions préalables
- You reviewed details about the OpenShift Container Platform installation and update processes.
- You read the documentation on selecting a cluster installation method and preparing it for users.
- You registered your domain.
- If you use a firewall, you configured it to allow the sites that your cluster requires access to.
- You have created the required Alibaba Cloud resources.
- If the cloud Resource Access Management (RAM) APIs are not accessible in your environment, or if you do not want to store an administrator-level credential secret in the kube-system namespace, you can manually create and maintain Resource Access Management (RAM) credentials.
5.3.2. Accès à l'internet pour OpenShift Container Platform
Dans OpenShift Container Platform 4.12, vous devez avoir accès à Internet pour installer votre cluster.
Vous devez disposer d'un accès à l'internet pour :
- Accédez à OpenShift Cluster Manager Hybrid Cloud Console pour télécharger le programme d'installation et effectuer la gestion des abonnements. Si le cluster dispose d'un accès internet et que vous ne désactivez pas Telemetry, ce service donne automatiquement des droits à votre cluster.
- Accédez à Quay.io pour obtenir les paquets nécessaires à l'installation de votre cluster.
- Obtenir les paquets nécessaires pour effectuer les mises à jour de la grappe.
Si votre cluster ne peut pas avoir d'accès direct à l'internet, vous pouvez effectuer une installation en réseau restreint sur certains types d'infrastructure que vous fournissez. Au cours de ce processus, vous téléchargez le contenu requis et l'utilisez pour remplir un registre miroir avec les paquets d'installation. Avec certains types d'installation, l'environnement dans lequel vous installez votre cluster ne nécessite pas d'accès à Internet. Avant de mettre à jour le cluster, vous mettez à jour le contenu du registre miroir.
5.3.3. Generating a key pair for cluster node SSH access
During an OpenShift Container Platform installation, you can provide an SSH public key to the installation program. The key is passed to the Red Hat Enterprise Linux CoreOS (RHCOS) nodes through their Ignition config files and is used to authenticate SSH access to the nodes. The key is added to the ~/.ssh/authorized_keys
list for the core
user on each node, which enables password-less authentication.
After the key is passed to the nodes, you can use the key pair to SSH in to the RHCOS nodes as the user core
. To access the nodes through SSH, the private key identity must be managed by SSH for your local user.
If you want to SSH in to your cluster nodes to perform installation debugging or disaster recovery, you must provide the SSH public key during the installation process. The ./openshift-install gather
command also requires the SSH public key to be in place on the cluster nodes.
Do not skip this procedure in production environments, where disaster recovery and debugging is required.
You must use a local key, not one that you configured with platform-specific approaches such as AWS key pairs.
Procédure
If you do not have an existing SSH key pair on your local machine to use for authentication onto your cluster nodes, create one. For example, on a computer that uses a Linux operating system, run the following command:
$ ssh-keygen -t ed25519 -N '' -f <path>/<file_name> 1
- 1
- Specify the path and file name, such as
~/.ssh/id_ed25519
, of the new SSH key. If you have an existing key pair, ensure your public key is in the your~/.ssh
directory.
NoteIf you plan to install an OpenShift Container Platform cluster that uses FIPS Validated / Modules in Process cryptographic libraries on the
x86_64
architecture, do not create a key that uses theed25519
algorithm. Instead, create a key that uses thersa
orecdsa
algorithm.View the public SSH key:
$ cat <path>/<file_name>.pub
For example, run the following to view the
~/.ssh/id_ed25519.pub
public key:$ cat ~/.ssh/id_ed25519.pub
Add the SSH private key identity to the SSH agent for your local user, if it has not already been added. SSH agent management of the key is required for password-less SSH authentication onto your cluster nodes, or if you want to use the
./openshift-install gather
command.NoteOn some distributions, default SSH private key identities such as
~/.ssh/id_rsa
and~/.ssh/id_dsa
are managed automatically.If the
ssh-agent
process is not already running for your local user, start it as a background task:$ eval "$(ssh-agent -s)"
Exemple de sortie
Agent pid 31874
NoteIf your cluster is in FIPS mode, only use FIPS-compliant algorithms to generate the SSH key. The key must be either RSA or ECDSA.
Add your SSH private key to the
ssh-agent
:$ ssh-add <path>/<file_name> 1
- 1
- Specify the path and file name for your SSH private key, such as
~/.ssh/id_ed25519
Exemple de sortie
Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
Prochaines étapes
- When you install OpenShift Container Platform, provide the SSH public key to the installation program.
5.3.4. Obtaining the installation program
Before you install OpenShift Container Platform, download the installation file on the host you are using for installation.
Conditions préalables
- You have a computer that runs Linux or macOS, with 500 MB of local disk space.
Procédure
- Access the Infrastructure Provider page on the OpenShift Cluster Manager site. If you have a Red Hat account, log in with your credentials. If you do not, create an account.
- Select your infrastructure provider.
Navigate to the page for your installation type, download the installation program that corresponds with your host operating system and architecture, and place the file in the directory where you will store the installation configuration files.
ImportantThe installation program creates several files on the computer that you use to install your cluster. You must keep the installation program and the files that the installation program creates after you finish installing the cluster. Both files are required to delete the cluster.
ImportantDeleting the files created by the installation program does not remove your cluster, even if the cluster failed during installation. To remove your cluster, complete the OpenShift Container Platform uninstallation procedures for your specific cloud provider.
Extract the installation program. For example, on a computer that uses a Linux operating system, run the following command:
$ tar -xvf openshift-install-linux.tar.gz
- Download your installation pull secret from the Red Hat OpenShift Cluster Manager. This pull secret allows you to authenticate with the services that are provided by the included authorities, including Quay.io, which serves the container images for OpenShift Container Platform components.
5.3.5. Creating the installation configuration file
You can customize the OpenShift Container Platform cluster you install on Alibaba Cloud.
Conditions préalables
- Obtain the OpenShift Container Platform installation program and the pull secret for your cluster.
- Obtain service principal permissions at the subscription level.
Procédure
Create the
install-config.yaml
file.Change to the directory that contains the installation program and run the following command:
$ ./openshift-install create install-config --dir <installation_directory> 1
- 1
- For
<installation_directory>
, specify the directory name to store the files that the installation program creates.
When specifying the directory:
-
Verify that the directory has the
execute
permission. This permission is required to run Terraform binaries under the installation directory. - Use an empty directory. Some installation assets, such as bootstrap X.509 certificates, have short expiration intervals, therefore you must not reuse an installation directory. If you want to reuse individual files from another cluster installation, you can copy them into your directory. However, the file names for the installation assets might change between releases. Use caution when copying installation files from an earlier OpenShift Container Platform version.
At the prompts, provide the configuration details for your cloud:
Optional: Select an SSH key to use to access your cluster machines.
NoteFor production OpenShift Container Platform clusters on which you want to perform installation debugging or disaster recovery, specify an SSH key that your
ssh-agent
process uses.- Select alibabacloud as the platform to target.
- Select the region to deploy the cluster to.
- Select the base domain to deploy the cluster to. The base domain corresponds to the public DNS zone that you created for your cluster.
- Provide a descriptive name for your cluster.
- Paste the pull secret from the Red Hat OpenShift Cluster Manager.
Installing the cluster into Alibaba Cloud requires that the Cloud Credential Operator (CCO) operate in manual mode. Modify the
install-config.yaml
file to set thecredentialsMode
parameter toManual
:Example install-config.yaml configuration file with
credentialsMode
set toManual
apiVersion: v1 baseDomain: cluster1.example.com credentialsMode: Manual 1 compute: - architecture: amd64 hyperthreading: Enabled ...
- 1
- Add this line to set the
credentialsMode
toManual
.
Back up the
install-config.yaml
file so that you can use it to install multiple clusters.ImportantThe
install-config.yaml
file is consumed during the installation process. If you want to reuse the file, you must back it up now.
5.3.6. Generating the required installation manifests
You must generate the Kubernetes manifest and Ignition config files that the cluster needs to configure the machines.
Procédure
Generate the manifests by running the following command from the directory that contains the installation program:
$ openshift-install create manifests --dir <installation_directory>
où :
<installation_directory>
- Specifies the directory in which the installation program creates files.
5.3.7. Creating credentials for OpenShift Container Platform components with the ccoctl tool
You can use the OpenShift Container Platform Cloud Credential Operator (CCO) utility to automate the creation of Alibaba Cloud RAM users and policies for each in-cluster component.
Par défaut, ccoctl
crée les objets dans le répertoire dans lequel les commandes sont exécutées. Pour créer les objets dans un autre répertoire, utilisez l'option --output-dir
. Cette procédure utilise <path_to_ccoctl_output_dir>
pour faire référence à ce répertoire.
Conditions préalables
Vous devez avoir :
-
Extraction et préparation du binaire
ccoctl
. - Created a RAM user with sufficient permission to create the OpenShift Container Platform cluster.
-
Added the AccessKeyID (
access_key_id
) and AccessKeySecret (access_key_secret
) of that RAM user into the~/.alibabacloud/credentials
file on your local computer.
Procédure
Set the
$RELEASE_IMAGE
variable by running the following command:$ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')
Extrayez la liste des objets
CredentialsRequest
de l'image de la version d'OpenShift Container Platform en exécutant la commande suivante :$ oc adm release extract \ --credentials-requests \ --cloud=alibabacloud \ --to=<path_to_directory_with_list_of_credentials_requests>/credrequests \ 1 $RELEASE_IMAGE
- 1
credrequests
est le répertoire dans lequel la liste des objetsCredentialsRequest
est stockée. Cette commande crée le répertoire s'il n'existe pas.
NoteL'exécution de cette commande peut prendre quelques instants.
Si votre cluster utilise les capacités du cluster pour désactiver un ou plusieurs composants optionnels, supprimez les ressources personnalisées
CredentialsRequest
pour tous les composants désactivés.Example
credrequests
directory contents for OpenShift Container Platform 4.12 on Alibaba Cloud0000_30_machine-api-operator_00_credentials-request.yaml 1 0000_50_cluster-image-registry-operator_01-registry-credentials-request-alibaba.yaml 2 0000_50_cluster-ingress-operator_00-ingress-credentials-request.yaml 3 0000_50_cluster-storage-operator_03_credentials_request_alibaba.yaml 4
Utilisez l'outil
ccoctl
pour traiter tous les objetsCredentialsRequest
dans le répertoirecredrequests
:Run the following command to use the tool:
$ ccoctl alibabacloud create-ram-users \ --name <name> \ --region=<alibaba_region> \ --credentials-requests-dir=<path_to_directory_with_list_of_credentials_requests>/credrequests \ --output-dir=<path_to_ccoctl_output_dir>
où :
-
<name>
est le nom utilisé pour étiqueter toutes les ressources du nuage créées pour le suivi. -
<alibaba_region>
is the Alibaba Cloud region in which cloud resources will be created. -
<path_to_directory_with_list_of_credentials_requests>/credrequests
is the directory containing the files for the componentCredentialsRequest
objects. -
<path_to_ccoctl_output_dir>
is the directory where the generated component credentials secrets will be placed.
NoteSi votre cluster utilise des fonctionnalités d'aperçu technologique activées par l'ensemble de fonctionnalités
TechPreviewNoUpgrade
, vous devez inclure le paramètre--enable-tech-preview
.Exemple de sortie
2022/02/11 16:18:26 Created RAM User: user1-alicloud-openshift-machine-api-alibabacloud-credentials 2022/02/11 16:18:27 Ready for creating new ram policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy 2022/02/11 16:18:27 RAM policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy has created 2022/02/11 16:18:28 Policy user1-alicloud-openshift-machine-api-alibabacloud-credentials-policy-policy has attached on user user1-alicloud-openshift-machine-api-alibabacloud-credentials 2022/02/11 16:18:29 Created access keys for RAM User: user1-alicloud-openshift-machine-api-alibabacloud-credentials 2022/02/11 16:18:29 Saved credentials configuration to: user1-alicloud/manifests/openshift-machine-api-alibabacloud-credentials-credentials.yaml ...
NoteA RAM user can have up to two AccessKeys at the same time. If you run
ccoctl alibabacloud create-ram-users
more than twice, the previous generated manifests secret becomes stale and you must reapply the newly generated secrets.-
Verify that the OpenShift Container Platform secrets are created:
$ ls <path_to_ccoctl_output_dir>/manifests
Exemple de sortie :
openshift-cluster-csi-drivers-alibaba-disk-credentials-credentials.yaml openshift-image-registry-installer-cloud-credentials-credentials.yaml openshift-ingress-operator-cloud-credentials-credentials.yaml openshift-machine-api-alibabacloud-credentials-credentials.yaml
You can verify that the RAM users and policies are created by querying Alibaba Cloud. For more information, refer to Alibaba Cloud documentation on listing RAM users and policies.
Copy the generated credential files to the target manifests directory:
$ cp ./<path_to_ccoctl_output_dir>/manifests/*credentials.yaml ./<path_to_installation>dir>/manifests/
où :
<path_to_ccoctl_output_dir>
-
Specifies the directory created by the
ccoctl alibabacloud create-ram-users
command. <path_to_installation_dir>
- Specifies the directory in which the installation program creates files.
5.3.8. Deploying the cluster
You can install OpenShift Container Platform on a compatible cloud platform.
You can run the create cluster
command of the installation program only once, during initial installation.
Conditions préalables
- Configurez un compte auprès de la plateforme cloud qui héberge votre cluster.
- Obtain the OpenShift Container Platform installation program and the pull secret for your cluster.
Procédure
Change to the directory that contains the installation program and initialize the cluster deployment:
$ ./openshift-install create cluster --dir <installation_directory> \ 1 --log-level=info 2
NoteIf the cloud provider account that you configured on your host does not have sufficient permissions to deploy the cluster, the installation process stops, and the missing permissions are displayed.
Vérification
When the cluster deployment completes successfully:
-
The terminal displays directions for accessing your cluster, including a link to the web console and credentials for the
kubeadmin
user. -
Credential information also outputs to
<installation_directory>/.openshift_install.log
.
Do not delete the installation program or the files that the installation program creates. Both are required to delete the cluster.
Exemple de sortie
... INFO Install complete! INFO To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/home/myuser/install_dir/auth/kubeconfig' INFO Access the OpenShift web-console here: https://console-openshift-console.apps.mycluster.example.com INFO Login to the console with user: "kubeadmin", and password: "4vYBz-Ee6gm-ymBZj-Wt5AL" INFO Time elapsed: 36m22s
-
Les fichiers de configuration d'Ignition générés par le programme d'installation contiennent des certificats qui expirent après 24 heures et qui sont renouvelés à ce moment-là. Si le cluster est arrêté avant le renouvellement des certificats et qu'il est redémarré après l'expiration des 24 heures, le cluster récupère automatiquement les certificats expirés. L'exception est que vous devez approuver manuellement les demandes de signature de certificat (CSR) de
node-bootstrapper
en attente pour récupérer les certificats de kubelet. Pour plus d'informations, consultez la documentation relative à Recovering from expired control plane certificates. - Il est recommandé d'utiliser les fichiers de configuration Ignition dans les 12 heures suivant leur génération, car le certificat de 24 heures tourne entre 16 et 22 heures après l'installation du cluster. En utilisant les fichiers de configuration Ignition dans les 12 heures, vous pouvez éviter l'échec de l'installation si la mise à jour du certificat s'exécute pendant l'installation.
5.3.9. Installer le CLI OpenShift en téléchargeant le binaire
Vous pouvez installer l'OpenShift CLI (oc
) pour interagir avec OpenShift Container Platform à partir d'une interface de ligne de commande. Vous pouvez installer oc
sur Linux, Windows ou macOS.
Si vous avez installé une version antérieure de oc
, vous ne pouvez pas l'utiliser pour exécuter toutes les commandes dans OpenShift Container Platform 4.12. Téléchargez et installez la nouvelle version de oc
.
Installation de la CLI OpenShift sur Linux
Vous pouvez installer le binaire OpenShift CLI (oc
) sur Linux en utilisant la procédure suivante.
Procédure
- Naviguez jusqu'à la page de téléchargements OpenShift Container Platform sur le portail client Red Hat.
- Sélectionnez l'architecture dans la liste déroulante Product Variant.
- Sélectionnez la version appropriée dans la liste déroulante Version.
- Cliquez sur Download Now à côté de l'entrée OpenShift v4.12 Linux Client et enregistrez le fichier.
Décompressez l'archive :
tar xvf <file>
Placez le fichier binaire
oc
dans un répertoire situé sur votre sitePATH
.Pour vérifier votre
PATH
, exécutez la commande suivante :$ echo $PATH
Après l'installation de la CLI OpenShift, elle est disponible à l'aide de la commande oc
:
oc <command>
Installation de la CLI OpenShift sur Windows
Vous pouvez installer le binaire OpenShift CLI (oc
) sur Windows en utilisant la procédure suivante.
Procédure
- Naviguez jusqu'à la page de téléchargements OpenShift Container Platform sur le portail client Red Hat.
- Sélectionnez la version appropriée dans la liste déroulante Version.
- Cliquez sur Download Now à côté de l'entrée OpenShift v4.12 Windows Client et enregistrez le fichier.
- Décompressez l'archive à l'aide d'un programme ZIP.
Déplacez le fichier binaire
oc
dans un répertoire situé sur votre sitePATH
.Pour vérifier votre
PATH
, ouvrez l'invite de commande et exécutez la commande suivante :C:\N> path
Après l'installation de la CLI OpenShift, elle est disponible à l'aide de la commande oc
:
C:\N> oc <command>
Installation de la CLI OpenShift sur macOS
Vous pouvez installer le binaire OpenShift CLI (oc
) sur macOS en utilisant la procédure suivante.
Procédure
- Naviguez jusqu'à la page de téléchargements OpenShift Container Platform sur le portail client Red Hat.
- Sélectionnez la version appropriée dans la liste déroulante Version.
Cliquez sur Download Now à côté de l'entrée OpenShift v4.12 macOS Client et enregistrez le fichier.
NotePour macOS arm64, choisissez l'entrée OpenShift v4.12 macOS arm64 Client.
- Décompressez l'archive.
Déplacez le binaire
oc
dans un répertoire de votre PATH.Pour vérifier votre
PATH
, ouvrez un terminal et exécutez la commande suivante :$ echo $PATH
Après l'installation de la CLI OpenShift, elle est disponible à l'aide de la commande oc
:
oc <command>
5.3.10. Logging in to the cluster by using the CLI
You can log in to your cluster as a default system user by exporting the cluster kubeconfig
file. The kubeconfig
file contains information about the cluster that is used by the CLI to connect a client to the correct cluster and API server. The file is specific to a cluster and is created during OpenShift Container Platform installation.
Conditions préalables
- You deployed an OpenShift Container Platform cluster.
-
Vous avez installé le CLI
oc
.
Procédure
Export the
kubeadmin
credentials:$ export KUBECONFIG=<installation_directory>/auth/kubeconfig 1
- 1
- For
<installation_directory>
, specify the path to the directory that you stored the installation files in.
Verify you can run
oc
commands successfully using the exported configuration:$ oc whoami
Exemple de sortie
system:admin
5.3.11. Logging in to the cluster by using the web console
The kubeadmin
user exists by default after an OpenShift Container Platform installation. You can log in to your cluster as the kubeadmin
user by using the OpenShift Container Platform web console.
Conditions préalables
- You have access to the installation host.
- You completed a cluster installation and all cluster Operators are available.
Procédure
Obtain the password for the
kubeadmin
user from thekubeadmin-password
file on the installation host:$ cat <installation_directory>/auth/kubeadmin-password
NoteAlternatively, you can obtain the
kubeadmin
password from the<installation_directory>/.openshift_install.log
log file on the installation host.List the OpenShift Container Platform web console route:
$ oc get routes -n openshift-console | grep 'console-openshift'
NoteAlternatively, you can obtain the OpenShift Container Platform route from the
<installation_directory>/.openshift_install.log
log file on the installation host.Exemple de sortie
console console-openshift-console.apps.<cluster_name>.<base_domain> console https reencrypt/Redirect None
-
Navigate to the route detailed in the output of the preceding command in a web browser and log in as the
kubeadmin
user.
5.3.12. Telemetry access for OpenShift Container Platform
In OpenShift Container Platform 4.12, the Telemetry service, which runs by default to provide metrics about cluster health and the success of updates, requires internet access. If your cluster is connected to the internet, Telemetry runs automatically, and your cluster is registered to OpenShift Cluster Manager Hybrid Cloud Console.
After you confirm that your OpenShift Cluster Manager Hybrid Cloud Console inventory is correct, either maintained automatically by Telemetry or manually by using OpenShift Cluster Manager, use subscription watch to track your OpenShift Container Platform subscriptions at the account or multi-cluster level.
Ressources complémentaires
- See Accessing the web console for more details about accessing and understanding the OpenShift Container Platform web console.
- See About remote health monitoring for more information about the Telemetry service
5.3.13. Prochaines étapes
- Validating an installation.
- Customize your cluster.
- If necessary, you can opt out of remote health reporting.