首页 > 其他分享 >使用token调用apiserver

使用token调用apiserver

时间:2024-07-12 10:41:51浏览次数:12  
标签:kind 调用 name service secret apiserver token

一、前置条件和说明:

1.已安装k3s,并完成kubeconfig配置

2.k8s1.24之后的版本,创建service account时,不会自动创建secret,需要手工创建secret

 

二、步骤

1.创建service account

apiVersion: v1
kind: ServiceAccount
metadata:
  name: apiserver-sa
  namespace: kube-system

 

2.创建高权限的cluster role

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: cluster-admin
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]

 

3.service account与cluster role进行绑定

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: api-admin-bind
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: apiserver-sa
  namespace: kube-system

 

4.手工创建secret(会自动分配token)

apiVersion: v1
kind: Secret
metadata:
  name: apiserver-token-secret  
  namespace: kube-system
  annotations:
    kubernetes.io/service-account.name: "apiserver-sa"  #对应步骤1中创建的service name
type: kubernetes.io/service-account-token

 

5.secret中的token是base64编码的,解码后保存到token.txt,供后续使用

kubectl -n kube-system get secrets apiserver-token-secret -o jsonpath='{.data.token}'|base64 -d > token.txt

 

6.通过curl访问apiserver

curl -H "Authorization: Bearer $(cat token.txt)" -k https://127.0.0.1:6443/api/v1/namespaces/kube-system

 

7.其他

确定apiserver地址: 127.0.0.1:6443为apiserver地址。可以通过kubectl查看具体环境的apiserver地址
kubectl cluster-info

 

标签:kind,调用,name,service,secret,apiserver,token
From: https://www.cnblogs.com/danny-djy/p/18297805

相关文章

  • 0168-过程调用
    环境Time2022-11-09WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:《x86汇编语言:从实模式到保护模式》李忠目标通过过程调用来向屏幕输出helloworld。过程调用过程调用有点类似跳转,不过调用后,还会回到原来的位置继续执行。过程调用时,首先将下一条指令入栈......
  • lazreport调用fr3格式的方法
    近日使用时发现lazreport自带调用fr3的功能,按下面的方法调用就可以:1、uses添加fr3tolrf2、form添加frreport3、使用LoadFastReport3调用fr3文件LoadFastReport3(frReport控件名称,fr3格式的文件,返回相应信息); unitUnit1;{$modeobjfpc}{$H+}interfaceusesClas......
  • C语言基础:函数的定义、调用和递归
    在C语言中,函数是一段完成特定任务的代码块,可以被多次调用和重复使用,有助于提高程序的模块化和可维护性。函数通过定义和调用来实现。函数的定义函数的定义包括函数的声明和函数体,其中函数的声明用于告诉编译器函数的名称、参数类型和返回类型,而函数体则包含了具体的实现......
  • 基于Java的科大讯飞大模型API调用实现
        写在前面:因为现在自己实习的公司新拓展的一个业务是结合AI的低代码平台,我负责后端的开发,之前一直都是直接使用gpt或者文心一言等ui界面来直接使用大模型,从来没有自己调接口过,所以本文记录一下自己第一次使用大模型的心得,小趴菜一个,大佬们勿喷~~    源码:ll......
  • 快递查询|阿里云实现调用API接口
    整体请求流程介绍:本次解析通过阿里云云市场的云服务来实现程序中对快递包裹实时监控,首先需要准备选择一家可以提供快递查询的商品。https://market.aliyun.com/apimarket/detail/cmapi00065859#sku=yuncode5985900001步骤1:选择商品如图点击免费试用,即可免费申请该接......
  • 【java】实现sse调用websocket接口,忽略wss证书并控制sse吐字速度
    maven<dependency><groupId>org.java-websocket</groupId><artifactId>Java-WebSocket</artifactId><version>1.5.3</version></dependency>AsyncConfigpackag......
  • 【uni-app+Vue3】 API请求封装:让接口调用更便捷
    前言:uni-app是一款基于Vue.js框架的跨平台开发工具,可以将代码编译成H5、小程序、App等不同平台的应用。在进行uni-app开发时,网络请求是必不可少的环节。为了方便开发,我们可以封装一些网络请求方法,以便在多个页面中复用,并且可以统一处理错误信息等问题,提高开发效率和代码质量。......
  • 高仿imtoken钱包源码/获取助记词/获取私钥/自动归集
    简介:高仿imtoken钱包/获取助记词/获取私钥/自动归集带双端,无纯源码     下载源码 ......
  • spring clound @FeignClient @RequestHeader 设置token cookie
     publicMap<String,String>populateHeaders(){Map<String,String>headers=newHashMap();Stringcookie=this.getCookie();if(StringUtils.isNoneBlank(newCharSequence[]{cookie})){headers.put(&quo......
  • 前端如何取消接口调用
    ......