我正在编写一个应用程序来监视一个运行在Google容器引擎上的kubernetes集群。在部署我的应用程序的主机上,没有Kubectl
和GCloud
CLI,也不允许安装它们。所以我正在尝试通过REST API来做所有的事情。
为了通过REST创建集群,我可以使用GCE REST API和从Google OAuth Playground检索的承载令牌。类似于:
curl -i -X GET -H "Accept: application/json" -H "Content-Type: application/json" -H "Content-Length: 0" -H "Authorization: Bearer $MyBearerToken https://container.googleapis.com/v1/projects/$PROJECT_ID/zones/$ZONE/serverconfig
我也可以在这里找到Kubernetes REST API参考。所以我的问题是:我如何从我的GCE Kubernetes集群中检索,比如说pod信息,只使用REST api和REST api?
我尝试使用kubectl get pods--v=8
,它使用get https://${Kubenetes_IP}/api/v1/namespaces/default/pods
。但当我使用相同的apiendpoint与我的GCE承载卷取时。它给出unzuthorized
错误消息。
# curl --insecure -H "Authorization: Bearer $MyBearerToken" https://${Kubenetes_IP}/api/v1/namespaces/default/pods
Unauthorized
我这么猜是因为我需要使用一个不同的承载令牌,或者一些其他的身份验证方法。我想知道是否有人有一个快速编程的一行程序?(不使用Kubectl
或GCloud
)
引用
这个答案肯定了有一种使用承载令牌的方法,但没有给出一个指针或例子
这个答案似乎也很有希望,但所有提供的链接都被破坏了(api也被弃用)
这个答案假设安装了Kubectl
和GCloud
,这在我当前的用例中是不允许的。
可以从Google OAuth Playground检索令牌
可以通过REST API通过以下curl
命令访问Kubernetes
# curl --insecure -H "Authorization: Bearer $MyBearerToken" https://${Kubenetes_IP}/api/v1/namespaces/default/pods
Kubernetes主IP可以通过kubectl get pods-v=8
检索,也可以从GCE Web GUI的某个地方检索。
完整的Kubernetes REST API可以在这里找到
确保令牌尚未过期,我认为现在默认的TTL是1小时。
我的环境设置(AWS EKS)的方式是,在我的中,用户有一个exec配置来调用。 这样,当运行时,它将请求令牌对Kubernetes集群进行身份验证。 我目前正在编写一个将与Kubernetes API交互的客户端应用程序。这是用Python编写的,使用的是官方的Python客户端。 在执行任何示例时,我得到的错误是不允许执行某个操作(例如,列表pods)。我认为问题的根源在于我需要将中的令牌传递
我已经在Kubernetes上建立了Spark独立集群,并试图连接到Kubernetes上没有的Kerberized Hadoop集群。我已经将core-site.xml和hdfs-site.xml放在Spark集群的容器中,并相应地设置了HADOOP_CONF_DIR。我能够成功地在Spark容器中为访问Hadoop集群的principal生成kerberos凭据缓存。但是当我运行spark-s
我是全新的RestTemboard和基本上在REST API也。我想通过Jira REST API检索我的应用程序中的一些数据,但取回401未经授权。在jira rest api留档上找到并发表文章,但不知道如何将其重写为java,因为示例使用curl的命令行方式。我将感谢任何建议或建议如何重写: 进入java使用SpringRest模板。其中ZnJlZDpmcmVk是用户名:密码的Bas64编码
问题内容: 我有一个利用Google Cloud Logging API的go应用程序。 相关代码与他们的文档中的该示例相同:https : //github.com/GoogleCloudPlatform/golang- samples/blob/master/logging/logging_quickstart/main.go 检查它是否可与minikube配合使用(我的有效负载出现在日志查看
我有Kerberos并启用了Hadoop集群。我需要使用Java代码执行HDFS操作。 多谢了。
这可能是一个非常简单的问题,但我似乎不知道如何只允许从我的office IP访问我的kubernetes集群。 在我的防火墙规则中,我看到我的gke节点规则是2个内部ip和我的office ip。 我还看到了我在外部IP地址中看不到的外部IP范围的防火墙规则。该IP地址也不会出现在我的负载均衡器IP中...... 最后,我有一个负载平衡防火墙规则,它允许负载平衡选项卡中的外部IP范围,这是我的ku