今天让我们来体验一下,使用curl的方式访问api-server。

实验目标:

使用curl的方式,取得下面的bb-128这个POD的名称。

环境说明:

操作步骤:

第1步:在kube-system命名空间中创建一个serivceaccount: test-sa-2

从上图可以看到,创建后,它的Tokens目前为none:

第2步:准备一份yaml文件,创建secret对象,并绑定到test-sa-2.

 创建secret对象:

 查看一下:


 

 这次,test-sa-2对象有Tokens了:

 

第3步:给test-sa-2 serviceaccount授予cluster-admin权限,这是一个具有很高级别的权限,有很多权限。

查看一下:

第4步:  设置Token变量。

第5步:验证一下,能访问POD信息了。

命令:

curl --cacert /etc/kubernetes/pki/ca.crt -H "Authorization: Bearer $TOKEN" https://192.168.114.20:6443/api/v1/pods |grep bb-128

curl访问api-server三要素:

1)ca证书。

2)Token

3)url,例如:https://192.168.114.20:6443/api/v1/pods

注意:

在第3步,不要直接使用kubectl get中的token,因为那是经过base64位编码的。

 如果一定要用,则需要用base64 -d解码后方可使用:

参考:

curl 访问k8s https 证书和token 几种方式_Michaelwubo的博客-CSDN博客_curl 证书访问

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐