Google Kubernetes Engine 是一个强大的集群管理和协调系统,可用于运行您的 Docker 容器。GKE 可将您的容器安排成集群,并根据您指定的要求(例如 CPU 和内存)自动进行管理。GKE 以开源系统 Kubernetes 为基础构建而成,可让您灵活地利用本地、混合或公共的云端基础架构。
参阅 Tools for PowerShell 参考,详细了解 GKE cmdlet。如需从整体上了解 GKE,请参阅 GKE 概览。
创建和更新 GKE 集群
要创建一个集群,您可以先使用 New-GkeNodeConfig
cmdlet 创建一个 NodeConfig
对象。
然后,您可以将 NodeConfig
对象传递给 Add-GkeCluster
cmdlet。然后,此 cmdlet 将创建一个集群,其节点池的配置将通过 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"
您也可以不传入 NodeConfig
对象,而是使用 Add-GkeCluster
cmdlet 中提供的参数来创建集群(该 cmdlet 将在内部创建一个 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
您可以使用 Set-GkeCluster
cmdlet 更新集群。一次只能更新集群的一个属性。
# 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"
您可以使用 Get-GkeCluster
cmdlet 列出可用的集群。
# 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"
创建和维护节点池
节点池是集群中具有相同配置的计算机的子集。虽然容器集群中的所有节点都相同,但节点池允许您在集群中创建具有不同配置的计算机池。例如,您可以在集群中创建具有本地 SSD 或更大实例大小的节点池。因此,节点池可用于自定义集群中的实例配置文件。
要将节点池添加到集群,您可以先使用 New-GkeNodePool
cmdlet 创建一个 NodePool
对象。然后,您可以调用 Add-GkeNodePool
cmdlet 将 NodePool
对象添加到集群。
# 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"
您可以使用 Get-GkeNodePool
cmdlet 列出集群中的所有节点池。
# Lists all node pools in cluster "my-cluster" in the default project. Get-GkeNodePool -ClusterName "my-cluster"
您可以使用 Remove-GkeCluster
cmdlet 从集群中移除节点池。
# 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"