在 GKE Autopilot 1.27.3-gke.100 上安装 istio

问题描述 投票:0回答:1

我有一个版本为

1.27.3-gke.100
的 GKE autpilot 集群,我想在其中安装 istio。该集群是在没有标签
--workload-policies=allow-net-admin
的情况下创建的。如何在现有 GKE 集群上启用它?

参考

NET_ADMIN 对于 Istio 等服务网格:在集群创建命令中指定 --workload-policies=allow-net-admin 。适用于运行 GKE 1.27 及更高版本的新集群和升级后的现有集群。

我相信这是在设置可运行的 istio+GKE 自动驾驶仪之前解决的最后一块难题。

如果可能需要别人的帮助,以下是我在到达上述死胡同之前所做的事情以及解决方法。

  • 在我的机器中下载 istioctl
  • Istioctl install -y
  • Kubectl apply -f 样本/插件

FAIL 1:看起来 istio 要求注入 sidecar,但流量丢失了。打开防火墙规则

  • gcloud 计算防火墙规则更新 --allow tcp:10250,tcp:443,tcp:15017

FAIL 2(和当前):新部署没有创建任何内容。看起来 ReplicaSet 失败了:

│   Warning  FailedCreate  6s (x17 over 5m36s)  replicaset-controller  Error creating: admission webhook "warden-validating.common-webhooks.networking.gke.io" denied the request: GKE Warden rejected the request be │
│ cause it violates one or more constraints.                                                                                                                                                                          │
│ Violations details: {"[denied by autogke-default-linux-capabilities]":["linux capability 'NET_ADMIN' on container 'istio-init' not allowed; Autopilot only allows the capabilities: 'AUDIT_WRITE,CHOWN,DAC_OVERRIDE │
│ ,FOWNER,FSETID,KILL,MKNOD,NET_BIND_SERVICE,NET_RAW,SETFCAP,SETGID,SETPCAP,SETUID,SYS_CHROOT,SYS_PTRACE'."]}                                                                                                         │
│ Requested by user: 'system:serviceaccount:kube-system:replicaset-controller', groups: 'system:serviceaccounts,system:serviceaccounts:kube-system,system:authenticated'.   
  • 要授予 NET_ADMIN,我们至少需要 GKE 集群中的 1.27…将集群升级到
    1.27.3-gke.100
    。但错误仍然存在
google-kubernetes-engine istio autopilot
1个回答
0
投票

将 GKE 集群升级到 1.27 后,运行 gcloud 容器集群更新 CLUSTER_NAME --workload-policies=allow-net-admin 以启用 Istio 所需的 NET_ADMIN 功能

© www.soinside.com 2019 - 2024. All rights reserved.