Créer un cluster d'utilisateur basique

Cette page décrit comment créer un cluster d'utilisateur.

Les étapes décrites sur cette page supposent que vous avez utilisé gkeadm pour créer votre poste de travail administrateur. Si vous n'avez pas utilisé gkeadm, mais que vous avez suivi les étapes décrites sur la page Créer un poste de travail administrateur avec une adresse IP statique, vous devrez peut-être procéder à des ajustements au fur et à mesure de votre avancée. Les ajustements nécessaires sont décrits à chaque étape.

Si vous êtes protégé par un proxy, toutes les commandes gkectl utilisent automatiquement le même proxy que celui défini dans votre fichier de configuration pour les requêtes Internet provenant du poste de travail administrateur. Si votre poste de travail n'est pas protégé par le même proxy, consultez la section "Options de proxy manuel" dans les rubriques avancées Créer un poste de travail administrateur : Adresse IP statique | DHCP.

Se connecter en SSH à votre 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.

Le compte de service sur liste d'autorisation est activé sur 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'utilisateur

Pour spécifier les adresses IP statiques que vous souhaitez utiliser pour votre cluster d'utilisateur, créez un fichier de configuration d'hôte nommé user-hostconfig.yaml. Dans cet exercice, vous devez spécifier trois adresses IP destinées à être utilisées par le cluster d'utilisateur.

Voici un exemple de fichier de configuration d'hôte comportant trois hôtes :

hostconfig:
  dns: 172.16.255.1
  tod: 216.239.35.0
  otherdns:
  - 8.8.8.8
  - 8.8.4.4
  othertod:
  - ntp.ubuntu.com
  searchdomainsfordns:
  - "my.local.com"
blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.15
      hostname: user-host1
    - ip: 172.16.20.16
      hostname: user-host2
    - ip: 172.16.20.17
      hostname: user-host3

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 attribuer aux nœuds de votre cluster d'utilisateur.

Dans le fichier de configuration de l'hôte, spécifiez également les adresses des serveurs DNS, des serveurs de temps et de la passerelle par défaut que les nœuds du cluster d'utilisateur utiliseront.

Le champ searchdomainsfordns est un tableau de domaines de recherche DNS à utiliser dans le cluster. Ces domaines sont utilisés dans le cadre d'une liste de recherche de domaines.

Champs renseignés dans le fichier de configuration

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é user-cluster.yaml. Ce fichier de configuration, qui se trouve sur votre poste de travail administrateur, sert à créer votre cluster d'utilisateur.

Les fichiers admin-ws-config.yaml et user-cluster.yaml ont plusieurs champs en commun. Les valeurs de ces champs communs sont déjà renseignées dans votre fichier user-cluster.yaml.

Il s'agit des champs déjà renseignés avec les valeurs que vous avez fournies lors de la création de votre poste de travail administrateur :

stackdriver:
  projectID:
  serviceAccountKeyPath:
gkeConnect:
  projectID:
  registerServiceAccountKeyPath:
  agentServiceAccountKeyPath:

Remplir les autres champs du fichier de configuration

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

name

Chaîne. Nom de votre choix pour le cluster d'utilisateur. Exemple :

name: "my-user-cluster"

gkeOnPremVersion

Chaîne. Version de GKE On-Prem pour le cluster d'utilisateur. Exemple :

gkeOnPremVersion: "1.5.0-gke.27"

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 configuration de votre hôte. Exemple :

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

network.serviceCIDR et network.podCiDR

Chaînes. Le cluster d'utilisateur 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"

network.vCenter.networkName

Chaîne. Nom du réseau vSphere pour vos nœuds de cluster.

Si le nom contient un caractère spécial, vous devez utiliser une séquence d'échappement pour celui-ci.

Caractères spéciaux Séquence d'échappement
Barre oblique (/) %2f
Barre oblique inverse (\) %5c
Signe de pourcentage (%) %25

Si le nom du réseau n'est pas unique, il est possible de spécifier un chemin d'accès au réseau, tel que /DATACENTER/network/NETWORK_NAME.

Exemple :

network:
  vCenter:
    networkName: "MY-CLUSTER-NETWORK"

loadBalancer.vips

Chaînes. Définissez la valeur de loadBalancer.vips.controlPlaneVIP sur l'adresse IP que vous avez choisi de configurer dans l'équilibreur de charge pour le serveur d'API Kubernetes du cluster d'utilisateur. Définissez la valeur de loadBalancer.vips.ingressVIP sur l'adresse IP que vous avez choisi de configurer dans l'équilibreur de charge pour le service d'entrée du cluster d'utilisateur. Exemple :

loadBalancer:
  ...
  vips:
    controlplaneVIP: "203.0.113.5"
    ingressVIP: "203.0.113.6"

loadBalancer.kind

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

loadBalancer:
  kind: "Seesaw"

loadBalancer.seesaw.ipBlockFilePath

Chaîne. Définissez ce paramètre sur le chemin du fichier hostconfig de votre VM Seesaw. Exemple :

loadbalancer:
  ...
  seesaw:
    ipBlockFilePath: "user-seesaw-hostconfig.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: 126

loadBalancer.seesaw.masterIP

Chaîne. Adresse IP du plan de contrôle pour la VM Seesaw. Exemple :

loadBalancer:
  seesaw:
    masterIP: "203.0.113.7"

loadBalancer.seesaw.cpus

Entier. Nombre de processeurs de votre VM Seesaw. Exemple :

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Entier. Nombre de mégaoctets de mémoire pour votre VM Seesaw. Exemple :

loadBalancer:.
  seesaw:
    memoryMB: 8192

loadBalancer.seesaw.enableHA

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

loadBalancer:.
  seesaw:
    enableHA: false

nodePools.name

Chaîne. Nom de votre choix pour un pool de nœuds. Exemple :

nodePools:
- name: "my-user-pool"

nodePools.replicas

Entier. Nombre de VM dans le pool de nœuds. Définissez cette valeur sur 3.

nodePools:
- name: "my-user-pool"
  replicas: 3

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.

stackdriver.enablevpc

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.

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

Le fichier de configuration GKE On-Prem comporte plusieurs champs en plus de ceux présentés dans cet article. Par exemple, vous pouvez utiliser le champ manuallbspec afin de configurer GKE On-Prem pour qu'il s'exécute en mode d'équilibrage de charge manuel.

Pour obtenir une description complète des champs du fichier de configuration, consultez les pages Effectuer l'installation via DHCP et Effectuer l'installation à l'aide d'adresses IP statiques.

Valider le fichier de configuration

Après avoir modifié le fichier de configuration, exécutez gkectl check-config pour vérifier que le fichier est valide et qu'il peut être utilisé pour l'installation :

gkectl check-config --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]

où :

  • [ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig du cluster d'administrateur.

  • [CONFIG_FILE] est le chemin d'accès au fichier de configuration du cluster d'utilisateur.

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.

Créer l'équilibreur de charge

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

gkectl create loadbalancer --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]

où :

  • [ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig du cluster d'administrateur.

  • [CONFIG_FILE] est le chemin d'accès au fichier de configuration du cluster d'utilisateur.

Créer le cluster d'utilisateur

Créez votre cluster d'utilisateur :

gkectl create cluster --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CONFIG_FILE]

où :

  • [ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig du cluster d'administrateur.

  • [CONFIG_FILE] est le chemin d'accès au fichier de configuration du cluster d'utilisateur.