Membuat dan mengelola cluster Google Kubernetes Engine

Google Kubernetes Engine adalah pengelola cluster dan sistem orkestrasi yang canggih untuk menjalankan container Docker Anda. GKE menjadwalkan container Anda ke dalam cluster dan mengelolanya secara otomatis berdasarkan persyaratan yang Anda tentukan (seperti CPU dan memori). Anthos dibangun di sistem Kubernetes open source, sehingga memberi Anda fleksibilitas untuk memanfaatkan infrastruktur cloud lokal, hybrid, atau publik.

Baca referensi Alat untuk PowerShell untuk mempelajari cmdlet GKE lebih lanjut. Untuk mempelajari GKE lebih lanjut secara umum, baca Ringkasan GKE.

Membuat dan memperbarui cluster GKE

Anda dapat membuat cluster dengan terlebih dahulu membuat objek NodeConfig dengan cmdlet New-GkeNodeConfig. Setelah itu, Anda dapat meneruskan objek NodeConfig ke cmdlet Add-GkeCluster. Kemudian, objek ini akan membuat cluster yang konfigurasi node pool-nya akan ditetapkan dari objek 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"

Daripada meneruskan objek NodeConfig, Anda juga dapat menggunakan parameter yang disediakan dalam cmdlet Add-GkeCluster untuk membuat cluster (objek NodeConfig akan dibuat secara internal oleh 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

Anda dapat mengupdate cluster dengan cmdlet Set-GkeCluster. Hanya satu properti cluster yang dapat diperbarui dalam satu waktu.

# 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"

Anda dapat membuat daftar cluster yang tersedia dengan 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"

Membuat dan Mengelola Node Pool

Node pool adalah subset mesin dalam cluster yang semuanya memiliki konfigurasi yang sama. Meskipun semua node dalam cluster penampung identik, kumpulan node memungkinkan Anda membuat kumpulan mesin dalam cluster yang memiliki konfigurasi yang berbeda. Misalnya, Anda dapat membuat kumpulan node di cluster yang memiliki SSD lokal atau ukuran instance yang lebih besar. Oleh karena itu, node pool berguna untuk menyesuaikan profil instance di cluster Anda.

Untuk menambahkan kumpulan node ke cluster, Anda dapat membuat objek NodePool terlebih dahulu dengan cmdlet New-GkeNodePool. Selanjutnya, Anda dapat memanggil cmdlet Add-GkeNodePool untuk menambahkan objek NodePool ke 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"

Anda dapat mencantumkan semua node pool dalam cluster dengan cmdlet Get-GkeNodePool.

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

Anda dapat menghapus node pool dari cluster dengan 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"