Google Kubernetes Engine es un potente sistema de gestión y orquestación de clústeres para ejecutar contenedores Docker. GKE programa tus contenedores en el clúster y los gestiona automáticamente en función de los requisitos que definas (como CPU y memoria). Está desarrollado en el sistema de código abierto Kubernetes, lo que ofrece flexibilidad para aprovechar la infraestructura de la nube pública, on-premise o híbrida.
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.
Crear y actualizar clústeres de GKE
Para crear un clúster, primero debes crear un objeto NodeConfig
con el cmdlet New-GkeNodeConfig
.
Después, puedes introducir el objeto NodeConfig
en el cmdlet Add-GkeCluster
. A continuación, se creará un clúster cuyos grupos de nodos tendrán sus configuraciones definidas a partir del 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"
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 el cmdlet Set-GkeCluster
. 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"
Puede enumerar 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"
Crear y mantener grupos de nodos
Un grupo de nodos es un subconjunto de máquinas de un clúster que tienen la misma configuración. Aunque todos los nodos de un clúster de contenedores son idénticos, los grupos de nodos te permiten crear grupos de máquinas en tu clúster que tengan configuraciones diferentes. Por ejemplo, puedes crear un grupo de nodos en tu clúster que tengan SSDs locales o instancias de mayor tamaño. Por este motivo, los grupos de nodos son útiles para personalizar el perfil de instancia de tu clúster.
Para añadir un grupo de nodos a tu clúster, primero puedes crear un objeto NodePool
con el cmdlet New-GkeNodePool
. A continuación, puedes llamar al cmdlet Add-GkeNodePool
para añadir 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 de 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"