Créer un cluster d'administrateur (version Basic)

Cette page explique comment créer un cluster d'administrateur.

Se connecter en SSH au poste de travail administrateur

Dans le sujet précédent, vous avez utilisé gkeadm pour créer un poste de travail administrateur. Rappelez-vous que gkeadm a activé votre compte de service d'accès au composant sur le poste de travail administrateur.

Connectez-vous en SSH à votre poste de travail administrateur en suivant les instructions de la section Obtenir une connexion SSH à votre poste de travail administrateur.

Effectuez toutes les étapes restantes de cette page sur votre poste de travail administrateur.

Configurer des adresses IP statiques pour votre cluster d'administrateur

Pour spécifier les adresses IP statiques que vous souhaitez utiliser pour votre cluster d'administrateur, créez un fichier de bloc d'adresses IP nommé admin-cluster-ipblock.yaml. Pour cet exercice, vous devez spécifier cinq adresses IP à utiliser par le cluster d'administrateur.

Voici un exemple de fichier de blocs d'adresses IP comportant cinq hôtes :

blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.10
      hostname: admin-host1
    - ip: 172.16.20.11
      hostname: admin-host2
    - ip: 172.16.20.12
      hostname: admin-host3
    - ip: 172.16.20.13
      hostname: admin-host4
    - ip: 172.16.20.14
      hostname: admin-host5

Le champ ips est un tableau d'adresses IP et de noms d'hôte. Il s'agit des adresses IP et des noms d'hôte que GKE On-Prem va affecter à vos nœuds de cluster d'administrateur.

Dans le fichier de bloc d'adresses IP, vous spécifiez également un masque de sous-réseau et une passerelle par défaut pour les nœuds du cluster d'administrateur.

Créer un fichier de configuration des identifiants

Créez un fichier de configuration des identifiants nommé admin-creds.yaml, qui contient le nom d'utilisateur et le mot de passe de votre compte utilisateur vCenter. Le compte utilisateur doit disposer du rôle d'administrateur ou de privilèges équivalents.

Voici un exemple de fichier de configuration des identifiants :

apiVersion: v1
kind: "CredentialFile"
items:
- name: "vcenter-creds"
  username: "my-vcenter-account"
  password: "U$icUKEW#INE"

Champs renseignés dans votre fichier de configuration GKE On-Prem

Rappelez-vous que lorsque vous avez créé votre poste de travail administrateur, vous avez rempli un fichier de configuration nommé admin-ws-config.yaml. L'outil de ligne de commande gkeadm a utilisé votre fichier admin-ws-config.yaml pour créer le poste de travail administrateur.

Lorsque gkeadm a créé votre poste de travail administrateur, il a généré un autre fichier de configuration nommé admin-cluster.yaml. Ce fichier de configuration, qui se trouve sur votre poste de travail d'administrateur, sert à créer votre cluster d'administrateur.

Le fichier admin-cluster.yaml contient plusieurs champs qui sont identiques ou étroitement liés à certains champs du fichier admin-ws-config.yaml. Les valeurs de ces champs communs sont déjà renseignées dans votre fichier admin-cluster.yaml.

Les champs suivants de admin-cluster.yaml contiennent déjà les valeurs que vous avez saisies dans votre fichier admin-ws-config.yaml :

vCenter:
  address:
  datacenter:
  cluster:
  network:
    vCenter:
      networkName:
  resourcePool:
  datastore:
  caCertPath:
proxy:
  url:
gcrKeyPath:

Plusieurs autres champs de admin-cluster.yaml sont renseignés avec des valeurs par défaut ou générées. Exemple :

bundlePath:
loadbalancer
  seesaw:
    cpus:
    memoryMB:
    enableHA:
stackdriver:
  projectID:
  serviceAccountKeyPath:

Dans votre fichier admin-cluster.yaml, laissez toutes les valeurs renseignées inchangées.

Remplir le reste du fichier de configuration du cluster d'administrateur

Vous devez ensuite remplir les autres champs de votre fichier admin-cluster.yaml.

vCenter.credentials.fileRef.path

Chaîne. Chemin d'accès de votre fichier de configuration des identifiants. Exemple :

vCenter:
  credentials:
    fileRef:
      path: "admin-creds.yaml"

vCenter.credentials.fileRef.entry

Chaîne. Nom du bloc d'identifiants, dans votre fichier de configuration des identifiants, qui contient le nom d'utilisateur et le mot de passe de votre compte utilisateur vCenter. Exemple :

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-creds"

vCenter.dataDisk

Chaîne. GKE On-Prem crée un disque de machine virtuelle (VMDK) afin d'y stocker les données de l'objet Kubernetes pour le cluster d'administrateur. Le programme d'installation crée le VMDK, mais vous devez lui attribuer un nom dans le champ vCenter.dataDisk. Exemple :

vCenter:
  dataDisk: "my-disk.vmdk"
Datastore vSAN : créer un dossier pour le VMDK

Si vous utilisez un datastore vSAN, vous devez placer le VMDK dans un dossier. Vous devez créer le dossier manuellement à l'avance. Pour ce faire, vous pouvez utiliser govc :

govc datastore.mkdir -namespace=true my-gke-on-prem-folder

Définissez ensuite vCenter.dataDisk sur le chemin d'accès du VMDK, en y incluant le nom du dossier. Exemple :

vDenter:
dataDisk: "my-gke-on-prem-folder/my-disk.vmdk"

network.ipMode.type

Chaîne. Définissez cette valeur sur "static".

network:
  ipMode:
    type: "static"

network.ipBlockFilePath

Chaîne. Étant donné que vous utilisez des adresses IP statiques, vous devez disposer d'un fichier de configuration d'hôte comme décrit dans la section Configurer des adresses IP statiques. Définissez network.ipBlockFilePath sur le chemin d'accès au fichier de blocs d'adresses IP. Exemple :

network:
  ipBlockFilePath: "/my-config-directory/admin-cluster-ipblock.yaml"

network.serviceCIDR et network.podCiDR

Chaînes. Le cluster d'administrateur doit disposer d'une plage d'adresses IP à utiliser pour les services et d'une plage d'adresses IP à utiliser pour les pods. Ces plages sont spécifiées par les champs network.serviceCIDR et network.podCIDR. Ces champs sont renseignés avec des valeurs par défaut. Si vous le souhaitez, vous pouvez remplacer les valeurs renseignées par les valeurs de votre choix.

Les plages de services et de pods ne doivent pas se chevaucher. En outre, les plages de services et de pods ne doivent pas chevaucher les adresses IP utilisées pour les nœuds d'un cluster.

Exemple :

network:
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"

loadBalancer.vips

Chaînes. Définissez la valeur de loadBalancer.vips.controlPlaneVIP sur l'adresse IP que vous avez choisi de configurer sur l'équilibreur de charge pour le serveur d'API Kubernetes du cluster d'administrateur. Définissez la valeur de loadBalancer.vips.addonsVIP sur l'adresse IP que vous avez choisie pour configurer l'équilibreur de charge pour les modules complémentaires. Exemple :

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"
    addonsVIP: "203.0.113.4"

loadBalancer.kind

Chaîne. Définissez cette valeur sur "Seesaw". Exemple :

loadBalancer:
  kind: "Seesaw"

loadBalancer.seesaw.ipBlockFilePath

Chaîne. Définissez cette valeur sur le chemin d'accès au fichier de blocs d'adresses IP de votre VM Seesaw.

Exemple :

loadbalancer:
  seesaw:
    ipBlockFilePath: "admin-seesaw-ipblock.yaml"

loadBalancer.seesaw.vird

Entier. Identifiant de routeur virtuel de votre VM Seesaw. Cet identifiant doit être unique dans un VLAN. La plage valide est comprise entre 1 et 255. Exemple :

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Chaîne. Une adresse IP de votre choix, annoncée par votre VM Seesaw Exemple :

loadBalancer:
  seesaw:
    masterIP: "172.16.20.21"

loadBalancer.seesaw.enableHA

Valeur booléenne. Définissez cette valeur sur false. Exemple :

loadBalancer:.
  seesaw:
    enableHA: false

proxy.url

Chaîne. Si vous avez saisi une valeur pour proxyURL dans le fichier de configuration de votre poste de travail administrateur, ce champ est déjà renseigné avec cette même valeur.

Si vous souhaitez que vos clusters d'administrateur et d'utilisateur se trouvent derrière un proxy différent de votre poste de travail administrateur, définissez cette valeur sur l'adresse HTTP du serveur proxy que vous souhaitez utiliser pour vos clusters. Vous devez inclure le numéro de port, même s'il est identique au port par défaut du schéma. Exemple :

proxy:
  url: "http://my-proxy.example.local:80"

proxy.noProxy

Chaîne. Liste d'adresses IP, de plages d'adresses IP, de noms d'hôte et de noms de domaine séparés par une virgule qui ne doivent pas passer par le serveur proxy. Lorsque GKE On-Prem envoie une requête à l'une de ces adresses, ou à l'un de ces hôtes ou domaines, cette requête est envoyée directement. Exemple :

proxy:
  noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"

stackdriver.clusterLocation

Chaîne. Région Google Cloud dans laquelle vous souhaitez stocker les journaux. Nous vous recommandons de choisir une région à proximité de votre centre de données sur site. Exemple :

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Valeur booléenne. Définissez stackdriver.enableVPC sur true si le réseau de votre cluster est contrôlé par un VPC. Ainsi, toute la télémétrie passe par les adresses IP restreintes de Google. Sinon, définissez cette valeur sur false. Exemple :

stackdriver:
  enableVPC: false

Champs supplémentaires dans le fichier de configuration du cluster d'administrateur

Le fichier de configuration du cluster d'administrateur comporte plusieurs champs en plus de ceux mentionnés dans cet article. Pour une description complète des champs du fichier de configuration, consultez la section Fichier de configuration du cluster d'administrateur.

Valider le fichier de configuration du cluster d'administrateur

Après avoir modifié le fichier de configuration du cluster d'administrateur, exécutez gkectl check-config pour vérifier que le fichier est valide et qu'il peut être utilisé pour créer un cluster :

gkectl check-config --config admin-cluster.yaml

Si la commande renvoie des messages FAILURE, vous devez d'abord corriger les problèmes et valider à nouveau le fichier.

Si vous souhaitez ignorer les validations les plus longues, transmettez l'option --fast. Pour ignorer des validations individuelles, utilisez les options --skip-validation-xxx. Pour en savoir plus sur la commande check-config, consultez la page Exécuter des vérifications préliminaires.

Exécuter gkectl prepare

Exécutez gkectl prepare pour initialiser votre environnement vSphere :

gkectl prepare --config admin-cluster.yaml

Créer l'équilibreur de charge

Créez et configurez la VM pour votre équilibreur de charge Seesaw :

gkectl create loadbalancer --config admin-cluster.yaml

Créer le cluster d'administrateur

Créez votre cluster d'administrateur :

gkectl create admin --config admin-cluster.yaml