searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

通过curl访问k8s的apiserver

2023-07-18 01:23:40
11
0

在运维和开发的过程中,使用token值访问k8s apiserver 更为方便快捷。具体操作如下:

1. 创建开发者用户账号为dev的用户,可以使用以下命令

kubectl create serviceaccount  dev

2.创建用户访问规则

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: dev
rules:
  - apiGroups:
      - ""
    resources:
      - pods
      - pods/attach
      - pods/exec
      - pods/log
      - pods/status
      - configmaps
      - services
    verbs:
      - get
      - list
      - watch
      - create
      - describe
  - apiGroups:
      - extensions
      - apps
    resources:
      - deployments
    verbs:
      - get
      - list
      - watch
      - describe

3. 绑定用户角色

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: dev
  namespace: default
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: devuser
subjects:
  - kind: ServiceAccount
    name: dev
    namespace: default

4.可使用下列命令获取token 值

TOKEN=$(kubectl describe secrets $(kubectl get secrets -n default |grep dev |cut -f1 -d ' ') -n default |grep -E '^token' |cut -f2 -d':'|tr -d '\t'|tr -d ' ')
 

5. 获取apiserver 地址

APISERVER=$(kubectl config view |grep server|cut -f 2- -d ":" | tr -d " ")

6. 通过curl 命令访问k8s apiserver

curl -H "Authorization: Bearer $TOKEN" $APISERVER/api  --insecure
0条评论
0 / 1000
黄****慧
4文章数
0粉丝数
黄****慧
4 文章 | 0 粉丝
原创

通过curl访问k8s的apiserver

2023-07-18 01:23:40
11
0

在运维和开发的过程中,使用token值访问k8s apiserver 更为方便快捷。具体操作如下:

1. 创建开发者用户账号为dev的用户,可以使用以下命令

kubectl create serviceaccount  dev

2.创建用户访问规则

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: dev
rules:
  - apiGroups:
      - ""
    resources:
      - pods
      - pods/attach
      - pods/exec
      - pods/log
      - pods/status
      - configmaps
      - services
    verbs:
      - get
      - list
      - watch
      - create
      - describe
  - apiGroups:
      - extensions
      - apps
    resources:
      - deployments
    verbs:
      - get
      - list
      - watch
      - describe

3. 绑定用户角色

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: dev
  namespace: default
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: devuser
subjects:
  - kind: ServiceAccount
    name: dev
    namespace: default

4.可使用下列命令获取token 值

TOKEN=$(kubectl describe secrets $(kubectl get secrets -n default |grep dev |cut -f1 -d ' ') -n default |grep -E '^token' |cut -f2 -d':'|tr -d '\t'|tr -d ' ')
 

5. 获取apiserver 地址

APISERVER=$(kubectl config view |grep server|cut -f 2- -d ":" | tr -d " ")

6. 通过curl 命令访问k8s apiserver

curl -H "Authorization: Bearer $TOKEN" $APISERVER/api  --insecure
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0