如何从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/

 

七,祝顺利。

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
Kubernetes API 网络安全
当node节点kubectl 命令无法连接到 Kubernetes API 服务器
当Node节点上的 `kubectl`无法连接到Kubernetes API服务器时,可以通过以上步骤逐步排查和解决问题。首先确保网络连接正常,验证 `kubeconfig`文件配置正确,检查API服务器和Node节点的状态,最后排除防火墙或网络策略的干扰,并通过重启服务恢复正常连接。通过这些措施,可以有效解决与Kubernetes API服务器通信的常见问题,从而保障集群的正常运行。
1248 17
|
监控 API 索引
Elasticsearch集群使用 _cluster/health API
Elasticsearch集群使用 _cluster/health API
813 2
|
Unix API 索引
Elasticsearch集群使用 _cat/health API
Elasticsearch集群使用 _cat/health API
433 1
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
2436 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
SQL 存储 数据处理
深入探索GBase 8a MPP集群的C-API开发接口
【8月更文挑战第20天】
356 2
|
资源调度 Kubernetes API
在K8S中,能否实现不通过api-Server创建Pod?
在K8S中,能否实现不通过api-Server创建Pod?
|
Kubernetes 负载均衡 监控
在K8S中,apiserver的高可用是如何实现的?
在K8S中,apiserver的高可用是如何实现的?
|
Kubernetes 负载均衡 API
在K8S中,api-service 和 kube-schedule 高可用原理是什么?
在K8S中,api-service 和 kube-schedule 高可用原理是什么?
|
Kubernetes 监控 API
在k8S中,各模块如何与API Server进行通信的?
在k8S中,各模块如何与API Server进行通信的?
|
9月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。

推荐镜像

更多