先说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列表。
而用命令行
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的原创文章,请关注公众号"汪子熙":
相关推荐
cli, Cloud Foundry官方 命令行 客户端 getting | /feature | /特性请求| Bug/特性请求| 插件开发| Contributing 云代工厂计划 是云铸造公司的官方客户。 在这里,每个命令的最新帮助是 ;( 或者运行 cf he
Cloud Foundry允许开发者通过其提供的命令行工具和API来部署、管理和扩展应用程序。它抽象了底层计算资源,比如虚拟机或容器,并且可以运行在各种云平台上,包括私有云、公共云以及混合云环境。由于它具备容器编排...
云计算、OpenStack、Cloud-Foundry、Kubernetes-简介-PPT
标题 "Spring 与 Cloud Foundry:在云中珠联璧合" 暗示了本文将探讨Spring框架如何与Cloud Foundry云平台相结合,发挥出强大的云计算能力。这两个技术的结合,为企业提供了高效的开发和部署环境,实现了快速迭代和可...
首先,"喻勇_Cloud Foundry合作伙伴战略和案例分享.ppt"可能涵盖了Cloud Foundry如何与全球范围内的技术提供商、系统集成商和服务商建立合作关系。这可能包括合作模式、合作收益、市场推广策略以及如何共同推动Cloud...
Kubernetes作为领先的容器编排系统,与Cloud Foundry的结合可以提供更灵活的应用部署和管理方案。这种集成可能涉及到将Cloud Foundry的应用生命周期管理能力与Kubernetes的基础设施管理能力相结合。 最后,Cloud ...
使用Kf将Cloud Foundry应用程序迁移到Kubernetes 随着您的团队在Kubernetes上实现标准化,从现有平台(如Cloud Foundry)迁移应用程序通常是最大的挑战之一。 Kf现在已得到完全支持,旨在帮助您的团队将向和的迁移...
Cloud Foundry是一个开源的Platform-as-a-Service (PaaS) 平台,旨在简化应用程序的部署、运行和扩展。这个平台是由VMware公司发起,并由技术权威Mark Lucovsky领导的团队进行开发。Cloud Foundry的核心理念是让开发...
【标签】"Java8 cloud" 表明这个版本的 Cloud Foundry 运行时是基于 Java 8 开发的,Java 8 是 Oracle 发布的一个重要 Java 版本,引入了诸如 Lambda 表达式、函数式编程、流API等新特性,优化了垃圾回收和多线程...
Cloudfoundry
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是Spring Cloud生态体系中的一部分,旨在实现Spring Cloud API与Pivotal Cloudfoundry平台之间的无缝集成。Cloudfoundry作为一个领先的云原生应用平台,提供了自动化的部署、扩展和管理...
CloudFoundry是一个开源的平台即服务(PaaS)系统,由Pivotal Software开发并维护,主要用于构建、部署和管理应用程序。这个“CF-Help.rar”压缩包显然包含了与CloudFoundry相关的帮助文档,旨在为用户提供简洁而...
CloudFoundry是一种开源的PaaS(平台即服务)云平台,它允许用户在云环境中部署和运行应用程序,而无需关注底层硬件或操作系统的细节。它的设计理念是提供一个高可用、弹性的环境,帮助开发者快速部署应用程序,并且...
3. **部署应用程序**:介绍如何通过cf CLI(命令行界面)将Java应用推送到CloudFoundry,包括应用的打包、推送过程,以及如何指定环境变量和依赖。 4. **服务绑定**:学习如何在CloudFoundry上连接和使用数据库、...
CloudFoundry开源云计算平台简介rar,提供“CloudFoundry开源云计算平台简介”免费资料下载,主要包括Cloud Foundry的概述、Cloud Foundry的架构、使用Cloud Foundry部署应用等内容,可供学习使用。