O Google Kubernetes Engine é um gestor de clusters e um sistema de orquestração eficaz para executar os seus contentores Docker. O GKE agenda os seus contentores no cluster e gere-os automaticamente com base nos requisitos que definir (como CPU e memória). É criada com base no sistema Kubernetes de código aberto, o que lhe dá a flexibilidade de tirar partido da infraestrutura nas instalações, híbrida ou na nuvem pública.
Leia a referência das ferramentas para o PowerShell para saber mais sobre os cmdlets do GKE. Para saber mais sobre o GKE em geral, leia a Vista geral do GKE.
Criar e atualizar clusters do GKE
Pode criar um cluster criando primeiro um objeto NodeConfig
com o cmdlet New-GkeNodeConfig
.
Depois disso, pode transmitir o objeto NodeConfig
ao cmdlet Add-GkeCluster
. Em seguida, cria um cluster cujos conjuntos de nós têm as respetivas configurações definidas a partir do objeto 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"
Em vez de transmitir o objeto NodeConfig
, também pode usar os parâmetros fornecidos no cmdlet Add-GkeCluster
para criar um cluster (o cmdlet cria internamente um objeto NodeConfig
).
# 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
Pode atualizar um cluster com o cmdlet Set-GkeCluster
. Só é possível atualizar uma propriedade do cluster de cada vez.
# 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"
Pode listar os clusters disponíveis com o 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"
Criar e manter node pools
Um conjunto de nós é um subconjunto de máquinas num cluster que têm todas a mesma configuração. Embora todos os nós num cluster de contentores sejam idênticos, os conjuntos de nós permitem-lhe criar conjuntos de máquinas no cluster com configurações diferentes. Por exemplo, pode criar um conjunto de nós no cluster com SSDs locais ou tamanhos de instâncias maiores. Por este motivo, os conjuntos de nós são úteis para personalizar o perfil da instância no cluster.
Para adicionar um conjunto de nós ao cluster, pode primeiro criar um objeto NodePool
com o cmdlet New-GkeNodePool
. Em seguida, pode chamar o cmdlet Add-GkeNodePool
para adicionar o objeto NodePool
a um 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"
Pode listar todos os conjuntos de nós num cluster com o cmdlet Get-GkeNodePool
.
# Lists all node pools in cluster "my-cluster" in the default project. Get-GkeNodePool -ClusterName "my-cluster"
Pode remover um conjunto de nós de um cluster com o 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"