Как упомянул @Sunny J., в документации GKE вы можете найти только API для взаимодействия с кластером только для конфигурации.Если вы хотите управлять рабочими нагрузками, вам нужно взаимодействовать с сервером Kubernetes API. Это ссылка на API .Сначала вам нужно получить адрес и порт, который прослушивает сервер API:
kubectl config view --minify | grep server | cut -f 2- -d ":" | tr -d " "
Если вам нужен корневой доступ к кластеру, вы можете создать учетную запись службы и привязку роли кластера к cluster-admin
:
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
Теперь откройте его токен:
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
При создании запроса установите заголовок Authorization таким образом, заменив token
на тот, который вы получили с помощью предыдущей команды:
Authorization: "Bearer <token>"
Удачи с Kubernetes:)