使用 Kubernetes API 管理 Statefulsets 的扩展

Manage scaling of Statefulsets using Kubernetes API

PUT /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale

甚至尝试使用

获取指定statefulset的比例数据

"GET /apis/apps/v1/namespaces/{namespace}/statefulsets/{name}/scale"

REQUEST : curl -s -k -H "Authorization: Bearer $TOKEN" -X GET https://kubernetes.default.svc:443/apis/apps/v1/namespaces/$Namespace/$Kind/$PodNamePrefix/scale

报错:

有人可以帮我解决这个问题吗?

您需要使用 RoleRoleBinding 定义 RBAC 以授权服务帐户执行所需的操作

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: default
  name: ss-role
rules:
- apiGroups: ["apps"]
  resources: ["statefulsets/scale" ]
  verbs: ["get", "list", "create"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: default
  name: ss-rolebinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: ss-role
subjects:
- kind: ServiceAccount
  name: default
  namespace: default

以上 RoleRoleBinding 是基于以下假设:您正在使用 default 命名空间的 default 服务帐户在 [=] 中扩展 statefulsets 15=] 命名空间。