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/ namespace>/secrets?limit=500:

这个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请求和响应的负载。

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
5月前
|
云安全 Kubernetes 安全
云安全之Kubernetes API Server 8080端口未授权
在Kubernetes中,API Server是与集群通信的核心组件之一。默认情况下,Kubernetes API Server会在端口8080上侦听请求,如果Kubernetes API Server在8080端口上启用了未授权访问,那么攻击者可以通过该端口访问API Server并获取敏感信息或执行攻击。这可能会影响任何使用未经身份验证的HTTP协议连接的版本,包括Kubernetes的早期版本和未经修补的漏洞版本。
703 0
|
5月前
|
Kubernetes 安全 API
【kubernetes】API Server 保证性能的方式
【kubernetes】API Server 保证性能的方式
62 0
|
8月前
|
Kubernetes 网络协议 Ubuntu
Kubeadm 快速搭建 k8s v1.19.1 集群(Ubuntu Server 20.04 LTS)
安装准备工作安装环境要求:角色 实验环境 生产环境 操作系统 master cpu/内存:2 Core/2G cpu/内存:2 Core/4G linux 内核 4.4+ node cpu/内存:1 Core/2G cpu/内存:4 Core/16G linux 内核 4.4+ 备注 Node:应根据需要运行的容器数量进行配置; Linux 操作系统基于 x86_64 架构的各种 Linux 发行版...
614 2
Kubeadm 快速搭建 k8s v1.19.1 集群(Ubuntu Server 20.04 LTS)
|
10月前
|
存储 JSON Kubernetes
kubernetes API Server 看这篇试试(2)
kubernetes API Server 看这篇试试(2)
kubernetes API Server 看这篇试试(2)
|
10月前
|
存储 JSON Kubernetes
kubernetes API Server 看这篇试试(1)
kubernetes API Server 看这篇试试(1)
kubernetes API Server 看这篇试试(1)
|
存储 Kubernetes 前端开发
一款不错的 Go Server/API boilerplate,使用 K8S+DDD+CQRS+ES+gRPC 最佳实践构建
一款不错的 Go Server/API boilerplate,使用 K8S+DDD+CQRS+ES+gRPC 最佳实践构建
255 0
一款不错的 Go Server/API boilerplate,使用 K8S+DDD+CQRS+ES+gRPC 最佳实践构建
|
Kubernetes 前端开发 Cloud Native
React Server Components 遇上 Kubernetes,官方 Demo 改造之上云试玩
React Server Components 遇上 Kubernetes,官方 Demo 改造之上云试玩
React Server Components 遇上 Kubernetes,官方 Demo 改造之上云试玩
|
Kubernetes API 网络架构
Kubernetes API server工作原理
Kubernetes API server工作原理
|
存储 Kubernetes API
深度剖析Kubernetes API Server三部曲 - part 1
欢迎来到深入学习Kubernetes API Server的系列文章,在本系列文章中我们将深入的探究Kubernetes API Server的相关实现。如果你对Kubernetes 的内部实现机制比较感兴趣或者正在进行Kubernetes 项目的相关开发工作,那么本系列文章能够为你提供一些帮助。
1396 0
推荐文章
更多