Kubernetes API server工作原理

作为Kubernetes的使用者,每天用得最多的命令就是kubectl XXX了。

kubectl其实就是一个控制台,主要提供的功能:

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

2. 提供其他模块之间的数据交互和通信的枢纽(其他模块通过API Server查询或修改数据,只有API Server才直接操作etcd)

也就是说,我们在终端里输入的每个kubectl命令,实际上都是一个发往Kubernetes API server的Restful API调用。

我们可以做个实验:

kubectl get secret -v=9, 通过-v=9设置最高级别的trace:

从输出观察到为了取回所有的secret而进行的API server的调用url:https://xxxx/api/v1/namespaces/

这个HTTP请求的格式在Kubernetes官网能查到。

那么kubectl命令怎么知道应该把请求发送到哪个API server呢?

运行命令kubectl config view, 显示内容里的server:后面的地址就是API server的url。

kubectl config view显示的内容来自配置文件: ~/.kube/config:

其实Kubernetes的kubectl工作原理和CloudFoundry的命令行工具cf一样。

设置操作系统的环境变量CF_TRACE = true

然后执行任意的cf 命令,能看到这些命令实际上也是发送一个HTTP请求到SAP Cloud Platform的某个endpoint上。

例子:cf logs connectvity-demo-approuter --recent

然后就能看到为了完成这个命令所发送的HTTP请求和响应的负载。

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

原文地址:https://www.cnblogs.com/sap-jerry/p/9998357.html

时间: 2024-11-03 00:09:37

Kubernetes API server工作原理的相关文章

Kubernetes API Server原理

Kubernetes API Server功能 Kubernete API Server的核心功能主要是为Kubernetes的各类资源对象(如 node,pod,service等)提供了增.删.改.查以及watch的HTTP Rest接口.API server是集群中各个功能模块之间数据交互和通信的中心枢纽,除此之外它还有以下特性: 集群管理的API入口 资源配额控制的入口 提供完备的集群安全机制 常规API接口 Kubernetes的 API server通过 kube-apiserver进

深度剖析Kubernetes API Server三部曲 - part 1

欢迎来到深入学习Kubernetes API Server的系列文章,在本系列文章中我们将深入的探究Kubernetes API Server的相关实现.如果你对Kubernetes 的内部实现机制比较感兴趣或者正在进行Kubernetes 项目的相关开发工作,那么本系列文章能够为你提供一些帮助.了解学习过go语言,会在某些方面帮助你更好的理解本系列文章.在本期文章中,我们首先会对Kubernetes API Server进行一个总体的大致说明,然后对API的技术术语及请求流作说明.在下几期的文

深度剖析Kubernetes API Server三部曲 - part 2

在上一部分中我们对API server总体,相关术语及request请求流进行探讨说明.在本部分文章中,我们主要聚焦于探究如何对Kubernetes请添加链接描述 对象的状态以一种可靠,持久的方式进行管理.之前的文章中提到过 API Server自身是无状态的,并且它是唯一能够与分布式存储etcd直接通信的组件.etcd的简要说明在*nix操作系统中,我们一般使用/etc来存储相关配置数据.实际上etcd的名字就是由此发展而来,在etc后面加上个"d"表示"distribut

kubernetes API Server 权限管理实践

API Server 权限管理应用 API Server权限控制方式介绍 API Server权限控制分为三种:Authentication(身份认证).Authorization(授权).AdmissionControl(准入控制). 身份认证: 当客户端向Kubernetes非只读端口发起API请求时,Kubernetes通过三种方式来认证用户的合法性.kubernetes中,验证用户是否有权限操作api的方式有三种:证书认证,token认证,基本信息认证. 证书认证 设置apiserver

深度剖析Kubernetes API Server三部曲 - part 3

在本系列的前两部分中我们介绍了API Server的总体流程,以及API对象如何存储到etcd中.在本文中我们将探讨如何扩展API资源.在一开始的时候,扩展API资源的唯一方法是扩展相关API源代码,集成为你所需的资源.或者,推动一个全新的类型为新的核心对象API合入社区代码.但是,这样就会导致核心API资源类型的不断增加,直至API过载.为了避免这种API资源的无限制扩展,在Kubernetes中提供两种扩展核心API的方法: 使用自定义资源定义(CRDs),最开始的时候被称为第三方资源(TP

[转载]Python量化交易平台开发教程系列1-类CTP交易API的工作原理

原文出处:http://vnpy.org/2015/03/05/20150305_Python%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93%E5%B9%B3%E5%8F%B0%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B%E7%B3%BB%E5%88%971-%E7%B1%BBCTP%E4%BA%A4%E6%98%93API%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86/ 类CTP交易API简介 国

DHCP server工作原理

1.CLIENT首先发出广播的DHCPDISCOVER报文,广播的目的是让DHCP SERVER能够收到这个请求报文.在这个报文中,CLIENT可以在"选项"字段中加入"request paramter list"选项,表明自己想要获得的各种参数,而且四个IP地址字段都必须为0. 2.由于DHCPDISCOVER报文是广播,那么所有的DHCP SERVER都能够收到,所有的DHCP SERVER都会响应一个DHCPOFFER报文,其中"你的IP地址&quo

kubernetes之K8s核心原理--第一篇(五)

  本来以为一篇就能搞定,还是低估了自己的废话,好吧,只能通过两篇文章向大家介绍K8s核心原理. 一. Kubernetes API Server 原理分析 1. kubernetes API Server介绍   kubernetes API server的和核心功能是提供了kubernetes各类资源对象(pod.RC .service等)的增.删.改.查以及watch等HTTP Rest接口,是整个系统的数据总线和数据中心.有时候我们使用kubectl创建或者查看pod等资源的时候,发现没

Centos7部署kubernetes API服务(四)

1.准备软件包 [[email protected] bin]# pwd /usr/local/src/kubernetes/server/bin [[email protected] bin]# cp kube-apiserver kube-controller-manager kube-scheduler /opt/kubernetes/bin/ 2.创建生成CSR的JSON配置文件 [[email protected] bin]# cd /usr/local/src/ssl/ [[emai