一起来学k8s 06.安装dashboard
Dashboard Install
Kubernetes Dashboard就是k8s集群的web界面,集合了所有命令行可以操作的所有命令。界面如下所示
环境
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
但是这么安装存在几个问题:
- 镜像国内无法直接访问,需要设置docker代理,才能下载镜像
- 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-dashboardname: kubernetes-dashboardnamespace: kube-systemresourceVersion: "37052"selfLink: /api/v1/namespaces/kube-system/services/kubernetes-dashboarduid: 88d3c228-5878-11e9-8c85-000c296cdc6e
spec:clusterIP: 10.109.71.206ports:- port: 443protocol: TCPtargetPort: 8443selector:k8s-app: kubernetes-dashboardsessionAffinity: 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拦截了,所以得手动配证书
证书
生成证书通过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-dashboardname: kubernetes-dashboard-certsnamespace: kube-system
type: Opaque
在配置文件中,修改service type为nodeport类型,固定访问端口nodePort:30001
vim kubernetes-dashboard.yaml # ------------------- Dashboard Service ------------------- #kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-system
spec:type: NodePortports:- port: 443targetPort: 8443nodePort: 30001selector: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
通过谷歌浏览器可以访问,如下图所示:
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-adminkubernetes.io/service-account.uid: 508072c6-5883-11e9-8c85-000c296cdc6eType: kubernetes.io/service-account-tokenData
====
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
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:6443name: kubernetes
contexts:
- context:cluster: kubernetesuser: kubernetes-adminname: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-adminuser:client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJWGdzZkVBUWpUU3d3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB4T1RBek16QXhPRFUyTURaYUZ3MHlNREF6TWpreE9EVTJNRFphTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXBCQlFQYjJKK3BhNCtrT00KNHVtS1J1UjVJekFtWi9qWEk5QWpyR0J1OWMwSXFUQVI5MjlzMFpHUnRoU0ZrNGtXaGZkbHNNOEVFZGtsb3hzdgowL1NxZWIvWVhpMGR3WXBrcElxMDlkVi9zck1aelNBS0cyaXBkMXovN2VjaVEvYUU5MDJDMzBxcnFPTExPejdOCnZiYmN4cmtyWEwvcFJSK0tWZjRYTzBuOXJuaE05ci9qd0JBVUNzSFZmbXY0OTJSdXFqY3JVUHVBUUpRNmxsdHIKMnZ1cURyRWZOeFR3OVcwK0pPVVZ5SVV4TkV6UEx3YndSL1hjTE9IZG9OcmlUcVFnVWRseXg0TFdwYkJzYkZQcgpZU0xpaDQrRExnWndWOTFIUUkySkliNlFZYjgzWW8rMHRsZlFBaWNCc0Y2R0YwVktmNmlLQTFjRmlDTlV5V3NYCjhhVU5rd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFDNVlKQ3FEQXl3TTlOM2xoVkdjdkthMVNkN090eTEzQWtjZApjSDV4TDhWL2R5TGpTd3MrZHd6MDM1d3ZYVXVNMEtIT0hIcVMrMUkzenFpQW5wSWRNcVFjT3QzOEVGRnhqWnZxClNtYzdDczVVY0I1Znhocm14SnZFZGUvdFQzVmx4V2JHUHN0YUk3ZnRYdGFuQVFlZURBVjA3WHlvOHJqSG5VdFEKQ1ZrSEV5MUxIN3I5eGU3MUh2bzJFendHVzU2ZCtsSGlvK0hOdXdzcHlxZzF4NXF1SGhkYWc4VE9NY1RpcHpJawpndXNPTDF6YXh6bjBSalhsQ21ENmQ0cFR3bGtDVU42L3FaUWVHRkpjZFBBTlk0Y3NUQXdQSDJHS1Mrd2xrcGZECmw0NWpuL2IzSDJ6d2FabTFUK2xYNG1nYXZNR0lENjJTWno1WHNXOXprN3htODdrcmJoMD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBcEJCUVBiMkorcGE0K2tPTTR1bUtSdVI1SXpBbVovalhJOUFqckdCdTljMElxVEFSCjkyOXMwWkdSdGhTRms0a1doZmRsc004RUVka2xveHN2MC9TcWViL1lYaTBkd1lwa3BJcTA5ZFYvc3JNWnpTQUsKRzJpcGQxei83ZWNpUS9hRTkwMkMzMHFycU9MTE96N052YmJjeHJrclhML3BSUitLVmY0WE8wbjlybmhNOXIvagp3QkFVQ3NIVmZtdjQ5MlJ1cWpjclVQdUFRSlE2bGx0cjJ2dXFEckVmTnhUdzlXMCtKT1VWeUlVeE5FelBMd2J3ClIvWGNMT0hkb05yaVRxUWdVZGx5eDRMV3BiQnNiRlByWVNMaWg0K0RMZ1p3VjkxSFFJMkpJYjZRWWI4M1lvKzAKdGxmUUFpY0JzRjZHRjBWS2Y2aUtBMWNGaUNOVXlXc1g4YVVOa3dJREFRQUJBb0lCQVFDWW5hUkhDcDNqd1hscApOSlZHTDhFMW1Tc21sSS9sZ0JHQmV3ajBQUEI3THJPenpzZW55THNOWjhDSUJDY055eVJza21yQ1FwQ2ltY0R0CkxVa2NmaWhuQVJNZzZBOGFEc2I0V1I5azM2bmViY1MraitOWEE5RkErLzRITEU4dnNZNlhEaitEdjA1WDJFRDkKWjdxemsvdGowTFNKbnV3OEpNN21sMnE4K0dOSGU1dFd5cUo4YVJaaXB6UDB3cXZCU2ZsalpvdDFuNHl2alh4SQptM1d0QjY5bmpvRWVnYXdIN1V6SXZmSGNzUnlRejN6akFKTEdFYzA3a0Q1WnhaRlNGNkZudmovcjNCdFZOL0prCndoSXBXdFl2UytOTG5mMEFNbnZjZFplMlplQmJvWU5jVjZqU0RkeDZ3Mm80dmhWdXJHNzlVZDI2SW5DaUdqMGoKa2t4QXhUbGhBb0dCQU1ReGtjK21jQThwOENpR0YwdHJUM3Z0b2xicjRXbDhEbjE3Wng5R1BoZFVXSDhmOE9WcAo5VU1xVHdqYmNVODRUKzRyRG4yTHJkKy9iR2l5d25TR01vbXFwUXd1S3p2eitPQ1BOUkh2T1daYnF0Y2owUnlkCjhHL3NtQm9UaWFNaWVobURwTXZOUlJvd21xTHRjVWJPcFJKYS83MjBma3I3dk5EVmk4c3FidGdYQW9HQkFOWVQKYVVQYmZ0bTJKZ1Nxa1Q2NDJ0WTZDWFJpTzl1THdjVnBNZUluaWZBZkRVRmFLa1FjRldGVWVKeVByTXVuUDJ1MgpoL2dvZTljM2lPN1pmSERYWjlrMFptZ0FSZHA3bmhXQ3M0NVZCSElpZ3c0UmJQQkwvZ1lsSTlOcW1Xa1JHc0puCmg3UDUvalVlYlg1V3VISWJqVjNIQjhtNHBpQUlUR0gvcW4zVUorZmxBb0dBVzhYVUx3M3IzU3dBNnZQT2Nia0EKdFRlemVIVmVPN21NRGFacjFuVkZGaVNlUU5qd0ZtQTZHZkR3aDNRZXpLL0tzOTN3S1VudFMzeC9lWG9rKzl6SwpSeHRMbVNiL2trdk5YejJkMVlYUms4L05XbFdtdTN3bHZEVXY4UUt5bjF6QlFLNFRxRUdjMFdOcThrdWZjVCs0CmQ1MlpnMk9xcitpUnFoNDZCZzhUU29FQ2dZRUF5YzZRdkVSdUI2UzdvRWgvRmNiRG5aSW1tWTJGYWdrTXlTSEsKd2F5T1QwdW1ma1lXZEJDWll5QnpkdnZHWkZHczZzaXUweFN1OGdyTFRvYTkxYzVxZW9yNFF2Q0c2VmtCaEx1cQpzdkdZZUZQcWdkZVJmOUhUalUxendYakxXQTJrMFVFeDMwczdCaTVDQUFpV1poTnRKOHRabnlNdmtDRGlpTHV3CnFGL1lvclVDZ1lFQWpWQUFGQ0RGWXZVRWxMUEt2U2Y4K1hBdnR6Y3dKUGZoVmE5dmdYcjZtWnlOL0xWS1BBTmQKVDJLVHc2cStNNkF3cDQ2cFA2bkRiSjBEYVRyZUkxUFVvYlhFZFBnMTBlQjIyL0RNdDBaVlI5WnlCcmFVLzBkQgp6dXhuL21FbUk2NU9NL3RBQzlIblNZQUw3b3hUcVY4NldSTTI4VzNTTS82SFozSUZUVGVoa1ZZPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4temY1a2QiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNTA4MDcyYzYtNTg4My0xMWU5LThjODUtMDAwYzI5NmNkYzZlIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.YxTu6SH0LswKd0AJMEDXvVsgKWqZSRlAqh_Xhlxt592m2KjfxlNzjHIufa6x44qo7bed9LYsvA03wvD0jIsJcDMadzlnQ_Mw-AUxe8kox6oUHgUbzSAmJg9-WRbhF0eYCq4RA8xB88S4KS2YyW1-XSz4gLf2MEqYZ0zyLqbE_br1Rz5vp9O2oKeVoDzrG18Zp-mdNJrQYWSGvk5ZyUaYT1T53NP3hSFRb2KppCGCP3d9pNZCEQ1x9nUp4nXqBc5wSawCtj83uDzyRtfnJquhqUu-gVsnv2t3WGIQnAwHWom5mW9824moczkISYf9sp8JT-ZSLwnf05s9-1Qv9urAaA
利用admin.conf文件登录
一起来学k8s 06.安装dashboard相关推荐
- 一起来学k8s 07.安装metrics-server和heapster
Metrics-Server Kubernetes从1.8版本开始,CPU.内存等资源的metrics信息可以通过 Metrics API来获取,用户可以直接获取这些metrics信息 环境 192. ...
- Kubernetes-------kubeadm安装dashboard、Harbor私有仓库
K8S kubeadm安装dashboard.Harbor私有仓库 K8S 一.安装dashboard 所有节点安装dashboard 方法一 所有节点上传dashboard镜像 dashboard. ...
- 项目四 CentOS使用kubeadm部署工具部署测试环境的K8s集群---Kubectl命令使用以及安装dashboard界面
大家好,我是SuieKa.在之前呢有幸学习了马哥教育提供的K8s入门指南以及视频.初来乍到,写一篇关于K8s的介绍以及部署测试环境使用的K8s集群. 树 @·K8s入门简单介绍 一.K8s(Kuber ...
- 【Kubernetes】k8s的安全管理详细说明【SA配置、k8s安装dashboard、资源限制(resource、limit、resourcequota)】
文章目录 环境准备 token验证&&kubeconfig验证 role和clusterrole赋权 sa[Service Account] sa总结 1.service accoun ...
- 【K8S】K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本)
写在前面 K8S集群部署成功了,如何对集群进行可视化管理呢?别着急,接下来,我们一起搭建kubernetes-dashboard来解决这个问题. 有关K8S集群的安装可以参考<[K8S]基于单M ...
- 【kubernetes系列之安装Dashboard】
目录 一.安装dashboard 二.集群网络模式 三.查看 Dashboard 暴露外网端口 四.访问dashboard 五.创建账户,生成token kubernetes折腾了好久,终于把Dash ...
- Kubernetes1.91(K8s)安装部署过程(一)--证书安装
安装前忠告:如果你用的是虚拟机,强烈不建议你使用克隆(链接克隆)的方式,至于完整克隆不知道有没有问题,每一台全新安装centos7系统最好. 一.安装前主题环境准备 1.docker安装 建议使用官网 ...
- Kubernetes1.13集群安装dashboard 1.10.1
文章目录 Kubernetes1.13集群安装dashboard 1.10.1 安装dashboard 下载镜像 创建pod 授予Dashboard账户集群管理权限 APIServer方式 查看集群信 ...
- DockerK8s---跟我一步步部署K8s(二进制安装部署)
文章目录 Docker&K8s---跟我一步步部署K8s(二进制安装部署) Kubernetes(K8s)概述 Kubernetes快速入门 四组基本概念 常见的K8s安装部署方式 准备工作 ...
最新文章
- SQL Server 查询性能优化——堆表、碎片与索引(一)
- C# WinForm 技巧十: 开发工具
- qPCR实验疑难杂问解答
- 查询linux信号量命令,linux下的trap命令和SIGHUP信号量详解。
- 数据结构——二叉树的最小深度算法
- 四款常见IT自动化运维工具简单介绍-行云管家
- 进销存软件哪个简单好用?商户必看
- MySQL_where条件查询
- mysql课设体会_课程设计心得体会8篇
- 利用 MAC 自带的 mount_ntfs 工具加载ntfs移动硬盘进行数据读写
- 搞个气氛 用MATLAB画一棵精致的圣诞树
- java个人所得税计算器
- 什么是WebP图片格式?如何在线把Webp格式转换为JPEG格式?
- python中else的作用_享学课堂谈python中else的用途
- 求解二维矩形 Packing 问题的一种优美度枚举 算法的个人心得1
- 智能化软件开发微访谈·第十九期暨2022新年特辑:软件智能化开发:进展与挑战...
- aiaidaxue.com 爱爱大学最新地址发布页
- 第一类第二类贝塞尔函数
- vue中通过css实现旋转地球
- Android Glide 3.7.0 源码解析(八) , RecyclableBufferedInputStream 的 mark/reset 实现