适用于Google Kubernetes Engine(GKE)的REST API

时间:2018-06-11 09:40:28

标签: api google-api google-kubernetes-engine

GKE可以使用哪些RESP完整API以及如何调用它们?目前,我想将GKE与我的内部部署工具集成,以便在GKE上部署容器。我已经构建了所有必需的图像,并希望在GKE中触发API调用以部署我的docker镜像。我应该拨打哪个API?我提供什么以及如何提供身份验证?

2 个答案:

答案 0 :(得分:1)

正如@Sunny J.所述,在GKE文档中,您只能找到与集群交互的API,仅用于配置。如果要管理工作负载,则需要与Kubernetes API服务器进行交互。 This is API reference。首先,您需要获取API服务器正在监听的地址和端口:

kubectl config view --minify | grep server | cut -f 2- -d ":" | tr -d " "

如果需要对群集的root访问权限,则可以创建服务帐户和群集角色绑定到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}')

发出请求时,以这种方式设置“授权”标头,将token替换为使用上一条命令收到的内容:

Authorization: "Bearer <token>"

使用Kubernetes祝你好运:)

答案 1 :(得分:0)

可用的Google Kubernetes Engines REST资源API列表,例如Google Kubernetes Engine public doc

这是与群集交互而不与Kubernetes交互的Restful API。要与Kubernetes和容器管理进行交互,请使用Kubectl。

根据您的身份验证方法,如果您通过浏览器进行身份验证,则可以使用Google OAuth 2.0身份验证;如果您要在代码中进行身份验证,则可以使用APIs,或使用Kubectl