Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes GKE:如何使用API获取节点和POD的数量_Kubernetes_Google Kubernetes Engine - Fatal编程技术网

Kubernetes GKE:如何使用API获取节点和POD的数量

Kubernetes GKE:如何使用API获取节点和POD的数量,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,目前,我从GoogleCloudPlatform管理控制台屏幕获得各种信息,但将来我希望使用API获得这些信息。 获得的资料如下 Kubernetes Engine>Clusters>Cluster Size Kubernetes Engine>Workloads>Pods 请教授每个信息获取对应的API。GKE UI在引擎盖下调用Kubernetes API获取信息并在UI中显示。 您可以使用kubectl查询Kubernetes API以获取该信息 kubectl

目前,我从GoogleCloudPlatform管理控制台屏幕获得各种信息,但将来我希望使用API获得这些信息。 获得的资料如下

Kubernetes Engine>Clusters>Cluster Size
Kubernetes Engine>Workloads>Pods

请教授每个信息获取对应的API。

GKE UI在引擎盖下调用Kubernetes API获取信息并在UI中显示。 您可以使用kubectl查询Kubernetes API以获取该信息

kubectl get nodes
kubectl get pods
如果在kubectl中打开详细模式,那么它将显示它在kubernetes API服务器上调用的REST API

kubectl --v=8 get nodes
kubectl --v=8 get pods
节点和pod的restapi是

GET https://kubernetes-api-server-endpoint:6443/api/v1/nodes?limit=500
GET https://kubernetes-api-server-endpoint:6443/api/v1/namespaces/default/pods?limit=500
下面是有关如何配置Kubectl以连接GKE的详细信息

下面是kubernetes关于访问kubernetes API的不同方法的介绍

你也可以用它来试试

记住调用上述rest api,您需要使用证书或承载令牌向kubernetes api服务器进行身份验证。

您需要:

  • 安装命令行
  • 连接到您的项目
  • 连接到您的群集
  • 检索集群中的pod数量
  • 安装命令行 您可以使用首选的命令行,也可以使用浏览器的活动云shell(集成到谷歌云平台的在线命令行界面)

    选项A)使用自己的命令行程序,需要在计算机上安装

    选项B)否则,如果使用active cloud外壳,只需单击页面顶部的active cloud外壳按钮

    连接到您的项目 (仅适用于方案A)

    • 登录到您的gcloud平台:gcloud auth Login
    $gcloud auth登录 您的浏览器已打开以访问: https://accounts.google.com/signin/oauth/oauthchooseaccount?client_id=65654645461.apps.googleusercontent.com&as=yJ_pR_9VSHEGFKSDhzpiw&destination=http%3A%2F%2Flocalhost%3A8085&approval_state=!CHRVHYTE11IXY2FVBTIXB2XHBTK0SBIFCxB2xYQ3HFSFVxNEJXCMLYBTVKB21PNVLHOF9CWQ%E2%88%99AJDR988AKKKKKKKKY48VYL43SPBJ-gsNQf8w57Djasdasd&oauthgdpr=1&OAuthSkyScope=1&xsrfsig=CHKAASDASDMANZSDASDNF9SDCDEFTCDFECAT5EG5HCHBYB3ZBF9ZDF0ZILLZVGULY2RPB24ASDF1GG9V9V0JPC2C2C2C2C2C2NvU=GeneralFlow
    • 连接到您的项目:gcloud config设置项目您的项目id
    $gcloud项目列表 项目ID名称项目编号 first-project-265905我的项目117684542848 第二个项目-435504测试895475526863 $gcloud配置集project first-project-265905 连接到您的群集 如果已连接到项目,则需要连接到群集

    gcloud容器群集获取您的\u群集\u名称的凭据

    $gcloud容器群集列表 名称位置主机\u版本主机\u IP机器\u类型节点\u版本数量\u节点状态 测试-集群-1亚洲-东北1-a 1.33.33-gke.24 45.600.23.72 f1 micro 1.13.11-gke.14 3运行 $gcloud容器群集获取凭据测试群集-1 正在获取群集终结点和身份验证数据。 为test-cluster-1生成的kubeconfig条目。 检索集群中的节点/吊舱数 在给定的名称空间中运行命令

    $ kubectl get nodes NAME STATUS ROLES AGE VERSION gke-test-cluster-1-default-pool-d85b49-2545 NotReady 24m v1.13.11-gke.14 gke-test-cluster-1-default-pool-d85b49-2dr0 NotReady 3h v1.13.11-gke.14 gke-test-cluster-1-default-pool-d85b49-2f31 NotReady 1d v1.13.11-gke.14 $ kubectl get pods NAME READY STATUS RESTARTS AGE busybox 0/1 Pending 0 44s nginx 0/1 Pending 0 1m $kubectl获取节点 姓名状态角色年龄版本 gke-test-cluster-1-default-pool-d85b49-2545 NotReady 24m v1.13.11-gke.14 gke-test-cluster-1-default-pool-d85b49-2dr0 NotReady 3h v1.13.11-gke.14 gke-test-cluster-1-default-pool-d85b49-2f31 NotReady 1d v1.13.11-gke.14 $kubectl获得豆荚 名称就绪状态重新启动 busybox 0/1挂起0 44s nginx 0/1挂起0 1m
    说到Python,在本例中可以使用Kubernetes引擎API

    Kubernetes引擎>群集>群集大小

    特别是一种方法 返回包含“
    currentNodeCount
    ”值的对象

    Kubernetes引擎>工作负载>吊舱

    此处可以找到列出POD的代码示例:

    RESTAPI或任何特定于语言的客户端库? $ gcloud projects list PROJECT_ID NAME PROJECT_NUMBER first-project-265905 My Project 117684542848 second-project-435504 test 895475526863 $ gcloud config set project first-project-265905 $ gcloud container clusters list NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS test-cluster-1 asia-northeast1-a 1.33.33-gke.24 45.600.23.72 f1-micro 1.13.11-gke.14 3 RUNNING $ gcloud container clusters get-credentials test-cluster-1 Fetching cluster endpoint and auth data. kubeconfig entry generated for test-cluster-1. $ kubectl get nodes NAME STATUS ROLES AGE VERSION gke-test-cluster-1-default-pool-d85b49-2545 NotReady 24m v1.13.11-gke.14 gke-test-cluster-1-default-pool-d85b49-2dr0 NotReady 3h v1.13.11-gke.14 gke-test-cluster-1-default-pool-d85b49-2f31 NotReady 1d v1.13.11-gke.14 $ kubectl get pods NAME READY STATUS RESTARTS AGE busybox 0/1 Pending 0 44s nginx 0/1 Pending 0 1m