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 comme expliqué sur cette page. Les ajustements nécessaires sont décrits à chaque étape.

Si vous êtes situé derrière 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 situé derrière le même proxy, consultez la section "Options de proxy manuelles" dans les rubriques avancées Créer un poste de travail administrateur : 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 figurant sur la liste blanche 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 qu'Anthos GKE On-Prem (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'utilisateurs 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 d'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.4.0-gke.13"

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 d'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 les nœuds de votre cluster. 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 de l'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 d'accès au fichier hostconfig de votre VM Seesaw. Exemple :

loadbalancer:
  ...
  seesaw:
    ipBlockFilePath: "user-seesaw-hostconfig.yaml"

loadBalancer.seesaw.vird

Entier. Identifiant du routeur virtuel de la 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 principale de la VM Seesaw. Exemple :

loadBalancer:
  seesaw:
    masterIP: "203.0.113.7"

loadBalancer.seesaw.cpus

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

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

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

loadBalancer:.
  seesaw:
    memoryMB: 8192

loadBalancer.seesaw.enableHA

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

loadBalancer:.
  seesaw:
    enableHA: false

proxy

Chaînes. Si votre réseau se trouve derrière un serveur proxy, vous devez spécifier l'adresse du proxy et toutes les adresses qui ne doivent pas passer par le serveur proxy.

Définissez proxy.url pour spécifier l'adresse HTTP de votre serveur proxy. Vous devez inclure le numéro de port, même s'il est identique au port par défaut du schéma. Le serveur proxy que vous spécifiez ici est utilisé par vos clusters GKE On-Prem. En outre, votre poste de travail administrateur est automatiquement configuré pour utiliser ce même serveur proxy, sauf si vous définissez la variable d'environnement HTTPS_PROXY sur votre poste de travail administrateur.

Configurez proxy.noProxy pour définir une liste d'adresses IP, de plages d'adresses IP, de noms d'hôte et de noms de domaine qui ne doivent pas passer par le serveur proxy. Lorsque GKE On-Site 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:
  url: "http://my-proxy.example.local:80"
  noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"

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 pour 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 peut être utilisé pour l'installation :

gkectl check-config --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config config.yaml

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

Si la commande renvoie des messages FAILURE, corrigez les problèmes et validez à nouveau le fichier.

Si vous souhaitez ignorer les validations les plus longues, transmettez l'option --fast. Pour ignorer les validations individuelles, utilisez les options --skip-validation-xxx. Pour en savoir plus sur la commande check-config, consultez la section 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 --config [CONFIG_FILE]

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

Créer le cluster d'utilisateur

Créez votre cluster d'utilisateur :

gkectl create cluster --config [CONFIG_FILE]

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