首页 > 编程语言 >Kubernetes编程——通过命令行使用 API

Kubernetes编程——通过命令行使用 API

时间:2023-06-26 15:33:44浏览次数:33  
标签:kubectl kind Kubernetes get 编程 batch v1 API

通过命令行使用 API

  长话短说,我们将使用以 batch API 组为例来讲 cli 相关的操作。

  首先,需要在终端运行下面的命令:

[root@localhost ~]#  kubectl proxy --port=8089
Starting to serve on 127.0.0.1:8089

  这个命令把 kubernetes API 服务代理到了本地,并处理了有关身份认证和授权相关的逻辑。这样我们就可以直接使用 HTTP 来发送请求,并接收返回的 JSON 数据。再打开一个终端,尝试查询下 v1:

[root@localhost ~]# curl http://127.0.0.1:8089/apis/batch/v1
{
  "kind": "APIResourceList",
  "apiVersion": "v1",
  "groupVersion": "batch/v1",
  "resources": [
    {
      "name": "jobs",
      "singularName": "",
      "namespaced": true,
      "kind": "Job",
      "verbs": [
        "create",
        "delete",
        "deletecollection",
        "get",
        "list",
        "patch",
        "update",
        "watch"
      ],
      "categories": [
        "all"
      ],
      "storageVersionHash": "mudhfqk/qZY="
    },
    {
      "name": "jobs/status",
      "singularName": "",
      "namespaced": true,
      "kind": "Job",
      "verbs": [
        "get",
        "patch",
        "update"
      ]
    }
  ]
}

  也不是必须要使用 curl  和 kubectl proxy 命令才能访问 kubernetes 的 HTTP API,还可以使用 kubectl  get  --raw 命令,比如 curl http://127.0.0.1:8089/apis/batch/v1 改为 kubectl get --raw /apis/batch/v1。

[root@localhost ~]# kubectl get --raw /apis/batch/v1
{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"batch/v1","resources":[{"name":"jobs","singularName":"","namespaced":true,"kind":"Job","verbs":["create","delete","deletecollection","get","list","patch","update","watch"],"categories":["all"],"storageVersionHash":"mudhfqk/qZY="},{"name":"jobs/status","singularName":"","namespaced":true,"kind":"Job","verbs":["get","patch","update"]}]}

 

标签:kubectl,kind,Kubernetes,get,编程,batch,v1,API
From: https://www.cnblogs.com/zuoyang/p/17505737.html

相关文章

  • 时隔 15 年,巨著《Java 编程思想》新版终于来啦
    老版《Java编程思想》(原书名《ThinkinginJava》)得益作者开放深度研讨的创作方式,受到了全世界读者的追捧,被译为了十几种语言。但遗憾的是,在经历了4个版本的更新后,其最后一版发布于2007年,之后再无更新。直至Java8发布,随着大量新特性的发布,原书作者BruceEckel觉得很有必要......
  • Redfish是一种现代、开放且标准化的远程管理和监控接口,由DMTF(Distributed Management
    Redfish是一种现代、开放且标准化的远程管理和监控接口,由DMTF(DistributedManagementTaskForce)开发和维护。它基于RESTfulAPI设计,使用JSON或OData格式进行数据交换。Redfish旨在提供简化、灵活和可互操作的远程管理解决方案,取代或与传统的远程管理技术(如IPMI)配合使用。Redfish......
  • RESTful API(Representational State Transfer API)是一种设计和构建网络应用程序的软件
    RESTfulAPI(RepresentationalStateTransferAPI)是一种设计和构建网络应用程序的软件架构风格。它是一种基于HTTP协议的API设计理念,旨在实现系统的可伸缩性、简洁性、可靠性和可扩展性。RESTfulAPI的设计原则可以概括为以下几点:资源(Resource):将系统中的数据和功能抽象为资源,每......
  • html5之文件api
    这篇主要是探讨一下HTML5的文件API 1、FileList对象与file对象  FileList对象表示用户选择文件的列表,在HTML5中,加了multiple属性,file控件允许放置多个文件。控件内的每一个用户选择的文件都是一个file对象FileList对象是这些file对象的列表file对象有两个属性:name属性表示文......
  • [ARM 汇编]高级部分—ARM汇编编程实战—3.3.2 嵌入式开发环境搭建
    搭建一个嵌入式开发环境主要包括以下几个部分:安装交叉编译器配置集成开发环境(IDE)安装调试工具下载和烧录程序接下来,我们将详细介绍每个部分,并提供相应的实例。安装交叉编译器交叉编译器是用于将您编写的ARM汇编代码编译成可执行文件的工具。在本教程中,我们将使用GNUAR......
  • 未来的编程语言「GitHub 热点速览」
    又一个编程语言火了,不算新,因为它已经开发了一段时间。不过在本周HackerNews上风头十足,DreamBerd除了有点意思的改;分隔符为!,之外,它还能让你用问号来标注一段你也不确定的代码。当然它整体的代码阅读性也不错。除了DreamBerd之外,新出的自动驾驶算法UniAD也凭借独特的......
  • 官宣!2023云原生编程挑战赛正式启动
    随着越来越多的企业上云,企业的核心关注点转变为如何更好地利用云的能力,将产品快速推向市场,从而实现业务成功。但是,如果算力的呈现形式仍然是服务器这样的资源形态,它的使用门槛依然很高。让算力像电力一样的普及,云计算需要新的形态,就是Serverless。随着用好云成为关键,开发范式也......
  • [ARM 汇编]高级部分—ARM汇编编程实战—3.3.3 嵌入式应用程序设计实例
    在本章节中,我们将学习如何使用ARM汇编编写一个简单的嵌入式应用程序。我们将以STM32F103微控制器为例,编写一个程序,实现按下按钮时点亮LED的功能。硬件连接首先,我们需要将STM32F103微控制器的一个GPIO引脚连接到LED(通过一个合适的电阻),另一个GPIO引脚连接到按钮。假设我们使用以......
  • Kubernetes控制器介绍(二)
    一、DaemonSet1.1介绍与Deployment相似的是,DaemonSet也是基于标签选择器管控一组Pod副本。但是,DaemonSet用于确保所有或指定的工作节点上都运行有一个Pod副本。换句话说,其Pod数量由节点数量而定,因此无需定义replicas字段(Pod的副本数量)。从集群移除节点时,此类Pod对象也将被自动回......
  • Kubernetes 系列:了解 k8s 架构(一)
    Kubernetes概述当下,我们很多项目于都在CloudNative(云原生)的上面,这种方法旨在使组织能够确保可用性并快速响应和适应变化,云原生其实就是一组本质上支持在不同云环境(公共云、私有云或混合云)上大规模构建、运行和管理应用程序的实践和技术。云原生离不开两个概念:容器和微服务,这......