Google Kubernetes Engine es un administrador de clústeres y un sistema de organización potente para ejecutar contenedores de Docker. Con GKE se programan tus contenedores en el clúster y los administra de forma automática según los requisitos que definas (por ejemplo, de CPU y memoria). Se basa en el sistema de código abierto de Kubernetes y te da la flexibilidad de aprovechar una infraestructura de nube local, híbrida o pública.
Consulta la referencia de Tools for PowerShell para obtener más información sobre los cmdlets de GKE. Para obtener más información sobre GKE en general, consulta la descripción general de GKE.
Crea y actualiza clústeres de GKE
Para crear un clúster, primero debes crear un objeto NodeConfig
con el cmdlet New-GkeNodeConfig
.
Luego, puedes pasar el objeto NodeConfig
al
Cmdlet Add-GkeCluster
. Luego, creará
un clúster cuyos grupos de nodos estarán configurados desde el
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"
En lugar de pasar el objeto NodeConfig
, también puedes usar los parámetros proporcionados en el cmdlet Add-GkeCluster
para crear un clúster (el cmdlet creará un objeto NodeConfig
de forma interna).
# 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
Puedes actualizar un clúster con Set-GkeCluster
cmdlet. Solo se puede actualizar una propiedad del clúster a la 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"
Puedes hacer una lista de los clústeres disponibles con el 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"
Crea y guarda grupos de nodos
Un grupo de nodos es un subconjunto de máquinas con la misma configuración dentro de un clúster. Si bien todos los nodos de un clúster de contenedores son idénticos, los grupos de nodos te permiten crear grupos de máquinas que tengan configuraciones diferentes dentro de tu clúster. Por ejemplo, en tu clúster puedes crear un grupo de nodos que tengan SSD locales o tamaños de instancia más grandes. Debido a esto, los grupos de nodos son útiles para personalizar el perfil de instancia en tu clúster.
Para agregar un grupo de nodos a tu clúster, primero puedes crear un objeto NodePool
con el cmdlet New-GkeNodePool
. Luego, puedes llamar al cmdlet Add-GkeNodePool
.
para agregar el objeto NodePool
a un clúster.
# 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"
Puedes enumerar todos los grupos de nodos en un clúster con el cmdlet Get-GkeNodePool
.
# Lists all node pools in cluster "my-cluster" in the default project. Get-GkeNodePool -ClusterName "my-cluster"
Puedes quitar un grupo de nodos de un clúster con el 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"