通过API访问公有云Kubernete集群

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 当前很多用户有对接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搭建和管理企业级网站应用
目录
相关文章
|
17天前
|
JSON API 开发工具
【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改
【Azure 应用服务】调用Azure REST API来获取 App Service的访问限制信息(Access Restrictions)以及修改
|
20天前
|
API 开发者
【API管理 APIM】APIM集成内部VNet后,自我访问出现(Unable to connect to the remote server)问题,而Remote Server正是APIM它自己
【API管理 APIM】APIM集成内部VNet后,自我访问出现(Unable to connect to the remote server)问题,而Remote Server正是APIM它自己
|
18天前
|
Web App开发 缓存 小程序
【Azure API 管理】从微信小程序访问APIM出现200空响应的问题中发现CORS的属性[terminate-unmatched-request]功能
【Azure API 管理】从微信小程序访问APIM出现200空响应的问题中发现CORS的属性[terminate-unmatched-request]功能
|
13天前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之海外是否可以访问人物动漫化的api版本
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
26 0
|
17天前
|
存储 安全 API
【Azure API Management】实现在API Management服务中使用MI(管理标识 Managed Identity)访问启用防火墙的Storage Account
【Azure API Management】实现在API Management服务中使用MI(管理标识 Managed Identity)访问启用防火墙的Storage Account
|
17天前
|
API C#
【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求
【Azure API 管理】APIM如何实现对部分固定IP进行访问次数限制呢?如60秒10次请求
|
18天前
|
API Python
【Azure API 管理】API Management 访问限制策略[quota-by-key] 中参数 [renewal-period] 的实验和理解
【Azure API 管理】API Management 访问限制策略[quota-by-key] 中参数 [renewal-period] 的实验和理解
|
18天前
|
API 开发者
【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问
【Azure API 管理】API Management service (APIM) 如何实现禁止外网访问
|
18天前
|
安全 API
【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)
【Azure API 管理】Azure API Management通过请求中的Path来限定其被访问的频率(如1秒一次)
|
18天前
|
API
【Azure API 管理】在 Azure API 管理中使用 OAuth 2.0 授权和 Azure AD 保护 Web API 后端,在请求中携带Token访问后报401的错误
【Azure API 管理】在 Azure API 管理中使用 OAuth 2.0 授权和 Azure AD 保护 Web API 后端,在请求中携带Token访问后报401的错误