gpt4 book ai didi

kubernetes - 在 GKE 的私有(private)集群上使用 Linkerd 时出现 "unable to retrieve the complete list of server APIs: tap.linkerd.io/v1alpha1"错误

转载 作者:行者123 更新时间:2023-12-05 00:58:09 28 4
gpt4 key购买 nike

为什么我在 GKE 的私有(private)集群上安装 Linkerd 2.x 会出现以下错误?

Error: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: tap.linkerd.io/v1alpha1: the server is currently unable to handle the request

最佳答案

default firewall rules GKE 上的私有(private)集群只允许端口 44310250 上的流量。这允许分别与 kube-apiserverkubelet 进行通信。

Linkerd 使用端口 84438089 在控件和部署到 data plane 的代理之间进行通信.

tap component使用端口 8089 处理对其 apiserver 的请求。

proxy injectorservice profile validator组件,它们都是 admission controllers 的类型,使用端口8443来处理请求。

Linkerd 2 docs包括在 GKE 私有(private)集群上配置防火墙的说明:https://linkerd.io/2/reference/cluster-configuration/

它们包括在下面:

获取集群名称:

CLUSTER_NAME=your-cluster-name
gcloud config set compute/zone your-zone-or-region

获取集群 MASTER_IPV4_CIDR:

MASTER_IPV4_CIDR=$(gcloud container clusters describe $CLUSTER_NAME \
| grep "masterIpv4CidrBlock: " \
| awk '{print $2}')

获取集群网络:

NETWORK=$(gcloud container clusters describe $CLUSTER_NAME \
| grep "^network: " \
| awk '{print $2}')

获取集群自动生成的NETWORK_TARGET_TAG:

NETWORK_TARGET_TAG=$(gcloud compute firewall-rules list \
--filter network=$NETWORK --format json \
| jq ".[] | select(.name | contains(\"$CLUSTER_NAME\"))" \
| jq -r '.targetTags[0]' | head -1)

验证值:

echo $MASTER_IPV4_CIDR $NETWORK $NETWORK_TARGET_TAG

# example output
10.0.0.0/28 foo-network gke-foo-cluster-c1ecba83-node

为代理注入(inject)器创建防火墙规则并点击:

gcloud compute firewall-rules create gke-to-linkerd-control-plane \
--network "$NETWORK" \
--allow "tcp:8443,tcp:8089" \
--source-ranges "$MASTER_IPV4_CIDR" \
--target-tags "$NETWORK_TARGET_TAG" \
--priority 1000 \
--description "Allow traffic on ports 8843, 8089 for linkerd control-plane components"

最后,验证防火墙是否已创建:

gcloud compute firewall-rules describe gke-to-linkerd-control-plane

关于kubernetes - 在 GKE 的私有(private)集群上使用 Linkerd 时出现 "unable to retrieve the complete list of server APIs: tap.linkerd.io/v1alpha1"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58582375/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com