一起来学k8s 06.安装dashboard

Dashboard Install

Kubernetes Dashboard就是k8s集群的web界面,集合了所有命令行可以操作的所有命令。界面如下所示

dashboard

环境

192.168.48.101 master01
192.168.48.201 node01
192.168.48.202 node02

dashboard 安装

k8s的dashboard安装可以说是非常简单,参考github的指导既可。项目地址如下

https://github.com/kubernetes/dashboard

官方安装命令

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

但是这么安装存在几个问题:

  1. 镜像国内无法直接访问,需要设置docker代理,才能下载镜像
  2. dashboard的默认web证书是自动生成的,由于时间和名称存在问题,导致谷歌和ie浏览器无法打开登录界面,经过测试Firefox可以正常打开

镜像

dashboardv1.10.1镜像下载

链接:https://pan.baidu.com/s/1A4NI1guHwOFQv-n7F6ajYA 提取码:fvne

各节点无脑加载镜像

docker load -i dashboard.tar.gz

创建dashboard

[root@master01 ~]# kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
secret/kubernetes-dashboard-certs created
serviceaccount/kubernetes-dashboard created
role.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
deployment.apps/kubernetes-dashboard created
service/kubernetes-dashboard created

[root@master01 ~]# kubectl get pod -n kube-system 
NAME                                    READY   STATUS    RESTARTS   AGE
coredns-fb8b8dccf-jfm2m                 1/1     Running   8          6d19h
coredns-fb8b8dccf-r8tqp                 1/1     Running   7          6d19h
etcd-master                             1/1     Running   5          6d19h
kube-apiserver-master01                   1/1     Running   5          6d19h
kube-controller-manager-master01          1/1     Running   4          6d19h
kube-flannel-ds-amd64-26xjf             1/1     Running   7          6d19h
kube-flannel-ds-amd64-82s7n             1/1     Running   3          6d19h
kube-flannel-ds-amd64-sd2j9             1/1     Running   3          6d19h
kube-proxy-792hk                        1/1     Running   5          6d19h
kube-proxy-88cgt                        1/1     Running   3          6d19h
kube-proxy-frgtq                        1/1     Running   2          6d19h
kube-scheduler-master01                   1/1     Running   4          6d19h
kubernetes-dashboard-5f7b999d65-rmxhw   1/1     Running   0          92s
[root@master ~]# 

kubernetes-dashboard service 在集群内部,无法再外部访问,为了方便访问,得暴露kubernetes-dashboard 443端口给NodePort

[root@master01 ~]# kubectl get svc -n kube-system 
NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   6d19h
kubernetes-dashboard   ClusterIP   10.109.71.206   <none>        443/TCP                  2m25s

[root@master01 ~]# kubectl edit svc kubernetes-dashboard  -n kube-system 

# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
kind: Service
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernetes-dashboard","namespace":"kube-system"},"spec":{"ports":[{"port":443,"targetPort":8443}],"selector":{"k8s-app":"kubernetes-dashboard"}}}
  creationTimestamp: "2019-04-06T14:30:32Z"
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
  resourceVersion: "37052"
  selfLink: /api/v1/namespaces/kube-system/services/kubernetes-dashboard
  uid: 88d3c228-5878-11e9-8c85-000c296cdc6e
spec:
  clusterIP: 10.109.71.206
  ports:
  - port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  sessionAffinity: None  
  type: NodePort
status:
  loadBalancer: {}
 
[root@master01 ~]# kubectl get svc -n kube-system 
NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   6d19h
kubernetes-dashboard   NodePort    10.109.71.206   <none>        443:30440/TCP            6m41s

通过谷歌浏览器访问,发现居然无法继续,如下图所示:

Chrome

通过火狐浏览器可以访问

firefox

发现原因是证书日期问题,Chrome拦截了,所以得手动配证书
在这里插入图片描述

证书

生成证书通过openssl生成自签名证书即可,这样就有了证书文件dashboard.crt 和 私钥 dashboad.key

[root@master01 ~]# cd /etc/kubernetes/pki/
[root@master01 pki]# openssl genrsa -out dashboard.key 2048
Generating RSA private key, 2048 bit long modulus
...................................+++
....................................................+++
e is 65537 (0x10001)
[root@master01 pki]# openssl req -new -out dashboard.csr -key dashboard.key -subj "/CN=dashboard"
[root@master01 pki]# openssl x509 -req -in dashboard.csr -out dashboard.crt -signkey dashboard.key  -CA ca.crt -CAkey ca.key -CAcreateserial -days 365
Signature ok
subject=/CN=dashboard
Getting Private key
Getting CA Private Key
[root@master01 pki]# ls
apiserver.crt              apiserver-etcd-client.key  apiserver-kubelet-client.crt  ca.crt  ca.srl         dashboard.csr  etcd                front-proxy-ca.key      front-proxy-client.key  sa.pub
apiserver-etcd-client.crt  apiserver.key              apiserver-kubelet-client.key  ca.key  dashboard.crt  dashboard.key  front-proxy-ca.crt  front-proxy-client.crt  sa.key

下载dashboard yaml并修改

wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

我们需要重新生成secret,并且将该配置文件中创建secret的配置文件信息去掉,将以下内容 从配置文件中去掉

[root@master01 ~]# vim kubernetes-dashboard.yaml 

# ------------------- Dashboard Secret ------------------- #

apiVersion: v1
kind: Secret
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-certs
  namespace: kube-system
type: Opaque

在配置文件中,修改service type为nodeport类型,固定访问端口nodePort:30001

vim kubernetes-dashboard.yaml 

# ------------------- Dashboard Service ------------------- #

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard

生成secret

先删除以前的secret 生成新的secret

[root@master01 ~]# kubectl delete -f kubernetes-dashboard.yaml 
serviceaccount "kubernetes-dashboard" deleted
role.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" deleted
rolebinding.rbac.authorization.k8s.io "kubernetes-dashboard-minimal" deleted
deployment.apps "kubernetes-dashboard" deleted
service "kubernetes-dashboard" deleted

[root@master01 ~]# kubectl  create secret generic kubernetes-dashboard-certs --from-file=/etc/kubernetes/pki/dashboard.key --from-file=/etc/kubernetes/pki/dashboard.crt -n kube-system 
secret/kubernetes-dashboard-certs created

重新apply yaml文件

重新创建kubernetes-dashboard.yaml

[root@master01 ~]# kubectl apply -f kubernetes-dashboard.yaml 
serviceaccount/kubernetes-dashboard created
role.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-minimal created
deployment.apps/kubernetes-dashboard created
service/kubernetes-dashboard created

查看kubernetes-dashboard的服务

[root@master01 ~]# kubectl get svc -n kube-system 
NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   6d20h
kubernetes-dashboard   NodePort    10.109.71.206   <none>        443:30001/TCP            64m

通过谷歌浏览器可以访问,如下图所示:

1554565081273

dashboard 访问

在这里插入图片描述

token访问

访问dashboard的是serviceaccount,得创建serviceaccount

[root@master01 ~]# kubectl create serviceaccount  dashboard-admin -n kube-system 
serviceaccount/dashboard-admin created

[root@master01 ~]# kubectl get serviceaccounts -n kube-system 
NAME                                 SECRETS   AGE
attachdetach-controller              1         6d20h
bootstrap-signer                     1         6d20h
certificate-controller               1         6d20h
clusterrole-aggregation-controller   1         6d20h
coredns                              1         6d20h
cronjob-controller                   1         6d20h
daemon-set-controller                1         6d20h
dashboard-admin                      1         33s
default                              1         6d20h
deployment-controller                1         6d20h
disruption-controller                1         6d20h
endpoint-controller                  1         6d20h
expand-controller                    1         6d20h
flannel                              1         6d20h
generic-garbage-collector            1         6d20h
horizontal-pod-autoscaler            1         6d20h
job-controller                       1         6d20h
kube-proxy                           1         6d20h
kubernetes-dashboard                 1         10m
namespace-controller                 1         6d20h
node-controller                      1         6d20h
persistent-volume-binder             1         6d20h
pod-garbage-collector                1         6d20h
pv-protection-controller             1         6d20h
pvc-protection-controller            1         6d20h
replicaset-controller                1         6d20h
replication-controller               1         6d20h
resourcequota-controller             1         6d20h
service-account-controller           1         6d20h
service-controller                   1         6d20h
statefulset-controller               1         6d20h
token-cleaner                        1         6d20h
ttl-controller                       1         6d20h

clusterrolebinding绑定

[root@master01 ~]# kubectl create clusterrolebinding  dashboard-cluster-admin --clusterrole=cluster-admin   --serviceaccount=kube-system:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-cluster-admin created

获取token

[root@master01 ~]# kubectl get secrets -n kube-system 
NAME                                             TYPE                                  DATA   AGE
attachdetach-controller-token-w5tsb              kubernetes.io/service-account-token   3      6d20h
bootstrap-signer-token-2gsqj                     kubernetes.io/service-account-token   3      6d20h
certificate-controller-token-qb8hw               kubernetes.io/service-account-token   3      6d20h
clusterrole-aggregation-controller-token-k6czs   kubernetes.io/service-account-token   3      6d20h
coredns-token-mfq8b                              kubernetes.io/service-account-token   3      6d20h
cronjob-controller-token-b5k7j                   kubernetes.io/service-account-token   3      6d20h
daemon-set-controller-token-qmpqt                kubernetes.io/service-account-token   3      6d20h
dashboard-admin-token-zf5kd                      kubernetes.io/service-account-token   3      5m30s
default-token-sx4mq                              kubernetes.io/service-account-token   3      6d20h
deployment-controller-token-n4z6v                kubernetes.io/service-account-token   3      6d20h
disruption-controller-token-bg4gl                kubernetes.io/service-account-token   3      6d20h
endpoint-controller-token-wb9p2                  kubernetes.io/service-account-token   3      6d20h
expand-controller-token-l5nz2                    kubernetes.io/service-account-token   3      6d20h
flannel-token-kmdc4                              kubernetes.io/service-account-token   3      6d20h
generic-garbage-collector-token-vrsdm            kubernetes.io/service-account-token   3      6d20h
horizontal-pod-autoscaler-token-82685            kubernetes.io/service-account-token   3      6d20h
job-controller-token-vg4qd                       kubernetes.io/service-account-token   3      6d20h
kube-proxy-token-lwgch                           kubernetes.io/service-account-token   3      6d20h
kubernetes-dashboard-certs                       Opaque                                2      19m
kubernetes-dashboard-key-holder                  Opaque                                2      82m
kubernetes-dashboard-token-wsrcl                 kubernetes.io/service-account-token   3      15m
namespace-controller-token-kjtfb                 kubernetes.io/service-account-token   3      6d20h
node-controller-token-2vljj                      kubernetes.io/service-account-token   3      6d20h
persistent-volume-binder-token-gcbz2             kubernetes.io/service-account-token   3      6d20h
pod-garbage-collector-token-vfwll                kubernetes.io/service-account-token   3      6d20h
pv-protection-controller-token-86bv7             kubernetes.io/service-account-token   3      6d20h
pvc-protection-controller-token-ls59z            kubernetes.io/service-account-token   3      6d20h
replicaset-controller-token-snxzg                kubernetes.io/service-account-token   3      6d20h
replication-controller-token-96ff9               kubernetes.io/service-account-token   3      6d20h
resourcequota-controller-token-ht46g             kubernetes.io/service-account-token   3      6d20h
service-account-controller-token-lhj4g           kubernetes.io/service-account-token   3      6d20h
service-controller-token-vrpt2                   kubernetes.io/service-account-token   3      6d20h
statefulset-controller-token-w5dxf               kubernetes.io/service-account-token   3      6d20h
token-cleaner-token-99l6t                        kubernetes.io/service-account-token   3      6d20h
ttl-controller-token-cwwp4                       kubernetes.io/service-account-token   3      6d20h

[root@master01 ~]# kubectl describe secrets  -n kube-system  dashboard-admin-token-zf5kd 
Name:         dashboard-admin-token-zf5kd
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-admin
              kubernetes.io/service-account.uid: 508072c6-5883-11e9-8c85-000c296cdc6e

Type:  kubernetes.io/service-account-token

Data
====
ca.crt:     1025 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4temY1a2QiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNTA4MDcyYzYtNTg4My0xMWU5LThjODUtMDAwYzI5NmNkYzZlIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.YxTu6SH0LswKd0AJMEDXvVsgKWqZSRlAqh_Xhlxt592m2KjfxlNzjHIufa6x44qo7bed9LYsvA03wvD0jIsJcDMadzlnQ_Mw-AUxe8kox6oUHgUbzSAmJg9-WRbhF0eYCq4RA8xB88S4KS2YyW1-XSz4gLf2MEqYZ0zyLqbE_br1Rz5vp9O2oKeVoDzrG18Zp-mdNJrQYWSGvk5ZyUaYT1T53NP3hSFRb2KppCGCP3d9pNZCEQ1x9nUp4nXqBc5wSawCtj83uDzyRtfnJquhqUu-gVsnv2t3WGIQnAwHWom5mW9824moczkISYf9sp8JT-ZSLwnf05s9-1Qv9urAaA


利用token登录

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4temY1a2QiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNTA4MDcyYzYtNTg4My0xMWU5LThjODUtMDAwYzI5NmNkYzZlIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.YxTu6SH0LswKd0AJMEDXvVsgKWqZSRlAqh_Xhlxt592m2KjfxlNzjHIufa6x44qo7bed9LYsvA03wvD0jIsJcDMadzlnQ_Mw-AUxe8kox6oUHgUbzSAmJg9-WRbhF0eYCq4RA8xB88S4KS2YyW1-XSz4gLf2MEqYZ0zyLqbE_br1Rz5vp9O2oKeVoDzrG18Zp-mdNJrQYWSGvk5ZyUaYT1T53NP3hSFRb2KppCGCP3d9pNZCEQ1x9nUp4nXqBc5wSawCtj83uDzyRtfnJquhqUu-gVsnv2t3WGIQnAwHWom5mW9824moczkISYf9sp8JT-ZSLwnf05s9-1Qv9urAaA

1554566228146

config访问

复制.kube/config文件 将token那一串添加进去

[root@master01 ~]# cp .kube/config  admin.conf
[root@master01 ~]# vim admin.conf 
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNU1ETXpNREU0TlRZd05sb1hEVEk1TURNeU56RTROVFl3Tmxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUdtCkFvU3g5VlNBeThHQnl3dUdjelBOVU8rZEJNRDhHZGkzQVVSdEg3TTd5U3FhVWxGY0Jnanpic004UmJ0QmwvZGYKeUh6a0RENDJKVGJDd0RvZVFuQTFZVGVOUmdUTzE5R0VXcVpZakN0U29pck9RakZEVElXYXg2RVhTeER5ZjB1YwpDTEhzNWtPVzdobm9ramNVREFOZUVaTmFBSUFKMkhxOW90QU9WZUNiaWNFa0h5SUsrMGNqTmMyN3RKcUVUVWhJClRYS0hiQUJWSjB0Y2tXTm53SUkvNUIwODloL0dXbnlTVFIyYXBydSsxaDVUbVRJOWVNZUtRVHpva2psTG1DbWgKU2duaXA3ZFN4Q3g1cVUrNm9nMHY3bXlOc0xWeWFKVlZrR0UxSG4vMVlPdW9rVkYrZnJ3YThuUHhxQ291UVZkWgpiOUo3cU9JZWE1Vi9KY1d4akxrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFLVmZLb0labHdLVFI4MnlIeTBKeDduSHhwa0QKSjhRNHowM1N0Yk9rN2JlMjZCdGRSZTJieTRaOXdoMk8vcXA5T3NKNVpPNzJKbHNIa09lUEQrZDRleStTRHRaKwpFVElxRXd0NEg3Vm1TOCs1c0J1cFpvVlVBdlI5QVI2Z2ZkTXB2OUJLK1RUV2dsaU45dW4yVThZQXpQVCtCejVaCmxsZ3dNWFl5Ymh5ZzBiQjNjckhMcWxaWFh3THg3ajBaQ3JsbUZKSlV2elBhZWVOQzhiRWNJd2t1RXlXc2l4dkYKelRhSzVIbDA3WnNTb0FZbWJHbThheEI2T3B6cUUzYlJaTmdHV0Z6dE1reFlpYy9aNkdJemo0Qm9hNWJhTlJPdApwK1ZhMHVOSlROTjREMjhza0d4MjdkRmVTNXVkdzdPYXUrbEM5Z3g0YmJKUkV6T0RYM00wY2wxcm5YTT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    server: https://192.168.48.200:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJWGdzZkVBUWpUU3d3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB4T1RBek16QXhPRFUyTURaYUZ3MHlNREF6TWpreE9EVTJNRFphTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXBCQlFQYjJKK3BhNCtrT00KNHVtS1J1UjVJekFtWi9qWEk5QWpyR0J1OWMwSXFUQVI5MjlzMFpHUnRoU0ZrNGtXaGZkbHNNOEVFZGtsb3hzdgowL1NxZWIvWVhpMGR3WXBrcElxMDlkVi9zck1aelNBS0cyaXBkMXovN2VjaVEvYUU5MDJDMzBxcnFPTExPejdOCnZiYmN4cmtyWEwvcFJSK0tWZjRYTzBuOXJuaE05ci9qd0JBVUNzSFZmbXY0OTJSdXFqY3JVUHVBUUpRNmxsdHIKMnZ1cURyRWZOeFR3OVcwK0pPVVZ5SVV4TkV6UEx3YndSL1hjTE9IZG9OcmlUcVFnVWRseXg0TFdwYkJzYkZQcgpZU0xpaDQrRExnWndWOTFIUUkySkliNlFZYjgzWW8rMHRsZlFBaWNCc0Y2R0YwVktmNmlLQTFjRmlDTlV5V3NYCjhhVU5rd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDNVlKQ3FEQXl3TTlOM2xoVkdjdkthMVNkN090eTEzQWtjZApjSDV4TDhWL2R5TGpTd3MrZHd6MDM1d3ZYVXVNMEtIT0hIcVMrMUkzenFpQW5wSWRNcVFjT3QzOEVGRnhqWnZxClNtYzdDczVVY0I1Znhocm14SnZFZGUvdFQzVmx4V2JHUHN0YUk3ZnRYdGFuQVFlZURBVjA3WHlvOHJqSG5VdFEKQ1ZrSEV5MUxIN3I5eGU3MUh2bzJFendHVzU2ZCtsSGlvK0hOdXdzcHlxZzF4NXF1SGhkYWc4VE9NY1RpcHpJawpndXNPTDF6YXh6bjBSalhsQ21ENmQ0cFR3bGtDVU42L3FaUWVHRkpjZFBBTlk0Y3NUQXdQSDJHS1Mrd2xrcGZECmw0NWpuL2IzSDJ6d2FabTFUK2xYNG1nYXZNR0lENjJTWno1WHNXOXprN3htODdrcmJoMD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBcEJCUVBiMkorcGE0K2tPTTR1bUtSdVI1SXpBbVovalhJOUFqckdCdTljMElxVEFSCjkyOXMwWkdSdGhTRms0a1doZmRsc004RUVka2xveHN2MC9TcWViL1lYaTBkd1lwa3BJcTA5ZFYvc3JNWnpTQUsKRzJpcGQxei83ZWNpUS9hRTkwMkMzMHFycU9MTE96N052YmJjeHJrclhML3BSUitLVmY0WE8wbjlybmhNOXIvagp3QkFVQ3NIVmZtdjQ5MlJ1cWpjclVQdUFRSlE2bGx0cjJ2dXFEckVmTnhUdzlXMCtKT1VWeUlVeE5FelBMd2J3ClIvWGNMT0hkb05yaVRxUWdVZGx5eDRMV3BiQnNiRlByWVNMaWg0K0RMZ1p3VjkxSFFJMkpJYjZRWWI4M1lvKzAKdGxmUUFpY0JzRjZHRjBWS2Y2aUtBMWNGaUNOVXlXc1g4YVVOa3dJREFRQUJBb0lCQVFDWW5hUkhDcDNqd1hscApOSlZHTDhFMW1Tc21sSS9sZ0JHQmV3ajBQUEI3THJPenpzZW55THNOWjhDSUJDY055eVJza21yQ1FwQ2ltY0R0CkxVa2NmaWhuQVJNZzZBOGFEc2I0V1I5azM2bmViY1MraitOWEE5RkErLzRITEU4dnNZNlhEaitEdjA1WDJFRDkKWjdxemsvdGowTFNKbnV3OEpNN21sMnE4K0dOSGU1dFd5cUo4YVJaaXB6UDB3cXZCU2ZsalpvdDFuNHl2alh4SQptM1d0QjY5bmpvRWVnYXdIN1V6SXZmSGNzUnlRejN6akFKTEdFYzA3a0Q1WnhaRlNGNkZudmovcjNCdFZOL0prCndoSXBXdFl2UytOTG5mMEFNbnZjZFplMlplQmJvWU5jVjZqU0RkeDZ3Mm80dmhWdXJHNzlVZDI2SW5DaUdqMGoKa2t4QXhUbGhBb0dCQU1ReGtjK21jQThwOENpR0YwdHJUM3Z0b2xicjRXbDhEbjE3Wng5R1BoZFVXSDhmOE9WcAo5VU1xVHdqYmNVODRUKzRyRG4yTHJkKy9iR2l5d25TR01vbXFwUXd1S3p2eitPQ1BOUkh2T1daYnF0Y2owUnlkCjhHL3NtQm9UaWFNaWVobURwTXZOUlJvd21xTHRjVWJPcFJKYS83MjBma3I3dk5EVmk4c3FidGdYQW9HQkFOWVQKYVVQYmZ0bTJKZ1Nxa1Q2NDJ0WTZDWFJpTzl1THdjVnBNZUluaWZBZkRVRmFLa1FjRldGVWVKeVByTXVuUDJ1MgpoL2dvZTljM2lPN1pmSERYWjlrMFptZ0FSZHA3bmhXQ3M0NVZCSElpZ3c0UmJQQkwvZ1lsSTlOcW1Xa1JHc0puCmg3UDUvalVlYlg1V3VISWJqVjNIQjhtNHBpQUlUR0gvcW4zVUorZmxBb0dBVzhYVUx3M3IzU3dBNnZQT2Nia0EKdFRlemVIVmVPN21NRGFacjFuVkZGaVNlUU5qd0ZtQTZHZkR3aDNRZXpLL0tzOTN3S1VudFMzeC9lWG9rKzl6SwpSeHRMbVNiL2trdk5YejJkMVlYUms4L05XbFdtdTN3bHZEVXY4UUt5bjF6QlFLNFRxRUdjMFdOcThrdWZjVCs0CmQ1MlpnMk9xcitpUnFoNDZCZzhUU29FQ2dZRUF5YzZRdkVSdUI2UzdvRWgvRmNiRG5aSW1tWTJGYWdrTXlTSEsKd2F5T1QwdW1ma1lXZEJDWll5QnpkdnZHWkZHczZzaXUweFN1OGdyTFRvYTkxYzVxZW9yNFF2Q0c2VmtCaEx1cQpzdkdZZUZQcWdkZVJmOUhUalUxendYakxXQTJrMFVFeDMwczdCaTVDQUFpV1poTnRKOHRabnlNdmtDRGlpTHV3CnFGL1lvclVDZ1lFQWpWQUFGQ0RGWXZVRWxMUEt2U2Y4K1hBdnR6Y3dKUGZoVmE5dmdYcjZtWnlOL0xWS1BBTmQKVDJLVHc2cStNNkF3cDQ2cFA2bkRiSjBEYVRyZUkxUFVvYlhFZFBnMTBlQjIyL0RNdDBaVlI5WnlCcmFVLzBkQgp6dXhuL21FbUk2NU9NL3RBQzlIblNZQUw3b3hUcVY4NldSTTI4VzNTTS82SFozSUZUVGVoa1ZZPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
    token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4temY1a2QiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNTA4MDcyYzYtNTg4My0xMWU5LThjODUtMDAwYzI5NmNkYzZlIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.YxTu6SH0LswKd0AJMEDXvVsgKWqZSRlAqh_Xhlxt592m2KjfxlNzjHIufa6x44qo7bed9LYsvA03wvD0jIsJcDMadzlnQ_Mw-AUxe8kox6oUHgUbzSAmJg9-WRbhF0eYCq4RA8xB88S4KS2YyW1-XSz4gLf2MEqYZ0zyLqbE_br1Rz5vp9O2oKeVoDzrG18Zp-mdNJrQYWSGvk5ZyUaYT1T53NP3hSFRb2KppCGCP3d9pNZCEQ1x9nUp4nXqBc5wSawCtj83uDzyRtfnJquhqUu-gVsnv2t3WGIQnAwHWom5mW9824moczkISYf9sp8JT-ZSLwnf05s9-1Qv9urAaA



利用admin.conf文件登录
在这里插入图片描述
1554567425003

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值