如何从k8s集群外的机器上调用k8s的API(可调用多个k8s的apiserver)

简介: 从k8s集群外的机器上调用k8s主节点的apiserver提供的API

因为公司项目需要,k8s的集群管理由其它人负责,而我们的自动化部署平台需要从k8s集群外的机器上调用k8s主节点的apiserver提供的API。

由于集群是用kubeadm安装的,证书验证齐全,那么,调用API时,只能通过kubectl proxy的方式进行调用管理。

操作步骤如下:

 

一,在集群外的机器上安装好kubectl的rpm包。

rpm -ivh kubectl-1.7.0-0.x86_64.rpm

二,将k8s上在安装过程中生成的config文件重命名,CP到操作用户的家目录的.kube目录下,config文件中包含的内容片段如下。


contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config

三,启动kubectl proxy,通过kubeconfig参数指定目标config文件(指定不同的config,可连接不同的k8s apiserver),默认通过8001端口代理访问。

kubectl --kubeconfig="/x/.kube/config" proxy

四,如果有多个k8s的apiserver,指定不同的端口需要增加port参数。

kubectl --kubeconfig="/x/.kube/config" --port=8079 proxy

2a62f5c9340bb004d8e35a36db3c26a68d0b3a5c

五,可通过curl命令进行简单的测试。

curl http://127.0.0.1:8079/apis/extensions/v1beta1/namespaces/default/deployments/pc-saveapi

5fea7ed251177d09d2219eb89d9f821c60130623

六,全版的api操作文档见如下网址(注意版本号)。

https://v1-7.docs.kubernetes.io/docs/api-reference/v1.7/

 

七,祝顺利。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
3月前
|
Unix API 索引
Elasticsearch集群使用 _cat/health API
Elasticsearch集群使用 _cat/health API
58 1
|
3月前
|
监控 API 索引
Elasticsearch集群使用 _cluster/health API
Elasticsearch集群使用 _cluster/health API
100 2
|
4月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
373 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
6月前
|
Kubernetes 负载均衡 监控
在K8S中,apiserver的高可用是如何实现的?
在K8S中,apiserver的高可用是如何实现的?
|
6月前
|
Kubernetes 负载均衡 API
在K8S中,api-service 和 kube-schedule 高可用原理是什么?
在K8S中,api-service 和 kube-schedule 高可用原理是什么?
|
6月前
|
SQL 存储 数据处理
|
6月前
|
资源调度 Kubernetes API
在K8S中,能否实现不通过api-Server创建Pod?
在K8S中,能否实现不通过api-Server创建Pod?
|
6月前
|
Kubernetes 监控 API
在k8S中,各模块如何与API Server进行通信的?
在k8S中,各模块如何与API Server进行通信的?
|
1天前
|
JSON API 数据格式
阿里巴巴商品详情接口(阿里巴巴 API 系列)
在电商开发中,获取阿里巴巴商品详情信息对数据分析、竞品研究等至关重要。通过调用其商品详情接口,开发者可获取标题、价格、图片、描述等数据,满足多种业务需求。接口采用HTTPS协议,支持GET/POST请求,返回JSON格式数据。示例代码展示了如何使用Python的requests库进行接口请求,需传递商品ID和访问令牌。实际应用时,请依据官方文档调整参数并确保安全性。
27 10
|
2天前
|
JSON API 数据格式
eBay商品详情接口(ebay API系列)
eBay 商品详情接口是电商从业者、开发者和数据分析师获取商品详细信息的重要工具,涵盖标题、价格、库存、卖家信息等。使用前需在 eBay 开发者平台注册并获取 API 凭证,通过 HTTP GET 请求调用接口,返回 JSON 格式数据。Python 示例代码展示了如何发送请求并解析响应,确保合法合规使用数据。
32 12

热门文章

最新文章