通过API访问公有云Kubernete集群

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 当前很多用户有对接kubernetes集群的需求,但是对于如何进行集群管理及调用kubernetes原始API还不太熟悉,本文旨在介绍如何在用户环境调试及集成kubernetes相关功能。

    当前很多用户有对接kubernetes集群的需求,但是对于如何进行集群管理及调用kubernetes原始API还不太熟悉,本文旨在介绍如何在用户环境调试及集成kubernetes相关功能。


集群管理功能

集群管理功能比如获取集群证书,添加节点到集群等功能遵循阿里云openAPI调动的方式,分为两种调用方式:

1、         通过SDK调用(建议使用)

SDK地址:https://develop.aliyun.com/tools/sdk?spm=a2c4g.11186623.2.3.8k5rdm

可以在此地址中选择需要的SDK类型。

 

2、         通过代码实现签名机制调用

如果不通过SDK调用集群管理功能,则需要实现签名机制,方法请见公有云文档:签名机制及相关章节。

Kubernetes原生API调用

方式一:通过token来访问

1、         获取API Server endpoint

登录容器服务kubernetes管理控制台,点击【集群】->【管理】->【基本信息】,在连接信息里找到“API Server公网连接端点”。

 10b6fa394950acc95a68356af8f5b87648d721b9

 

2、         获取token

a)      在获取API Server endpoint页面查看“通过kubectl连接kubernetes集群”,获取登录kubernetes集群方式;

7fc3619d0962bb63d937f3062563fb6b65fd8dba

b)      通过kubectl获取token,命令如下图所示。

                             i.           kubectl get secrets -n kube-system admin-token-xwk4s -o yaml,在这里我们选取admin的secret,可以根据实际情况进行角色的选取;

                            ii.           选择其中的token,该token是base64编码过的;

8e9dbe950751160cabfb1ede4222ef172fee433f

                          iii.           对该token进行decode获取真实的token;

echo “token”|base64 --decode

 

3、         API使用示例

a)      通过postman发送请求

将上面获取到的token填入header,格式为Authorization:Bearer [token]

7ef5133d73097374de51ac6b5b62491fa2a14446

 

b)      通过代码实现

在代码中的消息header中同样添加Authorization:Bearer [token]即可;

方式二 通过证书来访问

1、         获取API Server endpoint

同方式一;

2、         获取证书

a)      获取ca.pem

如下图所示,在【集群】->【管理】页面,在基本信息中选择【certificate-authority-data】中的数据,该数据是base64编码过的,使用的话需要解码。命令:echo “xxxxxxxxxxxxxxxx”|base64 --decode >ca.pem

c662ae7eba796398727a312255a758cd80d52339

b)      获取cert.pem

如下图所示,在【集群】->【管理】页面,在基本信息中选择【client-certificate-data】中的数据,该数据是base64编码过的,使用的话需要解码。命令:echo “xxxxxxxxxxxxxxxx”|base64 --decode >cert.pem

c5e88bd78ebb72c721d3a148b12dc320cadba623

c)      获取key.pem

如下图所示,在【集群】->【管理】页面,在基本信息中选择【client-key-data】中的数据,该数据是base64编码过的,使用的话需要解码。命令:echo “xxxxxxxxxxxxxxxx”|base64 --decode >key.pem

70e8905dce3a69cedd83493d1e9cea7066662e99

3、         API示例

a)      通过curl调用

调用方式:

curl -k --cacert ./ca.pem --cert ./cert.pem --key ./key.pem https://endpoint:6443/api/v1

 

b)      通过代码调用

以go语言为例如下:

ee85de27073cf95b05d77d1d7a3d6001cbf59cae


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
4月前
|
JSON API 开发工具
【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改
【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改
|
2月前
|
编解码 中间件 API
API实现跨平台访问的方式
【10月更文挑战第16天】API实现跨平台访问的方式
48 2
|
2月前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
本文介绍了云原生环境下Kubernetes集群的安全问题及攻击方法。首先概述了云环境下的新型攻击路径,如通过虚拟机攻击云管理平台、容器逃逸控制宿主机等。接着详细解释了Kubernetes集群架构,并列举了常见组件的默认端口及其安全隐患。文章通过具体案例演示了API Server 8080和6443端口未授权访问的攻击过程,以及Kubelet 10250端口未授权访问的利用方法,展示了如何通过这些漏洞实现权限提升和横向渗透。
182 0
云上攻防-云原生篇&K8s安全-Kubelet未授权访问、API Server未授权访问
|
3月前
|
API iOS开发 开发者
Snapchat API 访问:Objective-C 实现示例
Snapchat API 访问:Objective-C 实现示例
|
4月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之海外是否可以访问人物动漫化的api版本
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
53 0
|
4月前
|
存储 安全 API
【Azure API Management】实现在API Management服务中使用MI(管理标识 Managed Identity)访问启用防火墙的Storage Account
【Azure API Management】实现在API Management服务中使用MI(管理标识 Managed Identity)访问启用防火墙的Storage Account
|
4月前
|
API C#
【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求
【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求
|
4月前
|
API Python
【Azure API 管理】API Management 访问限制策略[quota-by-key] 中参数 [renewal-period] 的实验和理解
【Azure API 管理】API Management 访问限制策略[quota-by-key] 中参数 [renewal-period] 的实验和理解
|
4月前
|
API 开发者
【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问
【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问
|
4月前
|
安全 API
【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)
【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)