Kubernetes 扩展GKE K8s群集会中断网络
各位, 尝试将GKE集群从1个节点增加到3个节点时,在单独的区域(us-centra1-a、b、c)中运行。以下几点似乎显而易见: 计划在新节点上的播客无法访问internet上的资源。。。i、 e.无法连接到条带API等(可能与kube dns相关,未测试试图在没有dns查找的情况下离开的流量) 类似地,我无法按预期在K8s中的吊舱之间布线。也就是说,交叉电话可能会失败?使用openvpn进行测试时,无法连接到新节点上计划的POD 我注意到的另一个问题是,Metrics服务器似乎不稳定<代码>kubectl顶部节点显示新节点的未知 撰写本文时,掌握k8s版本Kubernetes 扩展GKE K8s群集会中断网络,kubernetes,google-cloud-platform,google-kubernetes-engine,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,各位, 尝试将GKE集群从1个节点增加到3个节点时,在单独的区域(us-centra1-a、b、c)中运行。以下几点似乎显而易见: 计划在新节点上的播客无法访问internet上的资源。。。i、 e.无法连接到条带API等(可能与kube dns相关,未测试试图在没有dns查找的情况下离开的流量) 类似地,我无法按预期在K8s中的吊舱之间布线。也就是说,交叉电话可能会失败?使用openvpn进行测试时,无法连接到新节点上计划的POD 我注意到的另一个问题是,Metrics服务器似乎不稳定kube
1.15.11-gke.9
我要注意的是:
VPC-native (alias IP) - disabled
Intranode visibility - disabled
gcloud容器集群描述集群1——区域us-central1-a
clusterIpv4Cidr: 10.8.0.0/14
createTime: '2017-10-14T23:44:43+00:00'
currentMasterVersion: 1.15.11-gke.9
currentNodeCount: 1
currentNodeVersion: 1.15.11-gke.9
endpoint: 35.192.211.67
initialClusterVersion: 1.7.8
instanceGroupUrls:
- https://www.googleapis.com/compute/v1/projects/skilful-frame-180217/zones/us-central1-a/instanceGroupManagers/gke-cluster-1-default-pool-ff24932a-grp
ipAllocationPolicy: {}
labelFingerprint: a9dc16a7
legacyAbac:
enabled: true
location: us-central1-a
locations:
- us-central1-a
loggingService: none
....
masterAuthorizedNetworksConfig: {}
monitoringService: none
name: cluster-1
network: default
networkConfig:
network: .../global/networks/default
subnetwork: .../regions/us-central1/subnetworks/default
networkPolicy:
provider: CALICO
nodeConfig:
diskSizeGb: 100
diskType: pd-standard
imageType: COS
machineType: n1-standard-2
...
nodeIpv4CidrSize: 24
nodePools:
- autoscaling: {}
config:
diskSizeGb: 100
diskType: pd-standard
imageType: COS
machineType: n1-standard-2
...
initialNodeCount: 1
locations:
- us-central1-a
management:
autoRepair: true
autoUpgrade: true
name: default-pool
podIpv4CidrSize: 24
status: RUNNING
version: 1.15.11-gke.9
servicesIpv4Cidr: 10.11.240.0/20
status: RUNNING
subnetwork: default
zone: us-central1-a
下一个故障排除步骤是创建一个新池并迁移到其中。也许答案就在我面前。。。它可能是nodeipv4cdrsize
a/24吗
谢谢 - 在您的问题中,群集的描述具有以下网络策略:
- 我部署了一个尽可能类似的集群:
- 之后,我得到了与您相同的配置,我将指出两个部分:
- 在您提到的评论中,“在UI中,它说网络策略已禁用……是否有删除印花布的命令?”。然后我给了您一个命令,您得到了一个错误,指出
网络策略插件未启用
并查看:
addonsConfig:
networkPolicyConfig:
disabled: true
...
name: cluster-1
network: default
networkConfig:
network: projects/owilliam/global/networks/default
subnetwork: projects/owilliam/regions/us-central1/subnetworks/default
nodeConfig:
...
NetworkPolicyConfig
从{}
变为disabled:true
并且nodeConfig
上面的NetworkPolicy
部分现在不见了。因此,我建议您再次启用和禁用它,以查看它是否更新了适当的资源并修复了您的网络策略问题,下面是我们将要做的:
- 如果您的集群不在生产环境中,我建议您将其重新调整为1,进行更改,然后再次缩放,更新会更快。但如果它在生产中,保持原样,但可能需要更长的时间,这取决于你的pod中断策略。(
default pool
是我的集群池的名称),我将在我的示例中调整它的大小:
- 然后启用网络策略加载项本身(它不会激活它,仅使其可用):
- 我们启用(激活)网络策略:
- 现在让我们撤销它:
- 禁用后,等待池准备就绪,然后运行最后一个命令:
- 如果已缩小规模,请将其缩放回3:
- 最后再次检查描述,看看它是否匹配正确的配置,并测试吊舱之间的通信
以下是此配置的参考:
如果在此之后您仍然遇到问题,请使用最新的群集描述更新您的问题,我们将进一步挖掘。
- 在您的问题中,群集的描述具有以下网络策略:
- 我部署了一个尽可能类似的集群:
- 之后,我得到了与您相同的配置,我将指出两个部分:
- 在您提到的评论中,“在UI中,它说网络策略已禁用……是否有删除印花布的命令?”。然后我给了您一个命令,您得到了一个错误,指出
网络策略插件未启用
这很奇怪,因为它已应用但未启用。我已禁用群集上的并查看:
addonsConfig:
networkPolicyConfig:
disabled: true
...
name: cluster-1
network: default
networkConfig:
network: projects/owilliam/global/networks/default
subnetwork: projects/owilliam/regions/us-central1/subnetworks/default
nodeConfig:
...
NetworkPolicyConfig
从{}
变为disabled:true
并且nodeConfig
上面的NetworkPolicy
部分现在不见了。因此,我建议您再次启用和禁用它,以查看它是否更新了适当的资源并修复了您的网络策略问题,下面是我们将要做的:
- 如果您的集群不在生产环境中,我建议您将其重新调整为1,进行更改,然后再次缩放,更新会更快。但如果它在生产中,保持原样,但可能需要更长的时间,这取决于你的pod中断策略。(
default pool
是我的集群池的名称),我将在我的示例中调整它的大小:
- 然后启用网络策略加载项本身(它不会激活它,仅使其可用):
- 我们启用(激活)网络策略:
- 现在让我们撤销它:
- 禁用后,等待池准备就绪,然后运行最后一个命令:
- 如果已缩小规模,请将其缩放回3:
- 最后再次检查描述,看看它是否匹配正确的配置,并测试吊舱之间的通信
以下是此配置的参考:
如果在那之后您仍然遇到问题,请使用最新的群集描述更新您的问题,我们将进一步挖掘。我创建了一个带有您发布的精确设置的群集,它成功了。创建了1个节点,对其进行了测试,扩展到3个节点,其他节点上的吊舱也具有出口访问权限。我注意到您启用了networkpolicy(calico),能否粘贴kubectl Descripte networkpolicy
的输出?另外,如果您测试ping其他pod和ping/curling外部资源,并将输出粘贴到此处,也会很好。谢谢!在UI中,它说网络策略被禁用,这就是为什么我没有注意到印花布。这完全有道理<代码>kubectl描述网络策略
不返回任何内容。。。但我现在清楚地看到,gcloud容器集群中的印花布设置描述集群1——区域us-central1-a
输出。唉。。。。我不想建一个新的房子
addonsConfig:
networkPolicyConfig: {}
...
name: cluster-1
network: default
networkConfig:
network: projects/owilliam/global/networks/default
subnetwork: projects/owilliam/regions/us-central1/subnetworks/default
networkPolicy:
enabled: true
provider: CALICO
...
addonsConfig:
networkPolicyConfig:
disabled: true
...
name: cluster-1
network: default
networkConfig:
network: projects/owilliam/global/networks/default
subnetwork: projects/owilliam/regions/us-central1/subnetworks/default
nodeConfig:
...
$ gcloud container clusters resize cluster-1 --node-pool default-pool --num-nodes 1
Do you want to continue (Y/n)? y
Resizing cluster-1...done.
$ gcloud container clusters update cluster-1 --update-addons=NetworkPolicy=ENABLED
Updating cluster-1...done.
$ gcloud container clusters update cluster-1 --enable-network-policy
Do you want to continue (Y/n)? y
Updating cluster-1...done.
$ gcloud container clusters update cluster-1 --no-enable-network-policy
Do you want to continue (Y/n)? y
Updating cluster-1...done.
$ gcloud container clusters update cluster-1 --update-addons=NetworkPolicy=DISABLED
Updating cluster-1...done.
$ gcloud container clusters resize cluster-1 --node-pool default-pool --num-nodes 3
Do you want to continue (Y/n)? y
Resizing cluster-1...done.