kubernetes 集群的访问-Token方式

一、创建新的名称空间

kubectl  create   ns  k8s-token

二、查看新名称空间的secrets 与serviceaccount

kubectl get serviceaccounts -n k8s-token && \
kubectl  describe  serviceaccounts  -n k8s-token && \
kubectl  get secrets  -n k8s-token && \
kubectl  describe  secrets  -n k8s-token

在这里插入图片描述

三、提取名称空间对应的 token 值

kubectl -n k8s-token get secret $(kubectl -n k8s-token get sa/default  -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"

在这里插入图片描述

四、配置集群访问文件

1、设置 kubeconfig 文件中的集群条目

export KUBECONFIG_SAVED=192.168.11.128
kubectl config --kubeconfig=/root/kubernetes/k8sconfig/token/kubeconfig \
set-cluster k8s-token \
--server=https://$KUBECONFIG_SAVED:6443 \
--certificate-authority=/etc/kubernetes/pki/ca.crt \
--embed-certs=true

2、设置 kubeconfig 文件中的用户条目

kubectl config --kubeconfig=/root/kubernetes/k8sconfig/token/kubeconfig \
set-credentials k8s-token \
--token=`kubectl -n k8s-token get secret $(kubectl -n k8s-token get sa/default  -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"`

3、设置 kubeconfig 文件中的条目

kubectl config --kubeconfig=/root/kubernetes/k8sconfig/token/kubeconfig \
set-context k8s-token@kubernetes \
--cluster=k8s-token \
--user=k8s-token

五、将配置文件替换

1、备份原文件

mv ~/.kube/config{,.bak}

2、复制集群访问文件进行替换

cp /root/kubernetes/k8sconfig/token/kubeconfig /root/.kube/config

3、切换上下文

kubectl  config  use-context k8s-token@kubernetes && kubectl  get po

在这里插入图片描述
提示使用tls 方式

六、重新替换原配置,对Token进行授权

1、还原原配置文件

cd  ~/.kube  &&  cat config.bak >  config

2、定义角色权限

vim role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: role-Pod
  namespace: jenkins
rules:
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - get
  - list
  - watch
kubectl  apply -f role.yaml

3、定义角色绑定

vim rolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: rolebing-readPod
  namespace: k8s-token
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: role-Pod
subjects:
- kind: ServiceAccount
  name: default
  namespace: k8s-token
kubectl  apply -f rolebinding.yaml

4、再次更换配置文件

cp /root/kubernetes/k8sconfig/token/kubeconfig /root/.kube/config

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值