我们正在尝试建立几个私有Kubernetes集群。我们可以找到有关私有集群特定设置的有限文档,因此我们遇到了与子网IP范围有关的问题。
假设我们有3个簇:我们将“主地址范围”分别设置为172.16.0.0/28、172.16.0.16/28和172.16.0.32/28。
我们将“网络和子网”设置为“默认”。我们可以通过这种方式创建2个群集,但是,在第3个群集启动后,会收到错误消息“ Google Compute Engine:超出每个子网最大支持的辅助范围数量:5”。我们怀疑我们设置的子网IP范围不正确,但是我们不确定自己做错了什么,或者不确定为什么每个子网有一个以上的二级范围。
我们正在通过用户界面设置这些集群。
答案 0 :(得分:2)
此群集启用了VPC原生(别名IP),每个群集使用2个辅助范围。
请参见https://cloud.google.com/kubernetes-engine/docs/how-to/alias-ips#secondary_ranges
根据
Google Compute Engine: Exceeded maximum supported number of secondary ranges per subnetwork: 5.
最大为5。这就是第三个创建失败的原因。
答案 1 :(得分:1)
最好的方法是为每个群集创建一个新的子网。这样,每个子网仅需要2个辅助范围,您就不会达到5个限制。
答案 2 :(得分:1)
对于那些从Google登陆到这里并想知道如何列出/查看使用GKE创建的子网名称的人,如OP的问题所述:
要列出区域的子网(并可能会修改或删除子网,因为您不知道其名称),请使用beta gcloud命令:
gcloud beta container subnets list-usable
我在寻找答案时登陆这里,发现其他试图确定构造其子网/范围的最佳方法的人可能能够使用上述命令(这使我永远无法追踪)。
答案 3 :(得分:1)
(由于声誉低下,无法评论Alan的答案)
您可以创建一个新的子网:
然后在GKE上创建新群集时,选择新的子网。
这应该使您可以创建更多集群,而不会遇到错误Sub WhatEver()
Dim finRow As Long, myRange As Range, I As Long
Dim LastString As String, tString As String, mT As String
Dim myCell As Range, v As Variant
finRow = Cells(Rows.Count, "AK").End(xlUp).Row
Set myRange = ActiveSheet.Range("AK2:AK" & finRow)
For Each myCell In myRange
v = myCell.Value
If v <> "" Then
LastString = ""
For I = 1 To Len(v)
mT = Mid(v, I, 1)
If mT Like "[0-9]" Then
tString = mT
Else
tString = ""
End If
LastString = LastString & tString
Next I
End If
myCell.Value = LastString
Next myCell
End Sub
答案 4 :(得分:0)
您可以通过gcloud
创建集群并添加--create-subnetwork ""
。
请参阅:https://cloud.google.com/sdk/gcloud/reference/container/clusters/create#--create-subnetwork
这将为每个新群集创建一个新子网,因此不会达到“ 5 Secondary IP ranges per subnet”的配额。