是否可以通过简单地点击GKE kube master api以获得一些资源并返回json来执行kubectl命令,从而实现卷曲?
答案 0 :(得分:2)
Kubernetes是一个完全基于API的系统,要与Kubernetes API进行交互,您需要一个ServiceAccount(通过集群角色和RoleBinding获得)。
在这里您可以找到Google Kubernetes Engine API的文档:https://cloud.google.com/kubernetes-engine/docs/reference/rest
作为旁注,可能会有用: https://kubernetes.io/docs/tasks/administer-cluster/access-cluster-api/#accessing-the-kubernetes-api
答案 1 :(得分:0)
Kubernetes是基于REST API的,可以通过curl调用。
https://kubernetes.io/docs/tasks/administer-cluster/access-cluster-api/#accessing-the-kubernetes-api
Kubectl在内部确实会卷曲到Kubernetes API,可以通过运行以下命令并搜索curl来验证它,并且您可以执行相同的curl命令。在下面的示例中,kubectl使用证书进行身份验证并针对Kubernetes API执行curl。
kubectl get nodes --v=10
curl -k -v -XGET -H "Accept: application/json;as=Table;v=v1beta1;g=meta.k8s.io, application/json" -H "User-Agent: kubectl/v1.17.0 (darwin/amd64) kubernetes/70132b0" 'https://127.0.0.1:32768/api/v1/nodes?limit=500'
但是要调用Kubernetes REST API,您可以使用客户端证书或JWT承载令牌。建议使用具有承载令牌的服务帐户从吊舱与Kubernetes API通信。
Kubernetes API。