如何用curl访问k8s api

这篇博客介绍了如何在Kubernetes中创建ServiceAccount和ClusterRoleBinding以获取Token,然后使用curl命令查询Pod日志、所有Namespaces及特定Namespace下的Pods。步骤包括创建权限、检索Token以及调用API进行资源查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 创建Token

devops_admin_token.yaml

# Create ServiceAccount
apiVersion: v1
kind: ServiceAccount
metadata:
  name: devops-admin
  namespace: default
---
# Create ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: devops-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: devops-admin
  namespace: default

kubectl apply -f devops_admin_token.yaml

2 获取Token

根据自己创建ClusterRoleBinding所选的Namespace去查找Secret,然后截取Token

TOKEN=$(kubectl describe secret `kubectl get secret -ndefault | grep devops-admin | awk '{print $1}'` | grep token: | awk '{print $NF}')

3 访问API

(1)查询pod日志

curl -H "Authorization: Bearer $TOKEN" https://192.168.1.1:6443/api/v1/namespaces/scr/pods/log-85bb949cd-m546t/log/ --insecure

(2)查询所有namespace

curl -H "Authorization: Bearer $TOKEN" https://192.168.1.1:6443/api/v1/namespaces/ --insecure

(3)查询一个namespace下所有的pod

curl -H "Authorization: Bearer $TOKEN" https://192.168.1.1:6443/api/v1/namespaces/scr/pods --insecure

参考文章:

(1)如何使用curl访问k8s的apiserver

(2)K8s API概述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RSQ博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值