Kubernetes 扩展GKE 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

各位, 尝试将GKE集群从1个节点增加到3个节点时,在单独的区域(us-centra1-a、b、c)中运行。以下几点似乎显而易见:

计划在新节点上的播客无法访问internet上的资源。。。i、 e.无法连接到条带API等(可能与kube dns相关,未测试试图在没有dns查找的情况下离开的流量)

类似地,我无法按预期在K8s中的吊舱之间布线。也就是说,交叉电话可能会失败?使用openvpn进行测试时,无法连接到新节点上计划的POD

我注意到的另一个问题是,Metrics服务器似乎不稳定<代码>kubectl顶部节点显示新节点的未知

撰写本文时,掌握k8s版本
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.