Créer et gérer des clusters Google Kubernetes Engine

Google Kubernetes Engine est un puissant gestionnaire de clusters et un système d'orchestration pour l'exécution de conteneurs Docker. GKE programme vos conteneurs dans le cluster et les gère automatiquement en fonction de la configuration que vous définissez (processeur, mémoire, etc.). Cet outil est basé sur le système Open Source Kubernetes qui vous permet d'utiliser une infrastructure cloud publique, hybride ou sur site.

Consultez la documentation de référence de Tools for PowerShell pour en savoir plus sur les cmdlets GKE. Pour en savoir plus sur GKE en général, consultez la section Présentation de GKE.

Créer et mettre à jour des clusters GKE

Vous pouvez créer un cluster en créant d'abord un objet NodeConfig avec le cmdlet New-GkeNodeConfig. Vous pouvez ensuite transmettre l'objet NodeConfig au cmdlet Add-GkeCluster. Celui-ci créera alors un cluster dont les pools de nœuds seront configurés à partir de l'objet NodeConfig.

# Creates a GKE Node Config with image type CONTAINER_VM
# and 20 GB disk size for each node.
$nodeConfig = New-GkeNodeConfig -DiskSizeGb 20 `
                                -ImageType CONTAINER_VM

# Creates a cluster named "my-cluster" in the default zone of the
# default project using config $nodeConfig and network "my-network".
Add-GkeCluster -NodeConfig $nodeConfig `
               -ClusterName "my-cluster" `
               -Network "my-network"

Au lieu de transmettre l'objet NodeConfig, vous pouvez également utiliser les paramètres fournis dans le cmdlet Add-GkeCluster pour créer un cluster (un objet NodeConfig sera créé en interne par le cmdlet).

# Creates a cluster named "my-cluster" with description "my new cluster"
# in the default zone of the default project using machine type
# "n1-standard-4" for each Compute Engine in the cluster.
# The cluster will use the subnetwork "my-subnetwork".
# The cluster's nodes will have autoupgrade enabled.
# The cluster will also autoscale its node pool to a maximum of 2 nodes.
Add-GkeCluster -MachineType "n1-standard-4" `
               -ClusterName "my-cluster" `
               -Description "My new cluster" `
               -Subnetwork "my-subnetwork" `
               -EnableAutoUpgrade `
               -MaximumNodesToScaleTo 2

Vous pouvez mettre à jour un cluster avec le cmdlet Set-GkeCluster. Il n'est possible de mettre à jour qu'une seule des propriétés.

# Sets additional zones of cluster "my-cluster" in zone "asia-east1-a"
# to zones "asia-east1-b" and "asia-east1-c". This means the clusters will
# have nodes created in these zones. The primary zone
# ("asia-east1-a" in this case) will be added to the
# AdditionalZone array by the cmdlet.
Set-GkeCluster -ClusterName "my-cluster" `
               -Zone "asia-east1-a" `
               -AdditionalZone "asia-east1-b", "asia-east1-c"

Vous pouvez répertorier les clusters disponibles avec le cmdlet Get-GkeCluster.

# Lists all container clusters in the default project.
Get-GkeCluster

# List all container clusters in zone "us-central1-a"
# of the default project.
Get-GkeCluster -Zone "us-central1-a"

Créer et gérer des pools de nœuds

Un pool de nœuds est un sous-ensemble de machines au sein d'un cluster ayant toutes la même configuration. Bien que tous les nœuds d'un cluster de conteneurs soient identiques, les pools de nœuds vous permettent de créer, au sein de votre cluster, des pools de machines ayant des configurations différentes. Par exemple, vous pouvez créer un pool de nœuds avec des disques SSD locaux ou des tailles d'instance supérieures. Pour cette raison, les pools de nœuds sont utiles pour personnaliser le profil d'instance dans votre cluster.

Pour ajouter un pool de nœuds à votre cluster, vous pouvez d'abord créer un objet NodePool avec le cmdlet New-GkeNodePool. Vous pouvez ensuite appeler le cmdlet Add-GkeNodePool pour ajouter l'objet NodePool à un cluster.

# Creates a node pool named "my-nodepool" with image type
# CONTAINER_VM for each node.
$nodePool = New-GkeNodePool -NodePoolName "my-nodepool" `
                            -ImageType CONTAINER_VM

# Adds the pool to cluster "my-cluster".
Add-GkeNodePool -NodePool $nodePool -Cluster "my-cluster"

Vous pouvez répertorier tous les pools de nœuds d'un cluster avec le cmdlet Get-GkeNodePool.

# Lists all node pools in cluster "my-cluster" in the default project.
Get-GkeNodePool -ClusterName "my-cluster"

Vous pouvez supprimer un pool de nœuds d'un cluster avec le cmdlet Remove-GkeCluster.

# Removes the node pool "my-nodepool" in cluster "my-cluster"
# in the zone "us-west1-b" of the default project.
Remove-GkeCluster -ClusterName "my-cluster" `
                  -Zone "us-west1-b" `
                  -NodePoolName "my-nodepool"