`
JerryWang_SAP
  • 浏览: 1030615 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

CloudFoundry命令行和Kubernetes命令行的Restful API消费方式

阅读更多

先说CloudFoundry的命令行工具CLI。我们在CloudFoundry环境下工作,第一个使用的命令就是cf login。

如果在环境变量里维护CF_TRACE的值为true:

 

则我们能发现,诸如cf login这种命令,实际上也是通过消费Restful API来完成的。

 

下图是cf login这个命令的api endpoint请求细节,供大家参考:

API endpoint: https://api.cf.eu10.hana.ondemand.com

REQUEST: [2018-09-21T14:50:57+08:00]

GET /v2/info HTTP/1.1

Host: api.cf.eu10.hana.ondemand.com

Accept: application/json

Content-Type: application/json

User-Agent: go-cli 6.36.1+e3799ad7e.2018-04-04 / windows

RESPONSE: [2018-09-21T14:50:59+08:00]

HTTP/1.1 200 OK

Connection: close

Content-Length: 550

Content-Type: application/json;charset=utf-8

Date: Fri, 21 Sep 2018 06:50:58 GMT

Server: nginx

X-Content-Type-Options: nosniff

X-Vcap-Request-Id: abf32f52-294a-41f5-5919-be948d78f0dd::a32b17bb-da82-4d45-930f-f0344c8a83b3

{"name":"","build":"","support":"","version":0,"description":"Cloud Foundry at SAP Cloud Platform","authorization_endpoint":"https://login.cf.eu10.hana.ondemand.com","token_endpoint":"[PRIVATE DATA HIDDEN]","min_cli_version":null,"min_recommended_cli_version":null,"api_version":"2.115.0","app_ssh_endpoint":"ssh.cf.eu10.hana.ondemand.com:2222","app_ssh_host_key_fingerprint":"f3:12:47:b5:3a:19:6e:6c:4e:9d:90:2e:6f:8e:87:cc","app_ssh_oauth_client":"ssh-proxy","doppler_logging_endpoint":"wss://doppler.cf.eu10.hana.ondemand.com:443"}

REQUEST: [2018-09-21T14:50:59+08:00]

GET /login HTTP/1.1

Host: login.cf.eu10.hana.ondemand.com

Accept: application/json

Content-Type: application/json

User-Agent: go-cli 6.36.1+e3799ad7e.2018-04-04 / windows

API响应结果:

RESPONSE: [2018-09-21T14:51:00+08:00]

HTTP/1.1 200 OK

Connection: close

Content-Length: 551

Cache-Control: no-store

Content-Language: en-US

Content-Type: application/json;charset=UTF-8

Date: Fri, 21 Sep 2018 06:50:59 GMT

Set-Cookie: X-Uaa-Csrf=8uoxBvyG8QCwo29efrrZNh; Max-Age=86400; Expires=Sat, 22-Sep-2018 06:51:00 GMT; Path=/; Secure; HttpOnly

Strict-Transport-Security: max-age=31536000 ; includeSubDomains

X-Content-Type-Options: nosniff

X-Frame-Options: DENY

X-Vcap-Request-Id: f6b29d8f-f78e-4c5e-61f3-5c9d906828ed

X-Xss-Protection: 1; mode=block

{"app":{"version":"4.19.0"},"links":{"uaa":"https://uaa.cf.eu10.hana.ondemand.com","passwd":"https://accounts.sap.com/ui/createForgottenPasswordMail?spName=cf.eu10.hana.ondemand.com","login":"https://login.cf.eu10.hana.ondemand.com","register":"https://accounts.sap.com/ui/public/showRegisterForm?spName=cf.eu10.hana.ondemand.com"},"zone_name":"uaa","entityID":"login.cf.eu10.hana.ondemand.com","commit_id":"7897100","idpDefinitions":{},"prompts":{"username":["text","Email"],"password":["password","Password"]},"timestamp":"2018-06-13T12:02:09-0700"}

Email>

再看Kubernetes。我们用的很多的命令:

kubectl get pods,返回pods列表。

 
CloudFoundry命令行和Kubernetes命令行的Restful API消费方式

而用命令行

kubectl --v=8 get pods

则发现,get pods这个命令实际上也是发请求发往Kubernetes的API server:

https://<ip>:6443/api/v1/namespaces/default/pods?limit=500

API请求明细如下:

 
 

API server是Kubernetes最重要的核心组件之一:

1. 提供集群管理的REST API接口,包括认证授权、数据校验以及集群状态变更等

2. 提供其他模块之间的数据交互和通信的枢纽(其他模块通过API Server查询或修改

数据,只有API Server才直接操作etcd)

kube-apiserver支持同时提供https(默认监听在6443端口)和http API(默认监听在

127.0.0.1的8080端口),其中http API是非安全接口,不做任何认证授权机制,不建议

生产环境启用。两个接口提供的REST API格式相同,参考Kubernetes API Reference查

看所有API的调用格式。

在实际使用中,通常通过kubectl来访问apiserver,也可以通过Kubernetes各个语言的

client库来访问apiserver。

比如上面get pods命令对应的API的文档:

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#list-62

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

 
0
0
分享到:
评论

相关推荐

    cli, Cloud Foundry官方 命令行 客户端.zip

    cli, Cloud Foundry官方 命令行 客户端 getting | /feature | /特性请求| Bug/特性请求| 插件开发| Contributing 云代工厂计划 是云铸造公司的官方客户。 在这里,每个命令的最新帮助是 ;( 或者运行 cf he

    Cloud Foundry: The Definitive Guide

    Cloud Foundry允许开发者通过其提供的命令行工具和API来部署、管理和扩展应用程序。它抽象了底层计算资源,比如虚拟机或容器,并且可以运行在各种云平台上,包括私有云、公共云以及混合云环境。由于它具备容器编排...

    云计算、OpenStack、Cloud-Foundry、Kubernetes-简介-PPT

    云计算、OpenStack、Cloud-Foundry、Kubernetes-简介-PPT

    Spring 与 Cloud Foundry:在云中珠联璧合

    标题 "Spring 与 Cloud Foundry:在云中珠联璧合" 暗示了本文将探讨Spring框架如何与Cloud Foundry云平台相结合,发挥出强大的云计算能力。这两个技术的结合,为企业提供了高效的开发和部署环境,实现了快速迭代和可...

    CloudFoundry服务网关的架构

    - API Flow:描述了Brokered Service与CloudFoundry之间交互的API流程。 - 实现细节:具体实现Brokered Service的方法和步骤。 通过以上介绍可以看出,CloudFoundry的服务网关不仅提供了丰富的功能和服务管理能力...

    Cloud Foundry平台概述

    Cloud Foundry提供了多种使用方式,包括通过Spring Tool Suite(STS)插件、命令行工具vmc等进行操作。例如,你可以使用vmc命令来完成目标环境的选择、登录、应用的推送、服务的绑定、更新以及实例数量的调整等操作...

    Cloud Foundry合作伙伴战略和案例分享

    首先,"喻勇_Cloud Foundry合作伙伴战略和案例分享.ppt"可能涵盖了Cloud Foundry如何与全球范围内的技术提供商、系统集成商和服务商建立合作关系。这可能包括合作模式、合作收益、市场推广策略以及如何共同推动Cloud...

    Cloud Foundry 中的新增功能-中英文

    Kubernetes作为领先的容器编排系统,与Cloud Foundry的结合可以提供更灵活的应用部署和管理方案。这种集成可能涉及到将Cloud Foundry的应用生命周期管理能力与Kubernetes的基础设施管理能力相结合。 最后,Cloud ...

    CloudFoundry中MongoDB的应用

    - 官方微博更新:关注CloudFoundry中文官方微博@CloudFoundry可以及时获取各种活动信息和技术动态。 #### MongoDB简介 MongoDB是一种非常流行的NoSQL数据库,采用文档数据模型存储数据。它具有高度灵活的数据结构...

    kf:感觉像Cloud Foundry。 在Kubernetes上运行

    使用Kf将Cloud Foundry应用程序迁移到Kubernetes 随着您的团队在Kubernetes上实现标准化,从现有平台(如Cloud Foundry)迁移应用程序通常是最大的挑战之一。 Kf现在已得到完全支持,旨在帮助您的团队将向和的迁移...

    Cloud Foundry:云时代的Linux/LAMP.pdf

    Cloud Foundry是一个开源的Platform-as-a-Service (PaaS) 平台,旨在简化应用程序的部署、运行和扩展。这个平台是由VMware公司发起,并由技术权威Mark Lucovsky领导的团队进行开发。Cloud Foundry的核心理念是让开发...

    cloudfoundry-runtime-0.8.4_Java8_cloud_

    【标签】"Java8 cloud" 表明这个版本的 Cloud Foundry 运行时是基于 Java 8 开发的,Java 8 是 Oracle 发布的一个重要 Java 版本,引入了诸如 Lambda 表达式、函数式编程、流API等新特性,优化了垃圾回收和多线程...

    Cloudfoundry

    Cloudfoundry

    Cloud Foundry - The Definitive Guide

    Get started with Cloud Foundry, the leading Platform as a Service (PaaS) that’s dramatically changing how developers, operations practitioners, and especially DevOps teams deploy applications and ...

    spring-cloud-cloudfoundry:Cloudfoundry与Spring Cloud API之间的集成

    Spring Cloud Cloudfoundry是Spring Cloud生态体系中的一部分,旨在实现Spring Cloud API与Pivotal Cloudfoundry平台之间的无缝集成。Cloudfoundry作为一个领先的云原生应用平台,提供了自动化的部署、扩展和管理...

    CF-Help.rar_Help!_cloudfoundry_cloudfoundry Help

    CloudFoundry是一个开源的平台即服务(PaaS)系统,由Pivotal Software开发并维护,主要用于构建、部署和管理应用程序。这个“CF-Help.rar”压缩包显然包含了与CloudFoundry相关的帮助文档,旨在为用户提供简洁而...

    基于CloudFoundry的PaaS云平台的设计与实现

    CloudFoundry是一种开源的PaaS(平台即服务)云平台,它允许用户在云环境中部署和运行应用程序,而无需关注底层硬件或操作系统的细节。它的设计理念是提供一个高可用、弹性的环境,帮助开发者快速部署应用程序,并且...

    CLOUD Lc08 Introduction to CloudFoundry

    3. **部署应用程序**:介绍如何通过cf CLI(命令行界面)将Java应用推送到CloudFoundry,包括应用的打包、推送过程,以及如何指定环境变量和依赖。 4. **服务绑定**:学习如何在CloudFoundry上连接和使用数据库、...

    CloudFoundry开源云计算平台简介.rar

    CloudFoundry开源云计算平台简介rar,提供“CloudFoundry开源云计算平台简介”免费资料下载,主要包括Cloud Foundry的概述、Cloud Foundry的架构、使用Cloud Foundry部署应用等内容,可供学习使用。

Global site tag (gtag.js) - Google Analytics