'No Workload identity for a node level' 或 'failure to load CA secret' 是否停止了服务网格的工作?

Is 'No Workload identity for a node level' or 'failure to load CA secret' stopping service mesh from working?

这是我第一次尝试将托管 Anthos 安装到 GKE 中的一个集群中。我承认我没有完全理解我已经完成的安装和故障排除的完整过程。

托管服务似乎安装失败。 当我 运行:

kubectl describe controlplanerevision asm-managed -n istio-system

我得到这个状态:

Status:
  Conditions:
    Last Transition Time:  2022-03-15T14:16:21Z
    Message:               The provisioning process has not completed successfully
    Reason:                NotProvisioned
    Status:                False
    Type:                  Reconciled
    Last Transition Time:  2022-03-15T14:16:21Z
    Message:               Provisioning has finished
    Reason:                ProvisioningFinished
    Status:                True
    Type:                  ProvisioningFinished
    Last Transition Time:  2022-03-15T14:16:21Z
    Message:               Workload identity is not enabled at node level
    Reason:                PreconditionFailed
    Status:                True
    Type:                  Stalled
Events:                    <none>

但是,我在集群级别启用了工作负载身份,但我在 GCP Console 中看不到任何选项来仅针对节点级别进行设置。

我不确定这是否与 istiod-asm-1125-0 记录一些错误有关。其中之一是关于无法加载 CA 机密:

然而,服务网格在 Anthos Dashboard 中未显示为已添加或已连接。集群已在 Anthos 中注册。

  1. 我创建了一个包含更多 CPU 和更多节点的新节点池,因为我收到关于没有足够 CPU 的警告。 Istio 服务网格增加了对 CPU.

    的需求
  2. 我将我的部署从旧节点池迁移到新节点池。

  3. I 运行 istioctl analyze -A 并发现一些关于 istio-injection 未在一些命名空间中启用的警告。我修好了。

  4. 我重新 运行 asmcli install 命令没有 CA

./asmcli install --project_id my-app --cluster_name my-cluster --cluster_location europe-west1-b --fleet_id my-app --output_dir anthos-service-mesh --enable_all

以上全部或部分都达到了目的。