Kubernetes认证和准入控制
让一个用户(Users)扮演一个角色(Role),角色拥有权限,从而让用户拥有这样的权限,随后在授权机制当中,只需要将权限授予某个角色,此时用户将获取对应角色的权限,从而实现角色的访问控制。当采用RBAC的方式进行授权时,把对对象(k8s的资源一类)的操作权限定义到一个角色当中,再将用户绑定到该角色,从而使用户得到对应角色的权限。如果是通过rolebinding绑定role,只能对rolebing
前言
在Kubernetes中,认证(Authentication)、授权(Authorization)和准入控制(Admission Control)是安全性的关键组成部分。在之前部署的StorageClass和fluentd中我们都是用的角色授权,在Namespace中权限控制就是为Namespace设置角色访问控制策略(RBAC)这些都涉及到Kubernetes中的认证->授权->准入控制。在用户访问Kubernetes集群的时候都要经历认证->授权->准入控制。
- 认证(Authenticating)是对客户端的认证,通俗点就是用户名密码验证
- 授权(Authorization)授权是确定用户或实体是否具有执行特定操作的权限,是对资源的授权。Kubernetes中的资源无非是容器,最终其实就是容器的计算,网络,存储资源,当一个请求经过认证后,需要访问某一个资源(比如创建一个pod),授权检查都会通过访问策略比较该请求需要的的属性资源,(比如用户,资源和Namespace),根据授权规则判定该资源(比如某Namespace下的Pod)是否是该客户可访问的。
- 准入控制(Admission Control)是Kubernetes的一种安全机制,用于在资源创建或修改之前对请求进行审查和验证。准入控制可以基于各种条件对请求进行筛选,例如,可以拒绝创建特定类型的资源、修改某些字段的值,或者强制执行特定的安全策略。Kubernetes 提供了一组内置的准入控制器,并允许用户编写自定义的准入控制器来满足特定的需求。
认证
- kubernetes上的账号
kubectl explain pods.spec可以看到有一个字段serviceAccountName(服务账号名称),这个就是我们pod连接apiserver时使用的账号,因此整个kubernetes集群中的账号有两类,ServiceAccount(服务账号),User account(用户账号)。
Service Accounts(服务账号)
用于给Pod授权访问Kubernetes API的一种身份标识是一种资源。每个命名空间都有一个默认的服务账号,可以用来控制Pod对集群资源的访问权限。
User Accounts是为人设计的,Service account则是为Pod中的进程调用Kubernetes API而设计的,User account是跨namespace的,而Service account则是仅局限它所在的Namespace;每个Namespace都会自动创建一个default service account;系统会自动在与该pod 相同的 namespace 下为其指派一个default service account。而pod和apiserver之间进行通信的账号,称为serviceAccountName。如下:
在命名空间default下创建Pod查看:
root@master yaml]# kubectl get pods nginx-dy-6457fcbd6-c2jx9 -o yaml | grep "serviceAccountName"
serviceAccountName: default
创建sa:
apiVersion: v1
kind: ServiceAccount
metadata:
name: bwk
namespace: default
secrets:
- name: bwk-token
---
apiVersion: v1
kind: Secret
metadata:
name: bwk-token
namespace: default
annotations:
kubernetes.io/service-account.name: bwk
type: kubernetes.io/service-account-token
查看创建的sa账户
[root@master ~]# kubectl get secret,sa
NAME TYPE DATA AGE
secret/bwk-token kubernetes.io/service-account-token 3 5h6m
NAME SECRETS AGE
serviceaccount/bwk 1 5h6m
serviceaccount/default 0 33d
[root@master ~]# kubectl describe sa bwk
Name: bwk
Namespace: default
Labels: <none>
Annotations: <none>
Image pull secrets: <none>
Mountable secrets: bwk-token
Tokens: bwk-token
Events: <none>
User Accounts(用户账号)
用于代表真实的用户或实体访问Kubernetes集群(登陆k8s物理机器的用户)。通常由集群管理员管理,并且通常与外部的身份验证和授权系统集成,如 LDAP、OAuth 等。
- kubeconfig文件
在K8S集群当中,每一个用户对资源的访问都是需要通过apiserver进行通信认证才能进行访问的,那么在此机制当中,对资源的访问可以是token,也可以是通过配置文件的方式进行保存和使用认证信息,可以通过kubectl config进行查看配置(存放位置/root/.kube/)。
[root@master .kube]# kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://192.168.0.100:6443 #apiserverurl的地址
name: kubernetes #集群名称
contexts: #定义 那个用户可以访问那个集群
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes #上下文的名字,就是使用kubernetes-admin对k8s集群进行验证
current-context: kubernetes-admin@kubernetes #当前上下文的名字kubernetes-admin它属于kubernetes集群
kind: Config
preferences: {}
users: #定义用户
- name: kubernetes-admin
user:
client-certificate-data: DATA+OMITTED
client-key-data: DATA+OMITTED
使用kubectl get svc 看到集群名称是kubernetes
[root@master .kube]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 33d
clusters、contexts、users为对象列表可以定义多个集群,contexts,users。
授权
授权是确定用户或实体是否具有执行特定操作的权限。在认证通过后,Kubernetes将用户的请求与访问策略(如 RBAC规则)进行匹配,以确定用户是否被授予执行所请求操作的权限。是基于插件形式的,其常用的授权插件有以下几种:Node(节点认证)、ABAC(基于属性的访问控制)、RBAC(基于角色的访问控制)、Webhook(基于http回调机制的访问控制)其中RBAC日常经常用到。
什么是RBAC
让一个用户(Users)扮演一个角色(Role),角色拥有权限,从而让用户拥有这样的权限,随后在授权机制当中,只需要将权限授予某个角色,此时用户将获取对应角色的权限,从而实现角色的访问控制。
当采用RBAC的方式进行授权时,把对对象(k8s的资源一类)的操作权限定义到一个角色当中,再将用户绑定到该角色,从而使用户得到对应角色的权限。如果是通过rolebinding绑定role,只能对rolebingding所在的名称空间的资源有权限,属于名称空间级别的。
Kubernetes还有集群级别的授权机制,就是定义一个集群角色(ClusterRole),对集群内的所有资源都有可操作的权限,从而将User通过ClusterRoleBinding到ClusterRole,从而使User拥有集群的操作权限。Role、RoleBinding、ClusterRole和ClusterRoleBinding都是Kubernetes的资源对象,可以使用kubectl get xxx查看。
如图用户UserA,UserB都可以通过RoleBinding绑定Role,RoleBinding绑定ClusterRole,ClusterRoleBinding绑定ClusterRole。RoleBinding仅仅对当前名称空间有对应的权限。
ClusterRole就是定义一个ClusterRole(集群级别的角色),对ClusterRole授予所有权限,然后用户通过RoleBinding绑定到ClusterRole,就会拥有自己名称空间的管理员权限了。它就是解决了业务量非常大的时候同样权限的授权问题。
部署授权
我们部署一个Dashboard请参考:https://blog.csdn.net/qq42004/article/details/136763984
初次登录Dashboard我们创建的token登录后是无法操作的没有任何授权。我们创建一个develop的命名空间下的一个ServiceAccount用户develop。yaml文件如下,使用ClusterRoleBinding绑定cluster-admin角色。
apiVersion: v1
kind: Namespace
metadata:
name: develop
---
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: develop
name: develop
secrets:
- name: develop-token
---
apiVersion: v1
kind: Secret
metadata:
name: develop-token
namespace: develop
annotations:
kubernetes.io/service-account.name: develop
type: kubernetes.io/service-account-token
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: develop-na
namespace: develop
roleRef: #kubectl explain ClusterRoleBinding.roleRef 中对roleRef的说明RoleRef只能引用全局命名空间中的ClusterRole。如果
#无法解析RoleRef,授权人必须返回一个错误。此字段是不可变的。
#RoleRef包含指向正在使用的角色的信息。kind只能是ClusterRole
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin #定义角色,此角色来源kubectl get ClusterRoleBinding。角色可以自己定义。
subjects: #定义被授权对象列表
- kind: ServiceAccount
name: develop
namespace: develop
获取token登录Dashboard:
[root@master ~]# kubectl describe secret develop-token -n develop
Name: develop-token
Namespace: develop
Labels: kubernetes.io/legacy-token-last-used=2024-04-13
Annotations: kubernetes.io/service-account.name: develop
kubernetes.io/service-account.uid: 2b80ca2c-8010-4d43-9c96-c73005e5e5a6
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1107 bytes
namespace: 7 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImM4ZExJQ0RDQnJfVGxVSFAzMk9NT1FnZkR1Tk5LeXdkbVp1YUxuRjVoVkUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZXZlbG9wIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRldmVsb3AtdG9rZW4iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGV2ZWxvcCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjJiODBjYTJjLTgwMTAtNGQ0My05Yzk2LWM3MzAwNWU1ZTVhNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZXZlbG9wOmRldmVsb3AifQ.qI1LjkMqmxews0OXjCmy_f5dHHa3QRG2onWCCafIBkkAT3fJBYCpyIaMGW-ns1yMHat4U2vEacuIJoz4CVUrQW6bFQegPl86gZADeMx3W8KDPx60bvvGKbmR40bx9pO9mao7w7A5DxjDC0stBZ53r0wl772_3mJ89RnA0CKTQ8RS5NQ0Wdhraww6zbrTqL2Wcd85QFg9okoDGJ6c_dh-SR-BC6qNKVON0EWX_9EZ-vmDM8I1iQH5cMXL9BM7OZwSSuRKO7ddb_oVdobpVKcSmJmodVXioPwM--b7uMyxjTbCG60dhIMZA1orgNBcS87D7a5xiBm97ctfvnG8ASEI3A
部署config文件
创建一个config登录Dashboard。首先创建config文件的关联账户要有操作权限,使用develop账户和/etc/kubernetes/pki/ca.crt证书。
-
创建配置文件
kubectl config set-cluster kubernetes --certificate-authority=./ca.crt --server=“192.168.0.100:6443” --embed-certs=true --kubeconfig=/root/develop-admin.conf
查看cat /root/develop-admin.conf
[root@master ~]# cat develop-admin.conf
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJUGUyN3lTVThEVFV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBek1URXdOekE1TWpsYUZ3MHpOREF6TURrd056RTBNamxhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURqNVBSMFltY2ZaUjZSeGZvYTg1UkF4K09INnA0WWZKemRXK0wrYXltaFV5Skc5NXRvZzZvMXlCR3kKMXpEMEZBU3NSK3VUL1c3NGRqMm85STMvU2F0dXZ2bWxNbmszaVlCbEduTFRKZGRKZEZrd1RxUVljb0ZNRHUwMQovMklsZVNZT2hkdXNtZiszSEJ3TmNlbkxGQWdZR01icWtyVzViOGJMbGI2aDZzOHczRkxLTGhndDJOVTlFRW1iCnZSRnlGZ2U2SFcwbFJmbzJhbWRodldRNHNkR2Z4NEs5UndrTDRiNkJVZ3JlSkJhM3FDZnZlTnVmWW1sOWlvNHcKU1UzSCtqd0hKL3ZzTDgvMVZxTVQxMHA1TlNrS3ZCcDZxMDJBVlg1ZEZvaGNPVldUeDdnaUU1SktEV0ZNUkNYQQpSYnI2M2tLZFlpS3RGUDV5d2FIcm93Sm5Ra0JyQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRSXRFK25RY25pZjZ4VEJoc293ejZWUlRZdmdqQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQlYvMzhjVXRTSAo4bEZwR3ZzTlFURm9pMmp1NDJwTUZoZFloZVdxWUd0aUN1d2dNZEhFL21tQXJUMmJuckk5MHpVQ0JxbnJ5WlV3CmFKbHJta2dQUnRXaTRjdUdCZEQwOVFxK3Q2WDk5SDJDaWpPNjdkbllXWmVCLzNjaGI1Nk04SGVOVk1Vb2w5V04KMXlnV0pqb3B2clpCNnhOblZzWmdUbHRITUxBSFhYcCtUTzJxRGIvbTQyTU9mOUhUOVFEWFBCU1JyR2h2NjQwUwpIU0JRZFh0NENKS2hFVnlXN3I2ODZBWHpFeVN5N1NJN2dKVE5ubHJUcXlTclBNQ2FNcmo2Rm5SelE5MjlzRGJhCmcrMHJFVkdVWEVGVDJYNGpPakNtUXB4SlVTVHFLdkx4c1JWUktjRVI3bXBOWmhTaXdqMWZvcTFycVlVVnpLb3YKWDM1aVQreTJWd0Z0Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
server: 192.168.0.100:6443 ##apiserverurl的地址
name: kubernetes #集群名称
contexts: null
current-context: ""
kind: Config
preferences: {
2.添加访问用户
DEF_NS_DEVE_TOKEN=$(kubectl get secret develop-token -n develop -o jsonpath={.data.token}|base64 -d)
#解密develop的token并赋值给DEF_NS_DEVE_TOKEN
kubectl config set-credentials develop --token=$DEF_NS_DEVE_TOKEN --kubeconfig=/root/develop-admin.conf
#引用解密后的token并关联账户develop添加到配置文件
查看cat /root/develop-admin.conf
[root@master ~]# cat develop-admin.conf
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJUGUyN3lTVThEVFV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBek1URXdOekE1TWpsYUZ3MHpOREF6TURrd056RTBNamxhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURqNVBSMFltY2ZaUjZSeGZvYTg1UkF4K09INnA0WWZKemRXK0wrYXltaFV5Skc5NXRvZzZvMXlCR3kKMXpEMEZBU3NSK3VUL1c3NGRqMm85STMvU2F0dXZ2bWxNbmszaVlCbEduTFRKZGRKZEZrd1RxUVljb0ZNRHUwMQovMklsZVNZT2hkdXNtZiszSEJ3TmNlbkxGQWdZR01icWtyVzViOGJMbGI2aDZzOHczRkxLTGhndDJOVTlFRW1iCnZSRnlGZ2U2SFcwbFJmbzJhbWRodldRNHNkR2Z4NEs5UndrTDRiNkJVZ3JlSkJhM3FDZnZlTnVmWW1sOWlvNHcKU1UzSCtqd0hKL3ZzTDgvMVZxTVQxMHA1TlNrS3ZCcDZxMDJBVlg1ZEZvaGNPVldUeDdnaUU1SktEV0ZNUkNYQQpSYnI2M2tLZFlpS3RGUDV5d2FIcm93Sm5Ra0JyQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRSXRFK25RY25pZjZ4VEJoc293ejZWUlRZdmdqQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQlYvMzhjVXRTSAo4bEZwR3ZzTlFURm9pMmp1NDJwTUZoZFloZVdxWUd0aUN1d2dNZEhFL21tQXJUMmJuckk5MHpVQ0JxbnJ5WlV3CmFKbHJta2dQUnRXaTRjdUdCZEQwOVFxK3Q2WDk5SDJDaWpPNjdkbllXWmVCLzNjaGI1Nk04SGVOVk1Vb2w5V04KMXlnV0pqb3B2clpCNnhOblZzWmdUbHRITUxBSFhYcCtUTzJxRGIvbTQyTU9mOUhUOVFEWFBCU1JyR2h2NjQwUwpIU0JRZFh0NENKS2hFVnlXN3I2ODZBWHpFeVN5N1NJN2dKVE5ubHJUcXlTclBNQ2FNcmo2Rm5SelE5MjlzRGJhCmcrMHJFVkdVWEVGVDJYNGpPakNtUXB4SlVTVHFLdkx4c1JWUktjRVI3bXBOWmhTaXdqMWZvcTFycVlVVnpLb3YKWDM1aVQreTJWd0Z0Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
server: 192.168.0.100:6443
name: kubernetes
contexts: null
current-context: ""
kind: Config
preferences: {}
users: #定义develop用户
- name: develop
user:
token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImM4ZExJQ0RDQnJfVGxVSFAzMk9NT1FnZkR1Tk5LeXdkbVp1YUxuRjVoVkUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZXZlbG9wIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRldmVsb3AtdG9rZW4iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGV2ZWxvcCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjJiODBjYTJjLTgwMTAtNGQ0My05Yzk2LWM3MzAwNWU1ZTVhNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZXZlbG9wOmRldmVsb3AifQ.qI1LjkMqmxews0OXjCmy_f5dHHa3QRG2onWCCafIBkkAT3fJBYCpyIaMGW-ns1yMHat4U2vEacuIJoz4CVUrQW6bFQegPl86gZADeMx3W8KDPx60bvvGKbmR40bx9pO9mao7w7A5DxjDC0stBZ53r0wl772_3mJ89RnA0CKTQ8RS5NQ0Wdhraww6zbrTqL2Wcd85QFg9okoDGJ6c_dh-SR-BC6qNKVON0EWX_9EZ-vmDM8I1iQH5cMXL9BM7OZwSSuRKO7ddb_oVdobpVKcSmJmodVXioPwM--b7uMyxjTbCG60dhIMZA1orgNBcS87D7a5xiBm97ctfvnG8ASEI3A
-
关联上下文
kubectl config set-context develop@kubernetes --cluster=kubernetes --user=develop --kubeconfig=/root/develop-admin.conf
#上下文的名字,使用develop对k8s集群进行验证
kubectl config use-context develop@kubernetes --kubeconfig=/root/develop-admin.conf
#当前上下文的名字develop它属于kubernetes集群
查看cat /root/develop-admin.conf
[root@master ~]# cat develop-admin.conf
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJUGUyN3lTVThEVFV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBek1URXdOekE1TWpsYUZ3MHpOREF6TURrd056RTBNamxhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURqNVBSMFltY2ZaUjZSeGZvYTg1UkF4K09INnA0WWZKemRXK0wrYXltaFV5Skc5NXRvZzZvMXlCR3kKMXpEMEZBU3NSK3VUL1c3NGRqMm85STMvU2F0dXZ2bWxNbmszaVlCbEduTFRKZGRKZEZrd1RxUVljb0ZNRHUwMQovMklsZVNZT2hkdXNtZiszSEJ3TmNlbkxGQWdZR01icWtyVzViOGJMbGI2aDZzOHczRkxLTGhndDJOVTlFRW1iCnZSRnlGZ2U2SFcwbFJmbzJhbWRodldRNHNkR2Z4NEs5UndrTDRiNkJVZ3JlSkJhM3FDZnZlTnVmWW1sOWlvNHcKU1UzSCtqd0hKL3ZzTDgvMVZxTVQxMHA1TlNrS3ZCcDZxMDJBVlg1ZEZvaGNPVldUeDdnaUU1SktEV0ZNUkNYQQpSYnI2M2tLZFlpS3RGUDV5d2FIcm93Sm5Ra0JyQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJRSXRFK25RY25pZjZ4VEJoc293ejZWUlRZdmdqQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQlYvMzhjVXRTSAo4bEZwR3ZzTlFURm9pMmp1NDJwTUZoZFloZVdxWUd0aUN1d2dNZEhFL21tQXJUMmJuckk5MHpVQ0JxbnJ5WlV3CmFKbHJta2dQUnRXaTRjdUdCZEQwOVFxK3Q2WDk5SDJDaWpPNjdkbllXWmVCLzNjaGI1Nk04SGVOVk1Vb2w5V04KMXlnV0pqb3B2clpCNnhOblZzWmdUbHRITUxBSFhYcCtUTzJxRGIvbTQyTU9mOUhUOVFEWFBCU1JyR2h2NjQwUwpIU0JRZFh0NENKS2hFVnlXN3I2ODZBWHpFeVN5N1NJN2dKVE5ubHJUcXlTclBNQ2FNcmo2Rm5SelE5MjlzRGJhCmcrMHJFVkdVWEVGVDJYNGpPakNtUXB4SlVTVHFLdkx4c1JWUktjRVI3bXBOWmhTaXdqMWZvcTFycVlVVnpLb3YKWDM1aVQreTJWd0Z0Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
server: 192.168.0.100:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: develop
name: develop@kubernetes #上下文的名字,使用develop对k8s集群进行验证
current-context: develop@kubernetes #当前上下文的名字develop它属于kubernetes集群
kind: Config
preferences: {}
users:
- name: develop
user:
token: eyJhbGciOiJSUzI1NiIsImtpZCI6ImM4ZExJQ0RDQnJfVGxVSFAzMk9NT1FnZkR1Tk5LeXdkbVp1YUxuRjVoVkUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZXZlbG9wIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImRldmVsb3AtdG9rZW4iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGV2ZWxvcCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjJiODBjYTJjLTgwMTAtNGQ0My05Yzk2LWM3MzAwNWU1ZTVhNiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZXZlbG9wOmRldmVsb3AifQ.qI1LjkMqmxews0OXjCmy_f5dHHa3QRG2onWCCafIBkkAT3fJBYCpyIaMGW-ns1yMHat4U2vEacuIJoz4CVUrQW6bFQegPl86gZADeMx3W8KDPx60bvvGKbmR40bx9pO9mao7w7A5DxjDC0stBZ53r0wl772_3mJ89RnA0CKTQ8RS5NQ0Wdhraww6zbrTqL2Wcd85QFg9okoDGJ6c_dh-SR-BC6qNKVON0EWX_9EZ-vmDM8I1iQH5cMXL9BM7OZwSSuRKO7ddb_oVdobpVKcSmJmodVXioPwM--b7uMyxjTbCG60dhIMZA1orgNBcS87D7a5xiBm97ctfvnG8ASEI3A
下载develop-admin.conf上传到Dashboard登录
更多推荐
所有评论(0)