访问kubernetes api
kubernetes api介绍
作用: 将各种资源对象的数据都通过该api接口被提交到后端的持久化存储etcd中;
一个api的顶层元素由kind丶apiVersion丶metadata丶spec和status这5部分组成
1.kind
有三大类别: 对象(object)丶列表(list)丶简单类别(simple)
2.apiVersion
表示API的版本号, 当前版本默认只支持v1
3.metadata : 资源对象的元数据定义,
在kubernetes中的每个资源对象都必须包含3中Metadata
namespace: 对象所属的命名空间
name: 对象的名称
uid: 系统为每个对象都生成的唯一id
其它重要的元数据
labels: 标签
annotations: 用户可定义的注解
resourceVersion: 用于识别资源内部版本号的字符串
creationTimestamp: 系统记录创建对象时的时间戳
deletionTimestamp: 系统记录删除对象时的时间戳
selfLink: 通过api访问资源自身的URL
4.spec: 用户对需要管理的对象进行详细描述的主体部分都在spec, 他会被kubernetes持久化到etcd中保存, 系统通过spec的描述来创建或更新对象, 以达到用户期望的对象运行状态
5.status: 用于记录对象在系统中的当前状态信息
访问api
1.本地监听
kubectl proxy
curl http://127.0.0.1:8001/api

2.网络监听
kubectl proxy --address='192.168.1.52' --accept-hosts='^*$' --port=8001
启动kubectl proxy,使用网卡IP,从其他机器访问, --accept-hosts='^*$' 表示接受所有源IP,否则会显示不被授权
curl http://192.168.1.52:8001/api/
3.直接访问
kubectl create sa test
kubectl create clusterrolebinding sa-test-cluster-admin --clusterrole='cluster-admin' --serviceaccount=default:test
TOKEN=$(kubectl get secrets -o jsonpath="{.items[?(@.metadata.annotations['kubernetes\.io/service-account\.name']=='test')].data.token}"|base64 -d)
curl --header "Authorization: Bearer $TOKEN" --insecure -X GET https://192.168.1.52:6443/api/v1/nodes
4.通过postman访问

注意: 使用sa需要关闭ssl验证

参考文档: https://www.jianshu.com/p/0a5976ce1ce4
访问kubernetes api的更多相关文章
- 利用curl命令访问Kubernetes API server
kubectl 通过访问 Kubernetes API 来执行命令.我们也可以通过对应的TLS key, 使用curl 或是 golang client做同样的事. API 请求必须使用 JSON 格 ...
- 在kubernetes 集群内访问k8s API服务
所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 useraccount(用户账户).基于角色的访问控制(“RBAC”)使用 ...
- Kubernetes学习笔记(七):访问Pod元数据与Kubernetes API
Downward API 我们已经了解到,使用ConfigMap和Secret向应用传递配置数据,这对于运行前预设的数据是可行的.但是对于那些不能预先知道的,就需要使用Downward API. Do ...
- 在Openstack上创建并访问Kubernetes集群
第一部分:创建集群 在Openstack部署Kubernetes集群运行Nginx容器的步骤,其中包括: 利用Murano部署Kubernetes集群 配置Openstack的安全性使Kubernet ...
- Gravitational Teleport 开源的通过ssh && kubernetes api 管理linux 服务器集群的网关
Gravitational Teleport 是一个开源的通过ssh && kubernetes api 管理linux 服务器集群的网关 支持以下功能: 基于证书的身份认证 ssh ...
- kubernetes API Server 权限管理实践
API Server权限控制方式介绍 API Server权限控制分为三种:Authentication(身份认证).Authorization(授权).AdmissionControl(准入控制). ...
- 资深专家深度剖析Kubernetes API Server第3章(共3章)
在本系列的前两部分中我们介绍了API Server的总体流程,以及API对象如何存储到etcd中.在本文中我们将探讨如何扩展API资源. 在一开始的时候,扩展API资源的唯一方法是扩展相关API源代码 ...
- 资深专家深度剖析Kubernetes API Server第2章(共3章)
欢迎来到深入学习Kubernetes API Server的系列文章的第二部分.在上一部分中我们对APIserver总体,相关术语及request请求流进行探讨说明.在本部分文章中,我们主要聚焦于探究 ...
- 资深专家深度剖析Kubernetes API Server第1章(共3章)
欢迎来到深入学习Kubernetes API Server的系列文章,在本系列文章中我们将深入的探究Kubernetes API Server的相关实现.如果你对Kubernetes的内部实现机制比较 ...
随机推荐
- jenkins常用插件安装
1.常用jenkins插件 插件相关下载地址:http://updates.jenkins-ci.org/download/plugins/ git.hpi git-client.hpi gitlab ...
- 《精通并发与Netty》学习笔记(01 - netty介绍及环境搭建)
一.Netty介绍 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客户端程序. ...
- centos7 的system
1.vim /etc/systemd/system/alertmanager.service [Unit] Description=Alertmanager After=network-online. ...
- 论文阅读 | Tackling Adversarial Examples in QA via Answer Sentence Selection
核心思想 基于阅读理解中QA系统的样本中可能混有对抗样本的情况,在寻找答案时,首先筛选出可能包含答案的句子,再做进一步推断. 方法 Part 1 given: 段落C query Q 段落切分成句 ...
- C# MVC MVP
https://www.codeproject.com/Articles/613682/Your-first-program-using-MVC-pattern-with-Csharp-W https ...
- SolidWorks学习笔记9 自顶向下方法
目的:制作一个轴承. 先创建一个零件作为一级控件,(草图)如下,是轴承的横截面. 创建内环. 新建一个零件,然后选择插入=>零件,选择“一级控件”零件 创建卡环,插入零件,选择一级控件 然后再旋 ...
- 动态加载js不执行解决办法
这个问题的产生原因是:我们项目有一个主index文件,在主index文件中需要根据参数来判断是加载pc.html的内容还是加载mobile.html的内容,一开始是使用jquery来做的,没有问题,后 ...
- docker运行报错docker0: iptables: No chain/target/match by that name.
转自:https://blog.csdn.net/wohaqiyi/article/details/84450562 docker运行报错docker0: iptables: No chain/tar ...
- go语言开启go module
export GO111MODULE=on //linux .MAC set GO111MODULE=on //Windows
- java 模拟http请求,通过流(stream)的方式,发送json数据和文件
发送端: /** * 以流的方式 * 发送文件和json对象 * * @return */ public static String doPostFileStreamAndJsonObj(String ...