当我尝试在 GCP Cloud Scheduler 中创建作业时,出现以下错误:
{"error":{"code":7,"message":"主体(用户或服务帐户)缺少资源 \"[我的服务帐户]\" 的 IAM 权限 \"iam.serviceAccounts.actAs\" (或者资源可能不存在)。"}}
当我启用 GCP Cloud Scheduler 时,服务帐户已创建(我可以在我的帐户列表中看到它)。我已验证它具有“Cloud Scheduler Service Agent”角色。
我以项目所有者的身份登录。当我尝试创建作业时,出现此错误。我尝试将“服务帐户用户”添加到我的主帐户,但无济于事。
有谁知道我是否需要添加任何额外的权限?或者,如果我必须允许我的委托人以某种方式充当(冒充?)此服务帐户?
非常感谢。本
我有一个使用目标 CPU 利用率指标的 HPA 正在运行的 GKE 集群。这没问题,但 CPU 利用率不是我们的最佳扩展指标。分析表明,活动连接数是一般平台负载的一个很好的指标,因此,我们希望将此作为我们的主要扩展指标。
为此,我为我们使用的 NGINX 入口启用了自定义指标。从这里我们可以看到活动连接数、请求率等。
这是使用 NGINX 自定义指标的 HPA 规范:
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: hpa-uat-active-connections
namespace: default
spec:
minReplicas: 3
maxReplicas: 6
metrics:
- type: Pods
pods:
metricName: custom.googleapis.com|nginx-ingress-controller|nginx_ingress_controller_nginx_process_connections
selector:
matchLabels:
metric.labels.state: active
resource.labels.cluster_name: "[redacted]"
targetAverageValue: 5
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: "[redacted]"
Run Code Online (Sandbox Code Playgroud)
然而,虽然这个规范部署正常,但我总是从 HPA 得到这个输出:
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
hpa-uat-active-connections Deployment/[redacted] <unknown>/5 3 6 3 31s
Run Code Online (Sandbox Code Playgroud)
简而言之,目标值是“未知”,到目前为止我未能理解/解决原因。自定义指标确实存在:
kubectl get --raw "/apis/external.metrics.k8s.io/v1beta1/namespaces/default/custom.googleapis.com|nginx-ingress-controller|nginx_ingress_controller_nginx_process_connections?labelSelector=metric.labels.state%3Dactive,resource.labels .cluster_name%3D[已编辑]" | 知乎
这使:
{ …Run Code Online (Sandbox Code Playgroud)